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>
Mon, 22 Feb 2021 00:25:22 +0000 (17:25 -0700)
commit3bfe6106693b6b4ba175ad1f929c4660b8f59ca8
treeaba6783414bf41a0274cc07c5cf4d11912de3ba6
parent6fb8f43cede0e4bd3ead847de78d531424a96be9
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-wq.h
fs/io_uring.c
include/linux/sched.h