On 3/15/21 11:01 AM, Stefan Metzmacher wrote: > Hi, > > now that we have an explicit wake_up_new_task() in order to start the > result from create_io_thread(), we should things up before calling > wake_up_new_task(). > > There're also some improvements around task->comm: > - We return 0 bytes for /proc/<pid>/cmdline > - We no longer allow a userspace process to change > /proc/<pid>/[task/<tid>]/comm > - We dynamically generate comm names (up to 63 chars) > via io_wq_worker_comm(), similar to wq_worker_comm() > > While doing this I noticed a few places we check for > PF_KTHREAD, but not PF_IO_WORKER, maybe we should > have something like a PS_IS_KERNEL_THREAD_MASK() macro > that should be used in generic places and only > explicitly use PF_IO_WORKER or PF_KTHREAD checks where the > difference matters. > > There are also quite a number of cases where we use > same_thread_group(), I guess these need to be checked. > Should that return true if userspace threads and their iothreds > are compared? > > I've compiled but didn't test, I hope there's something useful... Looks pretty good to me. Can I talk you into splitting this into a series for 5.12, and then a 5.13 on top? It looks a bit mixed right now. For 5.12, basically just things we absolutely need for release. Any cleanups or improvements on top should go to 5.13. -- Jens Axboe