Re: [PATCH v2 2/7] clocksource/drivers/exynos_mct: Don't register as a sched_clock on arm64

From: John Stultz
Date: Wed Apr 02 2025 - 19:52:31 EST


On Wed, Apr 2, 2025 at 4:34 PM 'Will McVicker' via kernel-team
<kernel-team@xxxxxxxxxxx> wrote:
>
> To use the MCT as a sched_clock, the timer value has to be accessed vi
> an MCT register which is extremely slow. To improve performance on Arm64
> SoCs, use the Arm architected timer as the default clocksource. Note, we

Nit: sched_clock is sort of separate from the "default clocksource",
and after this patch we still register MCT as a clocksource, so this
doesn't sound quite right.

I'd probably reword this slightly to:
"The MCT register is unfortunately very slow to access, but importantly
does not halt in the c2 idle state. So for ARM64, we can improve
performance by not registering the MCT for sched_clock, allowing the
system to use the faster ARM architected timer for sched_clock instead.

The MCT is still registered as a clocksource, and a clockevent in order
to be a wakeup source for the arch_timer to exit the "c2" idle state.

Since ARM32 SoCs don't have an architected timer, the MCT must continue
to be used for sched_clock. Detailed discussion on this topic can be
found at [1]. "

> can't completely disable the MCT on Arm64 since it needs to be used as
> the wakeup source for the arch_timer to exit the "c2" idle state.
>
> Since ARM SoCs don't have an architectured timer, the MCT will continue
> to be the default clocksource. Detailed discussion on this topic can be
> found at [1].
>
> [1] https://lore.kernel.org/linux-samsung-soc/1400188079-21832-1-git-send-email-chirantan@xxxxxxxxxxxx/
>
> Signed-off-by: Donghoon Yu <hoony.yu@xxxxxxxxxxx>
> Signed-off-by: Youngmin Nam <youngmin.nam@xxxxxxxxxxx>
> [Original commit from https://android.googlesource.com/kernel/gs/+/630817f7080e92c5e0216095ff52f6eb8dd00727
> Signed-off-by: Will McVicker <willmcvicker@xxxxxxxxxx>
> Reviewed-by: Youngmin Nam <youngmin.nam@xxxxxxxxxxx>

Otherwise, looks good.
Acked-by: John Stultz <jstultz@xxxxxxxxxx>

thanks
-john