Lines Matching defs:nchains
33 * mechanism to grow the hash. Care must be taken to pick nchains to be large
48 * The number returned need _not_ be between 0 and nchains. The mod_hash
70 * mod_hash_create_strhash(name, nchains, dtor),
75 * mod_hash_create_ptrhash(name, nchains, dtor, key_elem_size):
78 * mod_hash_create_extended(name, nchains, kdtor, vdtor,
243 mod_hash_create_strhash(char *name, size_t nchains,
246 return mod_hash_create_extended(name, nchains, mod_hash_strkey_dtor,
293 mod_hash_create_ptrhash(char *name, size_t nchains,
307 * mod_hash takes hashkey % nchains.
311 return mod_hash_create_extended(name, nchains, mod_hash_null_keydtor,
337 * the hash size, or (key * prime) % nchains.
353 * Generate the next largest prime number greater than nchains; this value
358 mod_hash_iddata_gen(size_t nchains)
363 * Pick the first (odd) prime greater than nchains. Make sure kval is
364 * odd (so start with nchains +1 or +2 as appropriate).
366 kval = (nchains % 2 == 0) ? nchains + 1 : nchains + 2;
382 mod_hash_create_idhash(char *name, size_t nchains,
385 uint_t kval = mod_hash_iddata_gen(nchains);
387 return (mod_hash_create_extended(name, nchains, mod_hash_null_keydtor,
417 * nchains - how many hash slots to create. More hash slots will
428 size_t nchains, /* number of hash slots */
439 if ((mod_hash = kmem_zalloc(MH_SIZE(nchains), sleep)) == NULL)
444 kmem_free(mod_hash, MH_SIZE(nchains));
450 mod_hash->mh_nchains = nchains;