freebsd5/sys/kern/kern_mtxpool.c
/*
 * Return the (shared) pool mutex associated with the specified address.
 * The returned mutex is a leaf level mutex, meaning that if you obtain it
 * you cannot obtain any other mutexes until you release it.  You can
 * legally msleep() on the mutex.
 */
Return the (shared) pool mutex associated with the specified address.
The returned mutex is a leaf level mutex, meaning that if you obtain it
you cannot obtain any other mutexes until you release it.  You can
legally msleep() on the mutex.
Return the ( shared ) pool mutex associated with the specified address . The returned mutex is a leaf level mutex meaning that if you obtain it you cannot obtain any other mutexes until you release it . You can legally msleep () on the mutex .
struct mtx *
mtx_pool_find(struct mtx_pool *pool, void *ptr)
{
	int p;
	KASSERT(pool != NULL, ("_mtx_pool_find(): null pool"));
	p = ((HASH_MULTIPLIER * (uintptr_t)ptr) >> pool->mtx_pool_shift) &
	    pool->mtx_pool_mask;
	return (&pool->mtx_pool_ary[p]);
}
struct mtx * mtx_pool_find ( struct mtx_pool * pool , void * ptr ) { int p ; KASSERT ( pool != NULL , ( " " ) ) ; p = ( ( HASH_MULTIPLIER * ( uintptr_t ) ptr ) >> pool -> mtx_pool_shift ) & pool -> mtx_pool_mask ; return ( & pool -> mtx_pool_ary [ p ] ) ; }
Return the (shared) pool mutex associated with the specified address.
Return the ( shared ) pool mutex associated with the specified address .
/*
	 * Fibonacci hash, see Knuth's
	 * _Art of Computer Programming, Volume 3 / Sorting and Searching_
	 */