The patch titled Subject: kernel/async.c: remove async_unregister_domain() has been added to the -mm tree. Its filename is kernel-asyncc-remove-async_unregister_domain.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/kernel-asyncc-remove-async_unregister_domain.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/kernel-asyncc-remove-async_unregister_domain.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Subject: kernel/async.c: remove async_unregister_domain() No callers in the tree. Link: https://lkml.kernel.org/r/20210309151723.1907838-2-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/async.h | 1 - kernel/async.c | 18 ------------------ 2 files changed, 19 deletions(-) --- a/include/linux/async.h~kernel-asyncc-remove-async_unregister_domain +++ a/include/linux/async.h @@ -112,7 +112,6 @@ async_schedule_dev_domain(async_func_t f return async_schedule_node_domain(func, dev, dev_to_node(dev), domain); } -void async_unregister_domain(struct async_domain *domain); extern void async_synchronize_full(void); extern void async_synchronize_full_domain(struct async_domain *domain); extern void async_synchronize_cookie(async_cookie_t cookie); --- a/kernel/async.c~kernel-asyncc-remove-async_unregister_domain +++ a/kernel/async.c @@ -246,24 +246,6 @@ void async_synchronize_full(void) EXPORT_SYMBOL_GPL(async_synchronize_full); /** - * async_unregister_domain - ensure no more anonymous waiters on this domain - * @domain: idle domain to flush out of any async_synchronize_full instances - * - * async_synchronize_{cookie|full}_domain() are not flushed since callers - * of these routines should know the lifetime of @domain - * - * Prefer ASYNC_DOMAIN_EXCLUSIVE() declarations over flushing - */ -void async_unregister_domain(struct async_domain *domain) -{ - spin_lock_irq(&async_lock); - WARN_ON(!domain->registered || !list_empty(&domain->pending)); - domain->registered = 0; - spin_unlock_irq(&async_lock); -} -EXPORT_SYMBOL_GPL(async_unregister_domain); - -/** * async_synchronize_full_domain - synchronize all asynchronous function within a certain domain * @domain: the domain to synchronize * _ Patches currently in -mm which might be from linux@xxxxxxxxxxxxxxxxxx are kernel-asyncc-fix-pr_debug-statement.patch kernel-credc-make-init_groups-static.patch kernel-asyncc-stop-guarding-pr_debug-statements.patch kernel-asyncc-remove-async_unregister_domain.patch