Lines Matching full:bucket

93 	struct seg_phash	*p_hashp;	/* our pcache hash bucket */
103 kmutex_t p_hmutex; /* protects hash bucket */
104 pcache_link_t p_halink[2]; /* active bucket linkages */
110 kmutex_t p_hmutex; /* protects hash bucket */
252 * active hash bucket lists. We maintain active bucket lists to reduce the
257 * There're 2 active bucket lists. Current active list (as per seg_pahcur) is
265 * seg_padd_abuck() only adds the bucket to current list if the bucket is not
266 * yet on any list. seg_premove_abuck() may remove the bucket from either
267 * list. If the bucket is on current list it will be always removed. Otherwise
268 * the bucket is only removed if asynchronous purge thread is not currently
270 * itself. A given bucket can only be on one of active lists at a time. These
271 * routines should be called with per bucket lock held. The routines use
273 * the first entry is added to the bucket chain and seg_premove_abuck() must
274 * be called after the last pcp entry is deleted from its chain. Per bucket
276 * when seg_premove_abuck() removes a bucket after pcp entries are added to
277 * its list after the caller checked that the bucket has no entries. (this
278 * race would cause a loss of an active bucket from the active lists).
300 * This bucket can already be on one of active lists in seg_padd_abuck()
317 * If this bucket is still on list !lix async thread can't yet remove in seg_padd_abuck()
318 * it since we hold here per bucket lock. In this case just return in seg_padd_abuck()
319 * since async thread will eventually find and process this bucket. in seg_padd_abuck()
328 * This bucket is not on any active bucket list yet. in seg_padd_abuck()
329 * Add the bucket to the tail of current active list. in seg_padd_abuck()
353 * We are called by asynchronous thread that found this bucket in seg_premove_abuck()
355 * from there. Per bucket lock we are holding makes sure in seg_premove_abuck()
357 * bucket right before we remove the bucket from its list. in seg_premove_abuck()
376 * If the bucket is on currently active list just remove it from in seg_premove_abuck()
393 * If asynchronous thread is not running we can remove the bucket from in seg_premove_abuck()
394 * not currently active list. The bucket must be on this list since we in seg_premove_abuck()
395 * already checked that it's not on the other list and the bucket from in seg_premove_abuck()
397 * active bucket lists. in seg_premove_abuck()
413 * Check if bucket pointed by hp already has a pcp entry that matches request
615 * bucket. Now remove the bucket from in seg_pinactive()
702 * dropped bucket lock) keep the entry that in seg_pinactive()
782 * the same bucket. amp is used instead of seg if amp is not NULL. Non wired
791 * Both hash bucket and per seg/amp locks need to be held before adding a non
1123 * We processed the entire hlix active bucket list in seg_ppurge_async()
1146 * so that we start from hlinkp bucket next time around. in seg_ppurge_async()
1411 * Create one bucket per 32K (or at least per 8 pages) of in seg_pinit()
1451 * Create a bucket per 128K bytes upto 256K buckets. in seg_pinit()