]> git.baikalelectronics.ru Git - kernel.git/commit
task_work: add helper for more targeted task_work canceling
authorJens Axboe <axboe@kernel.dk>
Fri, 2 Apr 2021 01:53:29 +0000 (19:53 -0600)
committerJens Axboe <axboe@kernel.dk>
Mon, 12 Apr 2021 01:30:25 +0000 (19:30 -0600)
commit4ed0ba11121122a4516bb31a73d6061d014d84ee
tree5747e9fde43bf6665d6a82d1f29640a4b966d676
parent7d9ec661598a9b80a3c7a1a8807dc67cd5a7a880
task_work: add helper for more targeted task_work canceling

The only exported helper we have right now is task_work_cancel(), which
cancels any task_work from a given task where func matches the queued
work item. This is a bit too coarse for some use cases. Add a
task_work_cancel_match() that allows to more specifically target
individual work items outside of purely the callback function used.

task_work_cancel() can be trivially implemented on top of that, hence do
so.

Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/task_work.h
kernel/task_work.c