Lines Matching refs:he
209 #define for_each_hash_entry(he, offset, hash) \ argument
210 for (hash &= ~(PV_HE_PER_LINE - 1), he = &pv_lock_hash[hash], offset = 0; \
212 offset++, he = &pv_lock_hash[(hash + offset) & ((1 << pv_lock_hash_bits) - 1)])
217 struct pv_hash_entry *he; in pv_hash() local
220 for_each_hash_entry(he, offset, hash) { in pv_hash()
222 if (!cmpxchg(&he->lock, NULL, lock)) { in pv_hash()
223 WRITE_ONCE(he->node, node); in pv_hash()
225 return &he->lock; in pv_hash()
244 struct pv_hash_entry *he; in pv_unhash() local
247 for_each_hash_entry(he, offset, hash) { in pv_unhash()
248 if (READ_ONCE(he->lock) == lock) { in pv_unhash()
249 node = READ_ONCE(he->node); in pv_unhash()
250 WRITE_ONCE(he->lock, NULL); in pv_unhash()