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

From: Julia Lawall
Date: Wed Oct 21 2020 - 09:44:48 EST




On Wed, 21 Oct 2020, Peter Zijlstra wrote:

> 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:

/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors :
ondemand performance schedutil
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq : 1197706
/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver : intel_cpufreq
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor : ondemand
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq : 3000000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq : 1200000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed : <unsupported>

>
> $ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo schedutil > $i; done
>
> Are the kworkers gone?

Yes, they are gone. The performance seems to be more uniform and better
with the kworkers, though (see attached traces). This is a very short
benchmark, though.

julia

Attachment: cg2.pdf
Description: Adobe PDF document