Lines Matching full:old
32 * int old = atomic_fetch_add_relaxed(r);
33 * // old is INT_MAX, refcount now INT_MIN (0x8000_0000)
34 * if (old < 0)
176 int old = refcount_read(r); in __refcount_add_not_zero() local
179 if (!old) in __refcount_add_not_zero()
181 } while (!atomic_try_cmpxchg_relaxed(&r->refs, &old, old + i)); in __refcount_add_not_zero()
184 *oldp = old; in __refcount_add_not_zero()
186 if (unlikely(old < 0 || old + i < 0)) in __refcount_add_not_zero()
189 return old; in __refcount_add_not_zero()
219 int old = refcount_read(r); in __refcount_add_not_zero_limited_acquire() local
222 if (!old) in __refcount_add_not_zero_limited_acquire()
225 if (i > limit - old) { in __refcount_add_not_zero_limited_acquire()
227 *oldp = old; in __refcount_add_not_zero_limited_acquire()
230 } while (!atomic_try_cmpxchg_acquire(&r->refs, &old, old + i)); in __refcount_add_not_zero_limited_acquire()
233 *oldp = old; in __refcount_add_not_zero_limited_acquire()
235 if (unlikely(old < 0 || old + i < 0)) in __refcount_add_not_zero_limited_acquire()
238 return old; in __refcount_add_not_zero_limited_acquire()
283 int old = atomic_fetch_add_relaxed(i, &r->refs); in __refcount_add() local
286 *oldp = old; in __refcount_add()
288 if (unlikely(!old)) in __refcount_add()
290 else if (unlikely(old < 0 || old + i < 0)) in __refcount_add()
389 int old = atomic_fetch_sub_release(i, &r->refs); in __refcount_sub_and_test() local
392 *oldp = old; in __refcount_sub_and_test()
394 if (old > 0 && old == i) { in __refcount_sub_and_test()
399 if (unlikely(old <= 0 || old - i < 0)) in __refcount_sub_and_test()
455 int old = atomic_fetch_sub_release(1, &r->refs); in __refcount_dec() local
458 *oldp = old; in __refcount_dec()
460 if (unlikely(old <= 1)) in __refcount_dec()