Lines Matching defs:htbl
1323 static u32 ipoib_addr_hash(struct ipoib_neigh_hash *htbl, u8 *daddr)
1336 return hv & htbl->mask;
1343 struct ipoib_neigh_hash *htbl;
1349 htbl = rcu_dereference_bh(ntbl->htbl);
1351 if (!htbl)
1354 hash_val = ipoib_addr_hash(htbl, daddr);
1355 for (neigh = rcu_dereference_bh(htbl->buckets[hash_val]);
1380 struct ipoib_neigh_hash *htbl;
1389 htbl = rcu_dereference_protected(ntbl->htbl,
1392 if (!htbl)
1399 for (i = 0; i < htbl->size; i++) {
1401 struct ipoib_neigh __rcu **np = &htbl->buckets[i];
1465 struct ipoib_neigh_hash *htbl;
1469 htbl = rcu_dereference_protected(ntbl->htbl,
1471 if (!htbl) {
1479 hash_val = ipoib_addr_hash(htbl, daddr);
1480 for (neigh = rcu_dereference_protected(htbl->buckets[hash_val],
1506 rcu_dereference_protected(htbl->buckets[hash_val],
1508 rcu_assign_pointer(htbl->buckets[hash_val], neigh);
1554 struct ipoib_neigh_hash *htbl;
1559 htbl = rcu_dereference_protected(ntbl->htbl,
1561 if (!htbl)
1564 hash_val = ipoib_addr_hash(htbl, neigh->daddr);
1565 np = &htbl->buckets[hash_val];
1589 struct ipoib_neigh_hash *htbl;
1594 ntbl->htbl = NULL;
1595 htbl = kzalloc(sizeof(*htbl), GFP_KERNEL);
1596 if (!htbl)
1601 kfree(htbl);
1604 htbl->size = size;
1605 htbl->mask = (size - 1);
1606 htbl->buckets = buckets;
1607 RCU_INIT_POINTER(ntbl->htbl, htbl);
1608 htbl->ntbl = ntbl;
1620 struct ipoib_neigh_hash *htbl = container_of(head,
1623 struct ipoib_neigh __rcu **buckets = htbl->buckets;
1624 struct ipoib_neigh_table *ntbl = htbl->ntbl;
1627 kfree(htbl);
1635 struct ipoib_neigh_hash *htbl;
1642 htbl = rcu_dereference_protected(ntbl->htbl,
1645 if (!htbl)
1648 for (i = 0; i < htbl->size; i++) {
1650 struct ipoib_neigh __rcu **np = &htbl->buckets[i];
1675 struct ipoib_neigh_hash *htbl;
1684 htbl = rcu_dereference_protected(ntbl->htbl,
1686 if (!htbl)
1693 for (i = 0; i < htbl->size; i++) {
1695 struct ipoib_neigh __rcu **np = &htbl->buckets[i];
1709 rcu_assign_pointer(ntbl->htbl, NULL);
1710 call_rcu(&htbl->rcu, neigh_hash_free_rcu);