Re: [patch 01/10] x86/aperfmperf: Dont wake idle CPUs in arch_freq_get_on_cpu()
From: Rafael J. Wysocki
Date: Tue Apr 19 2022 - 11:35:30 EST
On Fri, Apr 15, 2022 at 9:19 PM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> aperfmperf_get_khz() already excludes idle CPUs from APERF/MPERF sampling
> and that's a reasonable decision. There is no point in sending up to two
> IPIs to an idle CPU just because someone reads a sysfs file.
>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> ---
> arch/x86/kernel/cpu/aperfmperf.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> --- a/arch/x86/kernel/cpu/aperfmperf.c
> +++ b/arch/x86/kernel/cpu/aperfmperf.c
> @@ -139,6 +139,9 @@ unsigned int arch_freq_get_on_cpu(int cp
> if (!housekeeping_cpu(cpu, HK_TYPE_MISC))
> return 0;
>
> + if (rcu_is_idle_cpu(cpu))
> + return 0;
> +
> if (aperfmperf_snapshot_cpu(cpu, ktime_get(), true))
> return per_cpu(samples.khz, cpu);
>
>