On 6/12/23 11:11?AM, Eric W. Biederman wrote: > Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: > >> On Mon, Jun 12, 2023 at 9:45?AM Jens Axboe <axboe@xxxxxxxxx> wrote: >>> >>> You snipped the suspicion in my reply on why that exists, to avoid >>> io_wq_worker_sleeping() triggering. >> >> I'm not seeing why triggering io_wq_worker_sleeping() should even be a >> problem in the first place. >> >> I suspect that is entirely historical too, and has to do with how it >> used to do that >> >> struct io_worker *worker = kthread_data(tsk); >> struct io_wqe *wqe = worker->wqe; >> >> back in the bad old days of kthreads. >> >> But yeah, I don't know that code. > > If it is a problem it looks like the thread shutdown can clear > "worker->flags & IO_WORKER_F_UP" rather than > "current->flags & PF_IO_WORKER". > > I don't see how it makes sense for the load balancing logic for > a per-process thread pool to be running at that point. Yep that was my thinking too, if we did need it, we could fiddle with the UP flag instead. But as per the previous reply, it should be able to just get removed at this point. -- Jens Axboe