Lines Matching full:count
35 lockcnt->count = 0; in qemu_lockcnt_init()
42 /* *val is the current value of lockcnt->count.
46 * lockcnt->count.
50 * new value of lockcnt->count.
66 *val = qatomic_cmpxchg(&lockcnt->count, expected, new_if_free); in qemu_lockcnt_cmpxchg_or_wait()
86 *val = qatomic_cmpxchg(&lockcnt->count, expected, new); in qemu_lockcnt_cmpxchg_or_wait()
96 qemu_futex_wait(&lockcnt->count, *val); in qemu_lockcnt_cmpxchg_or_wait()
97 *val = qatomic_read(&lockcnt->count); in qemu_lockcnt_cmpxchg_or_wait()
110 qemu_futex_wake_single(&lockcnt->count); in lockcnt_wake()
115 int val = qatomic_read(&lockcnt->count); in qemu_lockcnt_inc()
121 val = qatomic_cmpxchg(&lockcnt->count, val, in qemu_lockcnt_inc()
148 qatomic_sub(&lockcnt->count, QEMU_LOCKCNT_COUNT_STEP); in qemu_lockcnt_dec()
157 int val = qatomic_read(&lockcnt->count); in qemu_lockcnt_dec_and_lock()
164 val = qatomic_cmpxchg(&lockcnt->count, val, in qemu_lockcnt_dec_and_lock()
170 /* If count is going 1->0, take the lock. The fast path is in qemu_lockcnt_dec_and_lock()
206 int val = qatomic_read(&lockcnt->count); in qemu_lockcnt_dec_if_lock()
211 /* If count is going 1->0, take the lock. The fast path is in qemu_lockcnt_dec_if_lock()
240 int val = qatomic_read(&lockcnt->count); in qemu_lockcnt_lock()
262 val = qatomic_read(&lockcnt->count); in qemu_lockcnt_inc_and_unlock()
267 val = qatomic_cmpxchg(&lockcnt->count, val, new); in qemu_lockcnt_inc_and_unlock()
280 val = qatomic_read(&lockcnt->count); in qemu_lockcnt_unlock()
285 val = qatomic_cmpxchg(&lockcnt->count, val, new); in qemu_lockcnt_unlock()
296 return qatomic_read(&lockcnt->count) >> QEMU_LOCKCNT_COUNT_SHIFT; in qemu_lockcnt_count()
302 lockcnt->count = 0; in qemu_lockcnt_init()
314 old = qatomic_read(&lockcnt->count); in qemu_lockcnt_inc()
320 if (qatomic_cmpxchg(&lockcnt->count, old, old + 1) == old) { in qemu_lockcnt_inc()
329 qatomic_dec(&lockcnt->count); in qemu_lockcnt_dec()
338 int val = qatomic_read(&lockcnt->count); in qemu_lockcnt_dec_and_lock()
340 int old = qatomic_cmpxchg(&lockcnt->count, val, val - 1); in qemu_lockcnt_dec_and_lock()
350 if (qatomic_fetch_dec(&lockcnt->count) == 1) { in qemu_lockcnt_dec_and_lock()
367 int val = qatomic_read(&lockcnt->count); in qemu_lockcnt_dec_if_lock()
373 if (qatomic_fetch_dec(&lockcnt->count) == 1) { in qemu_lockcnt_dec_if_lock()
388 qatomic_inc(&lockcnt->count); in qemu_lockcnt_inc_and_unlock()
399 return qatomic_read(&lockcnt->count); in qemu_lockcnt_count()