Header refactoring: unify and de-catchall mutex_pool.
This commit is contained in:
parent
98774e64a4
commit
041e041e1f
@ -2,6 +2,7 @@
|
|||||||
#define JEMALLOC_INTERNAL_EXTENT_EXTERNS_H
|
#define JEMALLOC_INTERNAL_EXTENT_EXTERNS_H
|
||||||
|
|
||||||
#include "jemalloc/internal/mutex.h"
|
#include "jemalloc/internal/mutex.h"
|
||||||
|
#include "jemalloc/internal/mutex_pool.h"
|
||||||
#include "jemalloc/internal/ph.h"
|
#include "jemalloc/internal/ph.h"
|
||||||
#include "jemalloc/internal/rb.h"
|
#include "jemalloc/internal/rb.h"
|
||||||
#include "jemalloc/internal/rtree.h"
|
#include "jemalloc/internal/rtree.h"
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#define JEMALLOC_INTERNAL_EXTENT_INLINES_H
|
#define JEMALLOC_INTERNAL_EXTENT_INLINES_H
|
||||||
|
|
||||||
#include "jemalloc/internal/mutex.h"
|
#include "jemalloc/internal/mutex.h"
|
||||||
#include "jemalloc/internal/mutex_pool_inlines.h"
|
#include "jemalloc/internal/mutex_pool.h"
|
||||||
#include "jemalloc/internal/pages.h"
|
#include "jemalloc/internal/pages.h"
|
||||||
#include "jemalloc/internal/prng.h"
|
#include "jemalloc/internal/prng.h"
|
||||||
#include "jemalloc/internal/ql.h"
|
#include "jemalloc/internal/ql.h"
|
||||||
|
@ -50,7 +50,6 @@
|
|||||||
/* STRUCTS */
|
/* STRUCTS */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
#include "jemalloc/internal/mutex_pool_structs.h"
|
|
||||||
#include "jemalloc/internal/arena_structs_a.h"
|
#include "jemalloc/internal/arena_structs_a.h"
|
||||||
#include "jemalloc/internal/extent_structs.h"
|
#include "jemalloc/internal/extent_structs.h"
|
||||||
#include "jemalloc/internal/base_structs.h"
|
#include "jemalloc/internal/base_structs.h"
|
||||||
@ -76,7 +75,6 @@
|
|||||||
/* INLINES */
|
/* INLINES */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
#include "jemalloc/internal/mutex_pool_inlines.h"
|
|
||||||
#include "jemalloc/internal/jemalloc_internal_inlines_a.h"
|
#include "jemalloc/internal/jemalloc_internal_inlines_a.h"
|
||||||
#include "jemalloc/internal/base_inlines.h"
|
#include "jemalloc/internal/base_inlines.h"
|
||||||
/*
|
/*
|
||||||
|
@ -1,17 +1,21 @@
|
|||||||
#ifndef JEMALLOC_INTERNAL_MUTEX_POOL_INLINES_H
|
#ifndef JEMALLOC_INTERNAL_MUTEX_POOL_H
|
||||||
#define JEMALLOC_INTERNAL_MUTEX_POOL_INLINES_H
|
#define JEMALLOC_INTERNAL_MUTEX_POOL_H
|
||||||
|
|
||||||
#include "jemalloc/internal/hash.h"
|
#include "jemalloc/internal/hash.h"
|
||||||
#include "jemalloc/internal/mutex.h"
|
#include "jemalloc/internal/mutex.h"
|
||||||
#include "jemalloc/internal/mutex_pool_structs.h"
|
|
||||||
#include "jemalloc/internal/witness.h"
|
#include "jemalloc/internal/witness.h"
|
||||||
|
|
||||||
/*
|
/* We do mod reductions by this value, so it should be kept a power of 2. */
|
||||||
* This file really combines "inlines" and "externs", but only transitionally.
|
#define MUTEX_POOL_SIZE 256
|
||||||
*/
|
|
||||||
|
typedef struct mutex_pool_s mutex_pool_t;
|
||||||
|
struct mutex_pool_s {
|
||||||
|
malloc_mutex_t mutexes[MUTEX_POOL_SIZE];
|
||||||
|
};
|
||||||
|
|
||||||
bool mutex_pool_init(mutex_pool_t *pool, const char *name, witness_rank_t rank);
|
bool mutex_pool_init(mutex_pool_t *pool, const char *name, witness_rank_t rank);
|
||||||
|
|
||||||
|
/* Internal helper - not meant to be called outside this module. */
|
||||||
static inline malloc_mutex_t *
|
static inline malloc_mutex_t *
|
||||||
mutex_pool_mutex(mutex_pool_t *pool, uintptr_t key) {
|
mutex_pool_mutex(mutex_pool_t *pool, uintptr_t key) {
|
||||||
size_t hash_result[2];
|
size_t hash_result[2];
|
||||||
@ -87,4 +91,4 @@ mutex_pool_assert_owner(tsdn_t *tsdn, mutex_pool_t *pool, uintptr_t key) {
|
|||||||
malloc_mutex_assert_owner(tsdn, mutex_pool_mutex(pool, key));
|
malloc_mutex_assert_owner(tsdn, mutex_pool_mutex(pool, key));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* JEMALLOC_INTERNAL_MUTEX_POOL_INLINES_H */
|
#endif /* JEMALLOC_INTERNAL_MUTEX_POOL_H */
|
@ -1,16 +0,0 @@
|
|||||||
#ifndef JEMALLOC_INTERNAL_MUTEX_POOL_STRUCTS_H
|
|
||||||
#define JEMALLOC_INTERNAL_MUTEX_POOL_STRUCTS_H
|
|
||||||
|
|
||||||
#include "jemalloc/internal/mutex.h"
|
|
||||||
|
|
||||||
/* This file really combines "structs" and "types", but only transitionally. */
|
|
||||||
|
|
||||||
/* We do mod reductions by this value, so it should be kept a power of 2. */
|
|
||||||
#define MUTEX_POOL_SIZE 256
|
|
||||||
|
|
||||||
typedef struct mutex_pool_s mutex_pool_t;
|
|
||||||
struct mutex_pool_s {
|
|
||||||
malloc_mutex_t mutexes[MUTEX_POOL_SIZE];
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* JEMALLOC_INTERNAL_MUTEX_POOL_STRUCTS_H */
|
|
@ -8,6 +8,7 @@
|
|||||||
#include "jemalloc/internal/ph.h"
|
#include "jemalloc/internal/ph.h"
|
||||||
#include "jemalloc/internal/rtree.h"
|
#include "jemalloc/internal/rtree.h"
|
||||||
#include "jemalloc/internal/mutex.h"
|
#include "jemalloc/internal/mutex.h"
|
||||||
|
#include "jemalloc/internal/mutex_pool.h"
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* Data. */
|
/* Data. */
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include "jemalloc/internal/jemalloc_internal_includes.h"
|
#include "jemalloc/internal/jemalloc_internal_includes.h"
|
||||||
|
|
||||||
#include "jemalloc/internal/mutex.h"
|
#include "jemalloc/internal/mutex.h"
|
||||||
|
#include "jemalloc/internal/mutex_pool.h"
|
||||||
|
|
||||||
bool
|
bool
|
||||||
mutex_pool_init(mutex_pool_t *pool, const char *name, witness_rank_t rank) {
|
mutex_pool_init(mutex_pool_t *pool, const char *name, witness_rank_t rank) {
|
||||||
|
Loading…
Reference in New Issue
Block a user