futex_private_hash
struct futex_private_hash __rcu *hash;
struct futex_private_hash *hash_new;
struct futex_private_hash;
__futex_hash(union futex_key *key, struct futex_private_hash *fph, struct futex_private_hash **fph_p);
static bool futex_ref_get(struct futex_private_hash *fph);
static bool futex_ref_put(struct futex_private_hash *fph);
static bool futex_ref_is_dead(struct futex_private_hash *fph);
static bool futex_private_hash_get(struct futex_private_hash *fph)
void futex_private_hash_put(struct futex_private_hash *fph)
__futex_hash_private(union futex_key *key, struct futex_private_hash *fph)
static void __futex_ref_atomic_begin(struct futex_private_hash *fph)
static void __futex_ref_atomic_end(struct futex_private_hash *fph)
static void futex_rehash_private(struct futex_private_hash *old,
struct futex_private_hash *new)
struct futex_private_hash *fph = rcu_dereference_raw(mm->futex.phash.hash);
static void futex_ref_drop(struct futex_private_hash *fph)
static bool futex_ref_get(struct futex_private_hash *fph)
static bool futex_ref_put(struct futex_private_hash *fph)
static bool futex_ref_is_dead(struct futex_private_hash *fph)
struct futex_private_hash *fph;
struct futex_private_hash *fph;
static bool futex_hash_less(struct futex_private_hash *a,
struct futex_private_hash *b)
struct futex_private_hash *fph;
struct futex_private_hash *free __free(kvfree) = NULL;
struct futex_private_hash *cur, *new;
struct futex_private_hash *fph;
struct futex_private_hash *fph;
static bool __futex_pivot_hash(struct mm_struct *mm, struct futex_private_hash *new)
struct futex_private_hash *fph;
struct futex_private_hash *fph;
struct futex_private_hash *futex_private_hash(struct mm_struct *mm)
struct futex_private_hash *fph;
struct futex_private_hash *fph = NULL;
__futex_hash(union futex_key *key, struct futex_private_hash *fph, struct futex_private_hash **fph_p)
struct futex_private_hash *drop_fph;
struct futex_private_hash *fph;
extern struct futex_private_hash *futex_private_hash(struct mm_struct *mm);
extern void futex_private_hash_put(struct futex_private_hash *fph);
static inline struct futex_private_hash *futex_private_hash(struct mm_struct *mm) { return NULL; }
static inline void futex_private_hash_put(struct futex_private_hash *fph) { }
DEFINE_CLASS(private_hash, struct futex_private_hash *,
futex_private_hash(mm), struct mm_struct *mm);
top_waiter->drop_fph = futex_private_hash(key.private.mm);
q->drop_fph = futex_private_hash(key->private.mm);