linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* iowait boost is broken
@ 2021-06-07 16:19 Joel Fernandes
  2021-06-07 19:10 ` Beata Michalska
  0 siblings, 1 reply; 10+ messages in thread
From: Joel Fernandes @ 2021-06-07 16:19 UTC (permalink / raw)
  To: Beata Michalska, Valentin Schneider, Quentin Perret,
	Peter Zijlstra, LKML, Qais Yousef, Vincent Guittot, Viresh Kumar

Hi all,
Looks like iowait boost is completely broken upstream. Just
documenting my findings of iowait boost issues:

1. If a CPU requests iowait boost in a cluster, another CPU can go
ahead and reset very quickly it since it thinks there's no new request
for the iowait boosting CPU
2. If the iowait is longer than a tick, then successive iowait boost
doubling does not happen. So heavy I/O waiting code never gets a
boost.
3. update_load_avg() is triggered right after the the iowait boost
request which makes another cpufreq update request, this request is a
non-iowait boost one so it ends up resetting the iowait boost request
(in the same path!).
4. Same as #3 but due the update_blocked_averages from new idle balance path.

Here is a patch that tries to address these problems and I see better
cpufreq boosting happening, however it is just a test broken patch to
highlight the issues:
https://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git/commit/?h=sched/5.4/iowait-boost-debug-1&id=3627d896d499d168fef9a388e5d6b3359acc3423

I think we ought to rewrite the whole mess instead of fixing it since
a lot has changed in scheduler code over time it feels. Beata is
working on rewriting the whole iowait boost infra, I am glad she has
started the work on this and looking forward to helping with the
patches.

thanks,
 - Joel

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-06-10 18:53 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-07 16:19 iowait boost is broken Joel Fernandes
2021-06-07 19:10 ` Beata Michalska
2021-06-08  9:26   ` Qais Yousef
2021-06-08 17:46   ` Peter Zijlstra
2021-06-09  9:50     ` Quentin Perret
2021-06-10 15:28       ` Qais Yousef
2021-06-10 13:33     ` Beata Michalska
2021-06-08 19:09   ` Joel Fernandes
2021-06-10 13:30     ` Beata Michalska
2021-06-10 18:52       ` Joel Fernandes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).