Re: [PATCH] x86: intel_epb: Add earlyparam option to keep bias at performance

From: Rafael J. Wysocki
Date: Tue Dec 05 2023 - 07:43:30 EST


On Tue, Dec 5, 2023 at 1:32 PM David Woodhouse <dwmw2@xxxxxxxxxxxxx> wrote:
>
> On 5 December 2023 12:31:19 GMT, "Rafael J. Wysocki" <rafael@xxxxxxxxxx> wrote:
> >On Tue, Dec 5, 2023 at 1:15 PM David Woodhouse <dwmw2@xxxxxxxxxxxxx> wrote:
> >>
> >> On 5 December 2023 12:12:09 GMT, "Rafael J. Wysocki" <rafael@xxxxxxxxxx> wrote:
> >> >On Tue, Dec 5, 2023 at 1:00 PM David Woodhouse <dwmw2@xxxxxxxxxxxxx> wrote:
> >> >>
> >> >>
> >> >> Paul writes:
> >> >> > The problem is that this will take effect even on a kexec and hence it is throttling
> >> >> > a system that set ENERGY_PERF_BIAS_PERFORMANCE prior to the kexec. We use kexec to
> >> >> > live update the host kernel of our systems whilst leaving virtual machines running.
> >> >> > This resetting of the perf bias is having a very detrimental effect on the downtime
> >> >> > of our systems across the live update - about a 7 fold increase.
> >> >>
> >> >> It isn't just about kexec, is it? Even in a clean boot why wouldn't we want to stay in performance mode until the kernel has *finished* booting?
> >> >
> >> >Because it may overheat during that period.
> >> >
> >> >> It's literally adding seconds to the startup time in some cases.
> >> >>
> >> >> And yes, we *particularly* care in the kexec case because guests experience it as excessive steal time. But it ain't great in the general case either, surely?
> >> >
> >> >So IMV it would be perfectly fine to add a command line arg to provide
> >> >the initial value of energy_perf_bias for the ones who know what they
> >> >are doing.
> >>
> >> We don't even care about setting it to an "initial value" during boot. We just want to leave it how it was already set up.
> >
> >Which does not work on some systems.
> >
> >The problem here is that the BIOS cannot be trusted to set the initial
> >value that makes sense for the given platform and that's why the code
> >is the way it is.
>
> Yeah, I understand why we have the existing hack. We just need a way to disable it when it's doing the wrong thing.

Fair enough.

So the patch as is makes sense, but I would change the name of the
command line switch to something like intel_epb_no_override.