On 3/14/25 18:48, Jens Axboe wrote:
By default, io_uring marks a waiting task as being in iowait, if it's sleeping waiting on events and there are pending requests. This isn't necessarily always useful, and may be confusing on non-storage setups where iowait isn't expected. It can also cause extra power usage, by
I think this passage hints on controlling iowait stats, and in my opinion we shouldn't conflate stats and optimisations. Global iowait stats is there to stay, but ideally we want to never account io_uring as iowait. That's while there were talks about removing optimisation toggle at all (and do it as internal cpufreq magic, I suppose). How about posing it as an optimisation option only and that iowait stat is a side effect that can change. Explicitly spelling that in the commit message and in a comment on top of the flag in an attempt to avoid the uapi regression trap. We'd also need it in the option's man when it's written. And I'd also add "hint" to the flag name, like IORING_ENTER_HINT_NO_IOWAIT, as we might need to nop it if anything changes on the cpufreq side. -- Pavel Begunkov