io_uring: replace defer task_work llist with io_wq_work_list
authorJens Axboe <axboe@kernel.dk>
Thu, 21 Nov 2024 16:18:19 +0000 (09:18 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 22 Nov 2024 18:05:06 +0000 (11:05 -0700)
commit2495b8b44a811bb8f2e5b50f4e691a3dbb183e71
treebf78766fad0b96a6baf887f1de6fac4190f167db
parentff401eebd1294c2396bf290d6f1edfe9e7906f91
io_uring: replace defer task_work llist with io_wq_work_list

Add a spinlock for the list, and replace the lockless llist with the
work list instead. This avoids needing to reverse items in the list
before running them, as the io_wq_work_list is FIFO by nature whereas
the llist is LIFO.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/io_uring_types.h
io_uring/io_uring.c
io_uring/io_uring.h