struct rhashtable *ht, const struct bucket_table *tbl,
const void *key, const struct rhashtable_params params)
{
- unsigned hash;
+ unsigned int hash;
/* params must be equal to ht->p if it isn't constant. */
if (!__builtin_constant_p(params.key_len))
hash = ht->p.hashfn(key, ht->key_len, tbl->hash_rnd);
else if (params.key_len) {
- unsigned key_len = params.key_len;
+ unsigned int key_len = params.key_len;
if (params.hashfn)
hash = params.hashfn(key, key_len, tbl->hash_rnd);
hash = jhash2(key, key_len / sizeof(u32),
tbl->hash_rnd);
} else {
- unsigned key_len = ht->p.key_len;
+ unsigned int key_len = ht->p.key_len;
if (params.hashfn)
hash = params.hashfn(key, key_len, tbl->hash_rnd);
};
const struct bucket_table *tbl;
struct rhash_head *he;
- unsigned hash;
+ unsigned int hash;
rcu_read_lock();
struct bucket_table *tbl, *new_tbl;
struct rhash_head *head;
spinlock_t *lock;
- unsigned elasticity;
- unsigned hash;
+ unsigned int elasticity;
+ unsigned int hash;
int err;
restart:
struct rhash_head __rcu **pprev;
struct rhash_head *he;
spinlock_t * lock;
- unsigned hash;
+ unsigned int hash;
int err = -ENOENT;
hash = rht_head_hashfn(ht, tbl, obj, params);
return new_tbl;
}
-static int rhashtable_rehash_one(struct rhashtable *ht, unsigned old_hash)
+static int rhashtable_rehash_one(struct rhashtable *ht, unsigned int old_hash)
{
struct bucket_table *old_tbl = rht_dereference(ht->tbl, ht);
struct bucket_table *new_tbl = rhashtable_last_table(ht,
int err = -ENOENT;
struct rhash_head *head, *next, *entry;
spinlock_t *new_bucket_lock;
- unsigned new_hash;
+ unsigned int new_hash;
rht_for_each(entry, old_tbl, old_hash) {
err = 0;
return err;
}
-static void rhashtable_rehash_chain(struct rhashtable *ht, unsigned old_hash)
+static void rhashtable_rehash_chain(struct rhashtable *ht,
+ unsigned int old_hash)
{
struct bucket_table *old_tbl = rht_dereference(ht->tbl, ht);
spinlock_t *old_bucket_lock;
struct bucket_table *old_tbl = rht_dereference(ht->tbl, ht);
struct bucket_table *new_tbl;
struct rhashtable_walker *walker;
- unsigned old_hash;
+ unsigned int old_hash;
new_tbl = rht_dereference(old_tbl->future_tbl, ht);
if (!new_tbl)
static int rhashtable_shrink(struct rhashtable *ht)
{
struct bucket_table *new_tbl, *old_tbl = rht_dereference(ht->tbl, ht);
- unsigned size = roundup_pow_of_two(atomic_read(&ht->nelems) * 3 / 2);
+ unsigned int size;
int err;
ASSERT_RHT_MUTEX(ht);
+ size = roundup_pow_of_two(atomic_read(&ht->nelems) * 3 / 2);
if (size < ht->p.min_size)
size = ht->p.min_size;
static bool rhashtable_check_elasticity(struct rhashtable *ht,
struct bucket_table *tbl,
- unsigned hash)
+ unsigned int hash)
{
- unsigned elasticity = ht->elasticity;
+ unsigned int elasticity = ht->elasticity;
struct rhash_head *head;
rht_for_each(head, tbl, hash)
struct bucket_table *tbl)
{
struct rhash_head *head;
- unsigned hash;
+ unsigned int hash;
int err;
tbl = rhashtable_last_table(ht, tbl);