Re: [PATCH v1] cpufreq: Avoid creating sysfs link for offline CPUs

From: Zihuan Zhang
Date: Mon Jul 21 2025 - 12:02:29 EST



在 2025/7/21 23:51, Rafael J. Wysocki 写道:
On Mon, Jul 21, 2025 at 5:37 PM Zihuan Zhang <zzhwaxy.kernel@xxxxxxxxx> wrote:
Currently, cpufreq_add_dev() attempts to create a sysfs link
even when the target CPU is offline. Although guarded by a NULL
check on cpufreq_policy, this behavior is not strictly correct,
since offline CPUs shouldn't have their sysfs interface created.
Why?


Thanks for the comment.

The idea was to avoid unnecessary sysfs operations for CPUs that are offline, even though the existing checks make it safe. But I understand it's not strictly needed — I'm fine with dropping it.

This patch cleans up the logic to only add the sysfs link
when the CPU is online and cpufreq policy is properly initialized.
I don't really think that this change is necessary. Thanks!

Signed-off-by: Zihuan Zhang <zzhwaxy.kernel@xxxxxxxxx>
---
drivers/cpufreq/cpufreq.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index d7426e1d8bdd..0a77892d366c 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1660,12 +1660,12 @@ static int cpufreq_add_dev(struct device *dev, struct subsys_interface *sif)
ret = cpufreq_online(cpu);
if (ret)
return ret;
- }

- /* Create sysfs link on CPU registration */
- policy = per_cpu(cpufreq_cpu_data, cpu);
- if (policy)
- add_cpu_dev_symlink(policy, cpu, dev);
+ /* Create sysfs link on CPU registration */
+ policy = per_cpu(cpufreq_cpu_data, cpu);
+ if (policy)
+ add_cpu_dev_symlink(policy, cpu, dev);
+ }

return 0;
}
--