Lines Matching refs:count
52 _refcount_update_saturated(volatile u_int *count) in _refcount_update_saturated() argument
55 panic("refcount %p wraparound", count); in _refcount_update_saturated()
57 atomic_store_int(count, REFCOUNT_SATURATION_VALUE); in _refcount_update_saturated()
62 refcount_init(volatile u_int *count, u_int value) in refcount_init() argument
66 atomic_store_int(count, value); in refcount_init()
70 refcount_load(volatile u_int *count) in refcount_load() argument
72 return (atomic_load_int(count)); in refcount_load()
76 refcount_acquire(volatile u_int *count) in refcount_acquire() argument
80 old = atomic_fetchadd_int(count, 1); in refcount_acquire()
82 _refcount_update_saturated(count); in refcount_acquire()
88 refcount_acquiren(volatile u_int *count, u_int n) in refcount_acquiren() argument
94 old = atomic_fetchadd_int(count, n); in refcount_acquiren()
96 _refcount_update_saturated(count); in refcount_acquiren()
102 refcount_acquire_checked(volatile u_int *count) in refcount_acquire_checked() argument
106 old = atomic_load_int(count); in refcount_acquire_checked()
110 if (__predict_true(atomic_fcmpset_int(count, &old, in refcount_acquire_checked()
121 refcount_acquire_if_gt(volatile u_int *count, u_int n) in refcount_acquire_if_gt() argument
125 old = atomic_load_int(count); in refcount_acquire_if_gt()
131 if (atomic_fcmpset_int(count, &old, old + 1)) in refcount_acquire_if_gt()
137 refcount_acquire_if_not_zero(volatile u_int *count) in refcount_acquire_if_not_zero() argument
140 return (refcount_acquire_if_gt(count, 0)); in refcount_acquire_if_not_zero()
144 refcount_releasen(volatile u_int *count, u_int n) in refcount_releasen() argument
152 old = atomic_fetchadd_int(count, -n); in refcount_releasen()
154 _refcount_update_saturated(count); in refcount_releasen()
171 refcount_release(volatile u_int *count) in refcount_release() argument
174 return (refcount_releasen(count, 1)); in refcount_release()
179 _refcount_release_if_##name(volatile u_int *count, u_int n) \
184 old = atomic_load_int(count); \
190 if (atomic_fcmpset_rel_int(count, &old, old - 1)) \
198 refcount_release_if_gt(volatile u_int *count, u_int n) in refcount_release_if_gt() argument
201 return (_refcount_release_if_gt(count, n)); in refcount_release_if_gt()
205 refcount_release_if_last(volatile u_int *count) in refcount_release_if_last() argument
208 if (_refcount_release_if_eq(count, 1)) { in refcount_release_if_last()
217 refcount_release_if_not_last(volatile u_int *count) in refcount_release_if_not_last() argument
220 return (_refcount_release_if_gt(count, 1)); in refcount_release_if_not_last()