Lines Matching refs:hash

166 	if (!bat_priv->dat.hash)  in __batadv_dat_purge()
169 for (i = 0; i < bat_priv->dat.hash->size; i++) { in __batadv_dat_purge()
170 head = &bat_priv->dat.hash->table[i]; in __batadv_dat_purge()
171 list_lock = &bat_priv->dat.hash->list_locks[i]; in __batadv_dat_purge()
287 u32 hash = 0; in batadv_hash_dat() local
295 hash += key[i]; in batadv_hash_dat()
296 hash += (hash << 10); in batadv_hash_dat()
297 hash ^= (hash >> 6); in batadv_hash_dat()
303 hash += key[i]; in batadv_hash_dat()
304 hash += (hash << 10); in batadv_hash_dat()
305 hash ^= (hash >> 6); in batadv_hash_dat()
308 hash += (hash << 3); in batadv_hash_dat()
309 hash ^= (hash >> 11); in batadv_hash_dat()
310 hash += (hash << 15); in batadv_hash_dat()
312 return hash % size; in batadv_hash_dat()
330 struct batadv_hashtable *hash = bat_priv->dat.hash; in batadv_dat_entry_hash_find() local
333 if (!hash) in batadv_dat_entry_hash_find()
339 index = batadv_hash_dat(&to_find, hash->size); in batadv_dat_entry_hash_find()
340 head = &hash->table[index]; in batadv_dat_entry_hash_find()
395 hash_added = batadv_hash_add(bat_priv->dat.hash, batadv_compare_dat, in batadv_dat_entry_add()
566 struct batadv_hashtable *hash = bat_priv->orig_hash; in batadv_choose_next_candidate() local
578 for (i = 0; i < hash->size; i++) { in batadv_choose_next_candidate()
579 head = &hash->table[i]; in batadv_choose_next_candidate()
793 if (!bat_priv->dat.hash) in batadv_dat_hash_free()
798 batadv_hash_destroy(bat_priv->dat.hash); in batadv_dat_hash_free()
800 bat_priv->dat.hash = NULL; in batadv_dat_hash_free()
811 if (bat_priv->dat.hash) in batadv_dat_init()
814 bat_priv->dat.hash = batadv_hash_new(1024); in batadv_dat_init()
816 if (!bat_priv->dat.hash) in batadv_dat_init()
900 struct batadv_hashtable *hash, unsigned int bucket, in batadv_dat_cache_dump_bucket() argument
906 spin_lock_bh(&hash->list_locks[bucket]); in batadv_dat_cache_dump_bucket()
907 cb->seq = atomic_read(&hash->generation) << 1 | 1; in batadv_dat_cache_dump_bucket()
909 hlist_for_each_entry(dat_entry, &hash->table[bucket], hash_entry) { in batadv_dat_cache_dump_bucket()
914 spin_unlock_bh(&hash->list_locks[bucket]); in batadv_dat_cache_dump_bucket()
923 spin_unlock_bh(&hash->list_locks[bucket]); in batadv_dat_cache_dump_bucket()
940 struct batadv_hashtable *hash; in batadv_dat_cache_dump() local
951 hash = bat_priv->dat.hash; in batadv_dat_cache_dump()
959 while (bucket < hash->size) { in batadv_dat_cache_dump()
960 if (batadv_dat_cache_dump_bucket(msg, portid, cb, hash, bucket, in batadv_dat_cache_dump()