patch 1/2 provides a new option to set up sq_thread_idle in nanosecond granularity. patch 2/2 is to cut down IO latency when sqthread is waking up. This is a RFC, especially 2/2. There may be more works to do, like add a REGISTER OP to allow applications to adjust sq_thread_idle, since it may experience both high IO pressure and low IO pressure. And in low IO pressure, patch 1/2 saves cpu resource while keeping a reasonable latency. liburing tweak is ready as well, but currently I'd like to just post this for comments. Hao Xu (2): io_uring: add support for ns granularity of io_sq_thread_idle io_uring: submit sqes in the original context when waking up sqthread fs/io_uring.c | 88 ++++++++++++++++++++++++++++++++----------- include/uapi/linux/io_uring.h | 4 +- 2 files changed, 70 insertions(+), 22 deletions(-) -- 1.8.3.1