问题:
1) 为什么 从用户进程创建内核线程
2) 为什么采用task work的机制
void io_wq_worker_sleeping(struct task_struct *tsk) 增加
https://lkml.org/lkml/2020/8/19/561
2. 增加 cond_resched
[PATCH] io_uring: allow conditional reschedule for intensive iterators
内核不可抢占系统中(如centos系统),在内核态运行的程序可调用cond_resched主动让出cpu,防止其在内核态执行时间过长导致可能发生的soft lockup或者造成较大的调度延迟。