Lines Matching refs:dccp_hashinfo
48 struct inet_hashinfo dccp_hashinfo;
49 EXPORT_SYMBOL_GPL(dccp_hashinfo);
1131 rc = inet_hashinfo2_init_mod(&dccp_hashinfo);
1135 dccp_hashinfo.bind_bucket_cachep =
1139 if (!dccp_hashinfo.bind_bucket_cachep)
1141 dccp_hashinfo.bind2_bucket_cachep =
1145 if (!dccp_hashinfo.bind2_bucket_cachep)
1170 dccp_hashinfo.ehash_mask = hash_size - 1;
1171 dccp_hashinfo.ehash = (struct inet_ehash_bucket *)
1173 } while (!dccp_hashinfo.ehash && --ehash_order > 0);
1175 if (!dccp_hashinfo.ehash) {
1180 for (i = 0; i <= dccp_hashinfo.ehash_mask; i++)
1181 INIT_HLIST_NULLS_HEAD(&dccp_hashinfo.ehash[i].chain, i);
1183 if (inet_ehash_locks_alloc(&dccp_hashinfo))
1189 dccp_hashinfo.bhash_size = (1UL << bhash_order) * PAGE_SIZE /
1191 if ((dccp_hashinfo.bhash_size > (64 * 1024)) &&
1194 dccp_hashinfo.bhash = (struct inet_bind_hashbucket *)
1196 } while (!dccp_hashinfo.bhash && --bhash_order >= 0);
1198 if (!dccp_hashinfo.bhash) {
1203 dccp_hashinfo.bhash2 = (struct inet_bind_hashbucket *)
1206 if (!dccp_hashinfo.bhash2) {
1211 for (i = 0; i < dccp_hashinfo.bhash_size; i++) {
1212 spin_lock_init(&dccp_hashinfo.bhash[i].lock);
1213 INIT_HLIST_HEAD(&dccp_hashinfo.bhash[i].chain);
1214 spin_lock_init(&dccp_hashinfo.bhash2[i].lock);
1215 INIT_HLIST_HEAD(&dccp_hashinfo.bhash2[i].chain);
1218 dccp_hashinfo.pernet = false;
1247 free_pages((unsigned long)dccp_hashinfo.bhash2, bhash_order);
1249 free_pages((unsigned long)dccp_hashinfo.bhash, bhash_order);
1251 inet_ehash_locks_free(&dccp_hashinfo);
1253 free_pages((unsigned long)dccp_hashinfo.ehash, ehash_order);
1255 kmem_cache_destroy(dccp_hashinfo.bind2_bucket_cachep);
1257 kmem_cache_destroy(dccp_hashinfo.bind_bucket_cachep);
1259 inet_hashinfo2_free_mod(&dccp_hashinfo);
1261 dccp_hashinfo.bhash = NULL;
1262 dccp_hashinfo.bhash2 = NULL;
1263 dccp_hashinfo.ehash = NULL;
1264 dccp_hashinfo.bind_bucket_cachep = NULL;
1265 dccp_hashinfo.bind2_bucket_cachep = NULL;
1271 int bhash_order = get_order(dccp_hashinfo.bhash_size *
1276 free_pages((unsigned long)dccp_hashinfo.bhash, bhash_order);
1277 free_pages((unsigned long)dccp_hashinfo.bhash2, bhash_order);
1278 free_pages((unsigned long)dccp_hashinfo.ehash,
1279 get_order((dccp_hashinfo.ehash_mask + 1) *
1281 inet_ehash_locks_free(&dccp_hashinfo);
1282 kmem_cache_destroy(dccp_hashinfo.bind_bucket_cachep);
1285 inet_hashinfo2_free_mod(&dccp_hashinfo);