bucket_table
struct bucket_table *tbl;
struct bucket_table *tbl;
struct bucket_table;
struct bucket_table __rcu *tbl;
struct rhashtable *ht, struct bucket_table *tbl,
struct bucket_table *tbl;
static inline unsigned int rht_bucket_index(const struct bucket_table *tbl,
struct rhashtable *ht, struct bucket_table *tbl,
struct bucket_table *tbl;
struct rhashtable *ht, const struct bucket_table *tbl,
struct rhashtable *ht, const struct bucket_table *tbl,
const struct bucket_table *tbl)
const struct bucket_table *tbl)
const struct bucket_table *tbl)
const struct bucket_table *tbl)
int lockdep_rht_bucket_is_held(const struct bucket_table *tbl, u32 hash);
static inline int lockdep_rht_bucket_is_held(const struct bucket_table *tbl,
const struct bucket_table *tbl, unsigned int hash);
const struct bucket_table *tbl, unsigned int hash);
struct rhashtable *ht, struct bucket_table *tbl, unsigned int hash);
const struct bucket_table *tbl, unsigned int hash)
struct bucket_table *tbl, unsigned int hash)
struct rhashtable *ht, struct bucket_table *tbl, unsigned int hash)
static inline unsigned long rht_lock(struct bucket_table *tbl,
static inline unsigned long rht_lock_nested(struct bucket_table *tbl,
static inline void rht_unlock(struct bucket_table *tbl,
struct bucket_table *tbl,
static inline void rht_assign_unlock(struct bucket_table *tbl,
struct bucket_table *tbl;
struct bucket_table *tbl;
struct bucket_table __rcu *future_tbl;
struct bucket_table *tbl;
static void bucket_table_free(const struct bucket_table *tbl)
struct bucket_table *tbl, *next_tbl;
bucket_table_free(container_of(head, struct bucket_table, rcu));
const struct bucket_table *tbl, unsigned int hash)
const struct bucket_table *tbl, unsigned int hash)
struct rhashtable *ht, struct bucket_table *tbl, unsigned int hash)
static struct bucket_table *nested_bucket_table_alloc(struct rhashtable *ht,
struct bucket_table *tbl;
static struct bucket_table *bucket_table_alloc(struct rhashtable *ht,
struct bucket_table *tbl = NULL;
static struct bucket_table *rhashtable_last_table(struct rhashtable *ht,
struct bucket_table *tbl)
struct bucket_table *new_tbl;
struct bucket_table *old_tbl = rht_dereference(ht->tbl, ht);
struct bucket_table *new_tbl = rhashtable_last_table(ht, old_tbl);
struct bucket_table *old_tbl = rht_dereference(ht->tbl, ht);
struct bucket_table *old_tbl,
struct bucket_table *new_tbl)
if (cmpxchg((struct bucket_table **)&old_tbl->future_tbl, NULL,
struct bucket_table *old_tbl = rht_dereference(ht->tbl, ht);
struct bucket_table *new_tbl;
struct bucket_table *old_tbl,
struct bucket_table *new_tbl;
const struct bucket_table *tbl,
struct bucket_table *old_tbl = rht_dereference(ht->tbl, ht);
struct bucket_table *tbl;
struct bucket_table *tbl)
struct bucket_table *old_tbl;
struct bucket_table *new_tbl;
struct bucket_table *tbl, unsigned int hash,
int lockdep_rht_bucket_is_held(const struct bucket_table *tbl, u32 hash)
static struct bucket_table *rhashtable_insert_one(
struct bucket_table *tbl, unsigned int hash, struct rhash_head *obj,
struct bucket_table *new_tbl;
struct bucket_table *new_tbl;
struct bucket_table *tbl;
const struct bucket_table *tbl)
struct bucket_table *tbl = iter->walker.tbl;
static void nested_bucket_table_free(const struct bucket_table *tbl)
struct bucket_table *tbl = iter->walker.tbl;
const struct bucket_table *tbl;