Re: [PATCH] sched/fair: check for idle core

From: Peter Zijlstra
Date: Wed Oct 21 2020 - 08:52:30 EST


On Wed, Oct 21, 2020 at 02:42:20PM +0200, Julia Lawall wrote:
>
>
> On Wed, 21 Oct 2020, Peter Zijlstra wrote:
>
> > On Wed, Oct 21, 2020 at 01:56:55PM +0200, Julia Lawall wrote:
> > > Prior to 5.8, my machine was using intel_pstate and had few background
> > > tasks. Thus the problem wasn't visible in practice. Starting with 5.8
> > > the kernel decided that intel_cpufreq would be more appropriate, which
> > > introduced kworkers every 0.004 seconds on all cores.
> >
> > That still doesn't make any sense. Are you running the legacy on-demand
> > thing or something?
> >
> > Rafael, Srinivas, Viresh, how come it defaults to that?
>
> The relevant commits are 33aa46f252c7, and 39a188b88332 that fixes a small
> bug. I have a Intel(R) Xeon(R) CPU E7-8870 v4 @ 2.10GHz that does not
> have the HWP feature, even though the cores seemed to be able to change
> their frequencies at the hardware level.

That just makes intel_pstate not prefer active mode. With the clear
intent that it should then go use schedutil, but somehow it looks like
you landed on ondemand, which is absolutely atrocious.

What's:

$ for i in /sys/devices/system/cpu/cpu0/cpufreq/scaling_*; do echo -n $i ": "; cat $i; done

say, for you? And if you do:

$ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo schedutil > $i; done

Are the kworkers gone?