io_uring: batch task work locking
authorPavel Begunkov <asml.silence@gmail.com>
Wed, 18 Aug 2021 11:42:46 +0000 (12:42 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 23 Aug 2021 19:13:04 +0000 (13:13 -0600)
commitf237c30a5610d35a584f3296d397b93d80ce374e
treef2cbf701db225fbaa3d3402ec02d72002acd81b1
parent5636c00d3e8ef1f6d1291e71edb48f727ba5a999
io_uring: batch task work locking

Many task_work handlers either grab ->uring_lock, or may benefit from
having it. Move locking logic out of individual handlers to a lazy
approach controlled by tctx_task_work(), so we don't keep doing
tons of mutex lock/unlock.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/d6a34e147f2507a2f3e2fa1e38a9c541dcad3929.1629286357.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c