[PATCH v4 01/38] clocksource/drivers/arm_arch_timer: Initialize evtstrm after finalizing cpucaps

Catalin Marinas catalin.marinas at arm.com
Tue Oct 24 09:22:37 PDT 2023


On Tue, Oct 24, 2023 at 05:02:30PM +0200, Daniel Lezcano wrote:
> On 16/10/2023 12:24, Mark Rutland wrote:
> > We attempt to initialize each CPU's arch_timer event stream in
> > arch_timer_evtstrm_enable(), which we call from the
> > arch_timer_starting_cpu() cpu hotplug callback which is registered early
> > in boot. As this is registered before we initialize the system cpucaps,
> > the test for ARM64_HAS_ECV will always be false for CPUs present at boot
> > time, and will only be taken into account for CPUs onlined late
> > (including those which are hotplugged out and in again).
> > 
> > Due to this, CPUs present and boot time may not use the intended divider
> > and scale factor to generate the event stream, and may differ from other
> > CPUs.
> > 
> > Correct this by only initializing the event stream after cpucaps have been
> > finalized, registering a separate CPU hotplug callback for the event stream
> > configuration. Since the caps must be finalized by this point, use
> > cpus_have_final_cap() to verify this.
> > 
> > Signed-off-by: Mark Rutland <mark.rutland at arm.com>
> > Acked-by: Marc Zyngier <maz at kernel.org>
> > Acked-by: Thomas Gleixner <tglx at linutronix.de>
> > Cc: Catalin Marinas <catalin.marinas at arm.com>
> > Cc: Daniel Lezcano <daniel.lezcano at linaro.org>
> > Cc: Suzuki K Poulose <suzuki.poulose at arm.com>
> > Cc: Will Deacon <will at kernel.org>
> 
> May I consider picking this patch or shall it go with the series?

It has been queued already on the arm64 for-next/cpus_have_const_cap
branch.

Thanks.

-- 
Catalin



More information about the linux-arm-kernel mailing list