From 297b60346df8beafee954a0fd7c2d64f33f3b9bc Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Sat, 11 May 2024 01:44:05 +0000 Subject: [PATCH] rtl8211F_led_control --- kernel/arch/x86/kernel/cpu/aperfmperf.c | 22 ++++++++++++++++------ 1 files changed, 16 insertions(+), 6 deletions(-) diff --git a/kernel/arch/x86/kernel/cpu/aperfmperf.c b/kernel/arch/x86/kernel/cpu/aperfmperf.c index 7eba34d..e2f319d 100644 --- a/kernel/arch/x86/kernel/cpu/aperfmperf.c +++ b/kernel/arch/x86/kernel/cpu/aperfmperf.c @@ -1,18 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * x86 APERF/MPERF KHz calculation for * /sys/.../cpufreq/scaling_cur_freq * * Copyright (C) 2017 Intel Corp. * Author: Len Brown <len.brown@intel.com> - * - * This file is licensed under GPLv2. */ #include <linux/delay.h> #include <linux/ktime.h> #include <linux/math64.h> #include <linux/percpu.h> +#include <linux/cpufreq.h> #include <linux/smp.h> +#include <linux/sched/isolation.h> #include "cpu.h" @@ -82,7 +83,10 @@ if (!cpu_khz) return 0; - if (!static_cpu_has(X86_FEATURE_APERFMPERF)) + if (!boot_cpu_has(X86_FEATURE_APERFMPERF)) + return 0; + + if (!housekeeping_cpu(cpu, HK_FLAG_MISC)) return 0; aperfmperf_snapshot_cpu(cpu, ktime_get(), true); @@ -98,12 +102,15 @@ if (!cpu_khz) return; - if (!static_cpu_has(X86_FEATURE_APERFMPERF)) + if (!boot_cpu_has(X86_FEATURE_APERFMPERF)) return; - for_each_online_cpu(cpu) + for_each_online_cpu(cpu) { + if (!housekeeping_cpu(cpu, HK_FLAG_MISC)) + continue; if (!aperfmperf_snapshot_cpu(cpu, now, false)) wait = true; + } if (wait) msleep(APERFMPERF_REFRESH_DELAY_MS); @@ -114,7 +121,10 @@ if (!cpu_khz) return 0; - if (!static_cpu_has(X86_FEATURE_APERFMPERF)) + if (!boot_cpu_has(X86_FEATURE_APERFMPERF)) + return 0; + + if (!housekeeping_cpu(cpu, HK_FLAG_MISC)) return 0; if (aperfmperf_snapshot_cpu(cpu, ktime_get(), true)) -- Gitblit v1.6.2