Lines Matching refs:cnts
46 int cnts;
48 cnts = atomic_read(&lock->cnts);
49 if (likely(!(cnts & _QW_WMASK))) {
50 cnts = (u32)atomic_add_return_acquire(_QR_BIAS, &lock->cnts);
51 if (likely(!(cnts & _QW_WMASK)))
53 atomic_sub(_QR_BIAS, &lock->cnts);
65 int cnts;
67 cnts = atomic_read(&lock->cnts);
68 if (unlikely(cnts))
71 return likely(atomic_try_cmpxchg_acquire(&lock->cnts, &cnts,
80 int cnts;
82 cnts = atomic_add_return_acquire(_QR_BIAS, &lock->cnts);
83 if (likely(!(cnts & _QW_WMASK)))
96 int cnts = 0;
98 if (likely(atomic_try_cmpxchg_acquire(&lock->cnts, &cnts, _QW_LOCKED)))
113 (void)atomic_sub_return_release(_QR_BIAS, &lock->cnts);