Re: [PATCH 2/3] arm64: smp: Implement cpus_has_pending_ipi()

Sudeep Holla
2025-10-06T10:54:31Z

On Fri, Oct 03, 2025 at 05:02:44PM +0200, Ulf Hansson wrote:
> To add support for keeping track of whether there may be a pending IPI
> scheduled for a CPU or a group of CPUs, let's implement
> cpus_has_pending_ipi() for arm64.
>
> Note, the implementation is intentionally lightweight and doesn't use any
> additional lock. This is good enough for cpuidle based decisions.
>

I’m not completely against this change, but I’d like to discuss a few points
based on my understanding (which might also be incorrect):

1. For systems that don’t use PM domains for idle, wouldn’t this be
unnecessary? It might be worth making this conditional if we decide to
proceed.

2. I understand this is intended for the DragonBoard 410c, where the firmware
can’t be updated. However, ideally, the PSCI firmware should handle checking
for pending IPIs if that’s important for the platform. The firmware could
perform this check at the CPU PPU/HW level and prevent entering the
state if needed.

3. I’m not an expert, but on systems with a large number of CPUs, tracking
this for idle (which may or may not be enabled) seems a bit excessive,
especially under heavy load when the system isn’t really idling.

--
Regards,
Sudeep