io-wq: fork worker threads from original task
authorJens Axboe <axboe@kernel.dk>
Tue, 16 Feb 2021 21:15:30 +0000 (14:15 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 19 Feb 2021 17:02:35 +0000 (10:02 -0700)
commit6ca22ba592d9350387a05de2ba3b85d2d4f2c3c7
tree0b8ba89cea3d97332b6b556431a215b4707f84e0
parent6d08ba11febc4bb56ba5af16fec006f3ca8349c6
io-wq: fork worker threads from original task

Instead of using regular kthread kernel threads, create kernel threads
that are like a real thread that the task would create. This ensures that
we get all the context that we need, without having to carry that state
around. This greatly reduces the code complexity, and the risk of missing
state for a given request type.

With the move away from kthread, we can also dump everything related to
assigned state to the new threads.

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