From: Kent Overstreet Date: Sat, 4 Mar 2023 07:39:39 +0000 (-0500) Subject: closures: closure_nr_remaining() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=48b7935722b8403fec0469ba3dafc5a0af08225d;p=linux.git closures: closure_nr_remaining() Factor out a new helper, which returns the number of events outstanding. Signed-off-by: Kent Overstreet --- diff --git a/include/linux/closure.h b/include/linux/closure.h index 36b4a83f9b774..722a586bb2244 100644 --- a/include/linux/closure.h +++ b/include/linux/closure.h @@ -172,6 +172,11 @@ void __closure_wake_up(struct closure_waitlist *list); bool closure_wait(struct closure_waitlist *list, struct closure *cl); void __closure_sync(struct closure *cl); +static inline unsigned closure_nr_remaining(struct closure *cl) +{ + return atomic_read(&cl->remaining) & CLOSURE_REMAINING_MASK; +} + /** * closure_sync - sleep until a closure a closure has nothing left to wait on * @@ -180,7 +185,7 @@ void __closure_sync(struct closure *cl); */ static inline void closure_sync(struct closure *cl) { - if ((atomic_read(&cl->remaining) & CLOSURE_REMAINING_MASK) != 1) + if (closure_nr_remaining(cl) != 1) __closure_sync(cl); }