Merge tag 'io_uring-worker.v3-2021-02-25' of git://git.kernel.dk/linux-block
Pull io_uring thread rewrite from Jens Axboe: "This converts the io-wq workers to be forked off the tasks in question instead of being kernel threads that assume various bits of the original task identity. This kills > 400 lines of code from io_uring/io-wq, and it's the worst part of the code. We've had several bugs in this area, and the worry is always that we could be missing some pieces for file types doing unusual things (recent /dev/tty example comes to mind, userfaultfd reads installing file descriptors is another fun one... - both of which need special handling, and I bet it's not the last weird oddity we'll find). With these identical workers, we can have full confidence that we're never missing anything. That, in itself, is a huge win. Outside of that, it's also more efficient since we're not wasting space and code on tracking state, or switching between different states. I'm sure we're go...
Showing
- arch/alpha/kernel/process.c 1 addition, 1 deletionarch/alpha/kernel/process.c
- arch/arc/kernel/process.c 1 addition, 1 deletionarch/arc/kernel/process.c
- arch/arm/kernel/process.c 1 addition, 1 deletionarch/arm/kernel/process.c
- arch/arm64/kernel/process.c 1 addition, 1 deletionarch/arm64/kernel/process.c
- arch/csky/kernel/process.c 1 addition, 1 deletionarch/csky/kernel/process.c
- arch/h8300/kernel/process.c 1 addition, 1 deletionarch/h8300/kernel/process.c
- arch/hexagon/kernel/process.c 1 addition, 1 deletionarch/hexagon/kernel/process.c
- arch/ia64/kernel/process.c 1 addition, 1 deletionarch/ia64/kernel/process.c
- arch/m68k/kernel/process.c 1 addition, 1 deletionarch/m68k/kernel/process.c
- arch/microblaze/kernel/process.c 1 addition, 1 deletionarch/microblaze/kernel/process.c
- arch/mips/kernel/process.c 1 addition, 1 deletionarch/mips/kernel/process.c
- arch/nds32/kernel/process.c 1 addition, 1 deletionarch/nds32/kernel/process.c
- arch/nios2/kernel/process.c 1 addition, 1 deletionarch/nios2/kernel/process.c
- arch/openrisc/kernel/process.c 1 addition, 1 deletionarch/openrisc/kernel/process.c
- arch/parisc/kernel/process.c 1 addition, 1 deletionarch/parisc/kernel/process.c
- arch/powerpc/kernel/process.c 1 addition, 1 deletionarch/powerpc/kernel/process.c
- arch/riscv/kernel/process.c 1 addition, 1 deletionarch/riscv/kernel/process.c
- arch/s390/kernel/process.c 1 addition, 1 deletionarch/s390/kernel/process.c
- arch/sh/kernel/process_32.c 1 addition, 1 deletionarch/sh/kernel/process_32.c
- arch/sparc/kernel/process_32.c 1 addition, 1 deletionarch/sparc/kernel/process_32.c
Please register or sign in to comment