]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
io_uring: remove unconditional looping in local task_work handling
authorJens Axboe <axboe@kernel.dk>
Wed, 31 Jan 2024 17:50:08 +0000 (10:50 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 8 Feb 2024 20:27:06 +0000 (13:27 -0700)
commit9fe3eaea4a3530ca34a8d8ff00b1848c528789ca
treed09be909889d4d87d147b24843f7393e7e5fb4d1
parent670d9d3df8808b39430ade7a04b38363971167f5
io_uring: remove unconditional looping in local task_work handling

If we have a ton of notifications coming in, we can be looping in here
for a long time. This can be problematic for various reasons, mostly
because we can starve userspace. If the application is waiting on N
events, then only re-run if we need more events.

Fixes: c0e0d6ba25f1 ("io_uring: add IORING_SETUP_DEFER_TASKRUN")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring.c