Header refactoring: unify and de-catchall mutex_pool.

This commit is contained in:
David Goldblatt 2017-05-23 14:56:24 -07:00 committed by David Goldblatt
parent 98774e64a4
commit 041e041e1f
7 changed files with 15 additions and 26 deletions

View File

@ -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"

View File

@ -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"

View File

@ -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"
/* /*

View File

@ -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 */

View File

@ -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 */

View File

@ -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. */

View File

@ -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) {