Messages in this thread Patch in this message | | | From | Yajun Deng <> | Subject | [PATCH] completion: introduce complete_put() helper function | Date | Mon, 6 Dec 2021 12:03:19 +0800 |
| |
There are many cases where it is necessary to decrease refcount and test, then called complete(). So introduce complete_put() helper function.
Signed-off-by: Yajun Deng <yajun.deng@linux.dev> --- kernel/sched/completion.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/kernel/sched/completion.c b/kernel/sched/completion.c index a778554f9dad..dcb737f1edc2 100644 --- a/kernel/sched/completion.c +++ b/kernel/sched/completion.c @@ -38,6 +38,13 @@ void complete(struct completion *x) } EXPORT_SYMBOL(complete); +void complete_put(refcount_t *r, struct completion *x) +{ + if (refcount_dec_and_test(r)) + complete(x); +} +EXPORT_SYMBOL(complete_put); + /** * complete_all: - signals all threads waiting on this completion * @x: holds the state of this particular completion -- 2.32.0
| |