[PATCH 0/3] arm64: Fix cpuidle with pseudo-NMI enabled

Sudeep Holla sudeep.holla at arm.com
Thu Jun 10 10:43:52 PDT 2021


On Thu, Jun 10, 2021 at 05:28:23PM +0100, Lorenzo Pieralisi wrote:
> On Tue, Jun 08, 2021 at 06:27:12PM +0100, Marc Zyngier wrote:
> > It appears that although cpu_do_idle() is correctly dealing with the
> > PMR/DAIF duality, the PSCI cpu-suspend code has been left unaware of
> > it.
> > 
> > On a system that uses PSCI for idle (such as the Ampere Altra I have
> > access to), the kernel dies as soon as it enters idle (interrupts are
> > off at the GIC CPU interface level). Boo.
> 

[...]

> I wonder whether this arm_cpuidle_{save,restore}_context() should
> be moved into the gic_cpu_pm_notifier() itself - which would
> solve also the PSCI suspend issue Sudeep raised - it would be
> a bit ugly though (CPU PM notifiers are run in S2R and CPUidle

+1 if possible, I hadn't fully understood the issue to make this
suggestion. But yes if possible, we must to honour the abstraction even
though PSCI is the only user 😄.

> automatically and this would work for any S2R/CPUidle backend
> other than PSCI even though that does not/will never exist on
> arm64 ;-))
>

I almost wrote the same thing in my earlier email and deleted 😉 before
sending.

--
Regards,
Sudeep



More information about the linux-arm-kernel mailing list