Lines Matching refs:hash_lock

1553 	kmutex_t *hash_lock = BUF_HASH_LOCK(idx);
1556 mutex_enter(hash_lock);
1560 *lockp = hash_lock;
1564 mutex_exit(hash_lock);
1580 kmutex_t *hash_lock = BUF_HASH_LOCK(idx);
1589 *lockp = hash_lock;
1590 mutex_enter(hash_lock);
1592 ASSERT(MUTEX_HELD(hash_lock));
2149 kmutex_t *hash_lock;
2160 hash_lock = HDR_LOCK(hdr);
2161 mutex_enter(hash_lock);
2167 mutex_exit(hash_lock);
2174 * the hash_lock must be held or the hdr must be undiscoverable. This
2500 remove_reference(arc_buf_hdr_t *hdr, kmutex_t *hash_lock, void *tag)
2506 ASSERT(state == arc_anon || MUTEX_HELD(hash_lock));
2528 kmutex_t *hash_lock)
2556 ASSERT(MUTEX_HELD(hash_lock));
2849 * hold the hash_lock or be undiscoverable.
3136 * hold the hash_lock or be undiscoverable.
3548 kmutex_t *hash_lock = HDR_LOCK(hdr);
3558 mutex_enter(hash_lock);
3561 ASSERT3P(hash_lock, ==, HDR_LOCK(hdr));
3565 (void) remove_reference(hdr, hash_lock, tag);
3567 mutex_exit(hash_lock);
3583 arc_evict_hdr(arc_buf_hdr_t *hdr, kmutex_t *hash_lock)
3590 ASSERT(MUTEX_HELD(hash_lock));
3621 arc_change_state(arc_l2c_only, hdr, hash_lock);
3629 arc_change_state(arc_anon, hdr, hash_lock);
3684 arc_change_state(evicted_state, hdr, hash_lock);
3700 kmutex_t *hash_lock;
3745 hash_lock = HDR_LOCK(hdr);
3756 ASSERT(!MUTEX_HELD(hash_lock));
3758 if (mutex_tryenter(hash_lock)) {
3759 uint64_t evicted = arc_evict_hdr(hdr, hash_lock);
3760 mutex_exit(hash_lock);
3811 * it can't get a hash_lock on, and so, may not catch all candidates.
5029 arc_access(arc_buf_hdr_t *hdr, kmutex_t *hash_lock)
5033 ASSERT(MUTEX_HELD(hash_lock));
5046 arc_change_state(arc_mru, hdr, hash_lock);
5087 arc_change_state(arc_mfu, hdr, hash_lock);
5112 arc_change_state(new_state, hdr, hash_lock);
5146 arc_change_state(new_state, hdr, hash_lock);
5156 arc_change_state(arc_mfu, hdr, hash_lock);
5173 * Avoid taking the hash_lock when possible as an optimization.
5174 * The header must be checked again under the hash_lock in order
5183 kmutex_t *hash_lock = HDR_LOCK(hdr);
5184 mutex_enter(hash_lock);
5187 mutex_exit(hash_lock);
5199 arc_access(hdr, hash_lock);
5200 mutex_exit(hash_lock);
5257 kmutex_t *hash_lock = NULL;
5279 &hash_lock);
5284 ASSERT3P(hash_lock, !=, NULL);
5308 if (hash_lock && no_zio_error && hdr->b_l1hdr.b_state == arc_anon) {
5315 arc_access(hdr, hash_lock);
5361 ASSERT(callback_cnt < 2 || hash_lock != NULL);
5379 arc_change_state(arc_anon, hdr, hash_lock);
5386 * Broadcast before we drop the hash_lock to avoid the possibility
5392 if (hash_lock != NULL) {
5393 mutex_exit(hash_lock);
5458 kmutex_t *hash_lock = NULL;
5473 hdr = buf_hash_find(guid, bp, &hash_lock);
5502 cv_wait(&hdr->b_l1hdr.b_cv, hash_lock);
5503 mutex_exit(hash_lock);
5524 mutex_exit(hash_lock);
5527 mutex_exit(hash_lock);
5572 arc_access(hdr, hash_lock);
5577 mutex_exit(hash_lock);
5604 exists = buf_hash_insert(hdr, &hash_lock);
5608 mutex_exit(hash_lock);
5641 arc_access(hdr, hash_lock);
5784 if (hash_lock != NULL)
5785 mutex_exit(hash_lock);
5801 if (hash_lock != NULL)
5802 mutex_enter(hash_lock);
5825 if (hash_lock != NULL)
5826 mutex_exit(hash_lock);
5844 kmutex_t *hash_lock;
5849 hdr = buf_hash_find(guid, bp, &hash_lock);
5877 arc_change_state(arc_anon, hdr, hash_lock);
5879 mutex_exit(hash_lock);
5881 mutex_exit(hash_lock);
5934 kmutex_t *hash_lock = HDR_LOCK(hdr);
5935 mutex_enter(hash_lock);
5938 * This assignment is only valid as long as the hash_lock is
5943 ASSERT3P(hash_lock, ==, HDR_LOCK(hdr));
5981 (void) remove_reference(hdr, hash_lock, tag);
6054 mutex_exit(hash_lock);
6081 arc_change_state(arc_anon, hdr, hash_lock);
6083 mutex_exit(hash_lock);
6262 kmutex_t *hash_lock;
6268 exists = buf_hash_insert(hdr, &hash_lock);
6281 arc_change_state(arc_anon, exists, hash_lock);
6282 mutex_exit(hash_lock);
6284 exists = buf_hash_insert(hdr, &hash_lock);
6303 arc_access(hdr, hash_lock);
6304 mutex_exit(hash_lock);
7305 kmutex_t *hash_lock;
7330 hash_lock = HDR_LOCK(hdr);
7337 if (!mutex_tryenter(hash_lock)) {
7361 mutex_enter(hash_lock);
7362 mutex_exit(hash_lock);
7395 mutex_exit(hash_lock);
7420 kmutex_t *hash_lock;
7433 hash_lock = HDR_LOCK(hdr);
7434 mutex_enter(hash_lock);
7435 ASSERT3P(hash_lock, ==, HDR_LOCK(hdr));
7475 mutex_exit(hash_lock);
7508 mutex_exit(hash_lock);
7511 mutex_exit(hash_lock);
7571 kmutex_t *hash_lock;
7601 hash_lock = HDR_LOCK(hdr);
7608 if (!mutex_tryenter(hash_lock)) {
7614 mutex_enter(hash_lock);
7615 mutex_exit(hash_lock);
7634 mutex_exit(hash_lock);
7645 arc_change_state(arc_anon, hdr, hash_lock);
7662 mutex_exit(hash_lock);
7725 kmutex_t *hash_lock;
7734 hash_lock = HDR_LOCK(hdr);
7735 if (!mutex_tryenter(hash_lock)) {
7748 mutex_exit(hash_lock);
7754 mutex_exit(hash_lock);
7775 mutex_exit(hash_lock);
7852 mutex_exit(hash_lock);