On 2024-02-24 07:29, Jens Axboe wrote: > On 2/23/24 10:07 PM, David Wei wrote: >> From: David Wei <davidhwei@xxxxxxxx> >> >> Sync include/liburing/io_uring.h and add io_uring_register_iowait() >> helper function. >> >> Currently we unconditionally account time spent waiting for events in CQ >> ring as iowait time. >> >> Some userspace tools consider iowait time to be CPU util/load which can >> be misleading as the process is sleeping. High iowait time might be >> indicative of issues for storage IO, but for network IO e.g. socket >> recv() we do not control when the completions happen so its value >> misleads userspace tooling. >> >> Add io_uring_register_iowait() which gates the previously unconditional >> iowait accounting. By default time is not accounted as iowait, unless >> this is explicitly enabled for a ring. Thus userspace can decide, >> depending on the type of work it expects to do, whether it wants to >> consider cqring wait time as iowait or not. > > This looks fine, would you be up for writing the man page? If not. I can > do it. Oh shoot I totally forgot about that. Yeah, I'll write one up.