Re: [PATCH 4/4] sched/fair: Use a recently used CPU as an idle candidate and the basis for SIS
From: Peter Zijlstra
Date: Wed Jan 31 2018 - 05:17:31 EST
On Wed, Jan 31, 2018 at 10:22:49AM +0100, Rafael J. Wysocki wrote:
> On Tuesday, January 30, 2018 2:15:31 PM CET Peter Zijlstra wrote:
> > IA32_HWP_REQUEST has "Minimum_Performance", "Maximum_Performance" and
> > "Desired_Performance" fields which can be used to give explicit
> > frequency hints. And we really _should_ be doing that.
> >
> > Because, esp. in this scenario; a task migrating; the hardware really
> > can't do anything sensible, whereas the OS _knows_.
>
> But IA32_HWP_REQUEST is not a cheap MSR to write to.
That just means we might need to throttle writing to it, like it already
does for the regular pstate (PERF_CTRL) msr in any case (also, is that a
cheap msr?)
Not touching it at all seems silly.
But now that you made me look, intel_pstate_hwp_set() is horrible crap.
You should _never_ do things like:
rdmsr_on_cpu()
/* frob value */
wrmsr_on_cpu()
That's insane.