Re: [patch 01/10] x86/aperfmperf: Dont wake idle CPUs in arch_freq_get_on_cpu()

Rafael J. Wysocki
2022-04-19T15:35:30Z

On Fri, Apr 15, 2022 at 9:19 PM Thomas Gleixner <tglx@linutronix.de> 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@linutronix.de>

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

> ---
> 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);
>
>