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

Daniel Lezcano daniel.lezcano at linaro.org
Tue Oct 24 09:27:18 PDT 2023


On 24/10/2023 18:22, Catalin Marinas wrote:
> 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.

Noted, thanks

-- 
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog




More information about the linux-arm-kernel mailing list