Re: [PATCH v2] arch: arm64: add early_param idle=<wfi|yield|nop>

From: Will Deacon

Date: Tue Aug 04 2026 - 11:36:40 EST


On Fri, Jul 31, 2026 at 09:32:04PM +0200, Yureka Lilian wrote:
> On 7/31/26 18:16, Will Deacon wrote:
> > What do you think about a funny sort of hybrid approach where:
> >
> > * We have idle=, but it really only affects the idle loop
> > * We have a cpu_errata entry to detect (based on the MIDR) this CPU
> > and then avoid patching in the WFIT instructions (i.e. don't detect
> > the ARM64_HAS_WFXT capability).
> >
> > I think that would solve the case for you, as well as giving others finer
> > grained control over the idle implementation and adding the infrastructure
> > we need to handle a CPU with broken wfit.
>
> The idle param portion, if implemented like you say only affecting the idle
> loop, should be rather uncontroversial.
>
> Getting the other part of it (the WFIT in the delay function) right is much
> more difficult, but it also has less of an performance / efficiency impact
> if it's a bit on the conservative side and we can find a good solution
> independently of the idle param.

Thinking about this some more, why isn't the WFIT side handled with an
idreg override? If we extend the ID_AA64ISAR2_EL1 override entry in
arch/arm64/kernel/pi/idreg-override.c to include wfxt, then you can
nobble that on the cmdline as well.

Will