Lines Matching refs:ntbl
75 static void nested_table_free(union nested_table *ntbl, unsigned int size)
81 ntbl = rcu_dereference_protected(ntbl->table, 1);
82 if (!ntbl)
88 nested_table_free(ntbl + i, size);
91 kfree(ntbl);
98 union nested_table *ntbl;
101 ntbl = nested_table_top(tbl);
104 nested_table_free(ntbl + i, size);
106 kfree(ntbl);
126 union nested_table *ntbl;
129 ntbl = rcu_dereference(*prev);
130 if (ntbl)
131 return ntbl;
133 ntbl = alloc_hooks_tag(ht->alloc_tag,
136 if (ntbl && leaf) {
137 for (i = 0; i < PAGE_SIZE / sizeof(ntbl[0]); i++)
138 INIT_RHT_NULLS_HEAD(ntbl[i].bucket);
141 if (cmpxchg((union nested_table **)prev, NULL, ntbl) == NULL)
142 return ntbl;
144 kfree(ntbl);
1191 union nested_table *ntbl;
1193 ntbl = nested_table_top(tbl);
1194 ntbl = rht_dereference_bucket_rcu(ntbl[index].table, tbl, hash);
1197 while (ntbl && size > (1 << shift)) {
1199 ntbl = rht_dereference_bucket_rcu(ntbl[index].table,
1205 if (!ntbl)
1208 return &ntbl[subhash].bucket;
1230 union nested_table *ntbl;
1232 ntbl = nested_table_top(tbl);
1234 ntbl = nested_table_alloc(ht, &ntbl[index].table,
1237 while (ntbl && size > (1 << shift)) {
1241 ntbl = nested_table_alloc(ht, &ntbl[index].table,
1245 if (!ntbl)
1248 return &ntbl[hash].bucket;