diff mbox series

[v3,01/10] drivers base/arch_topology: free cpumask cpus_to_visit

Message ID 20170727193312.9849-2-dietmar.eggemann@arm.com
State Superseded
Headers show
Series [v3,01/10] drivers base/arch_topology: free cpumask cpus_to_visit | expand

Commit Message

Dietmar Eggemann July 27, 2017, 7:33 p.m. UTC
Free cpumask cpus_to_visit in case registering
init_cpu_capacity_notifier has failed or the parsing of the cpu
capacity-dmips-mhz property is done. The cpumask cpus_to_visit is
only used inside the notifier call init_cpu_capacity_callback.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Juri Lelli <juri.lelli@arm.com>
Reported-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>

Acked-by: Vincent Guittot <vincent.guittot@linaro.org>

Tested-by: Juri Lelli <juri.lelli@arm.com>

Reviewed-by: Juri Lelli <juri.lelli@arm.com>

---
 drivers/base/arch_topology.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

-- 
2.11.0

Comments

Juri Lelli Aug. 1, 2017, 10:56 a.m. UTC | #1
Hi Greg,

On 28/07/17 12:51, Viresh Kumar wrote:
> On 27-07-17, 20:33, Dietmar Eggemann wrote:

> > Free cpumask cpus_to_visit in case registering

> > init_cpu_capacity_notifier has failed or the parsing of the cpu

> > capacity-dmips-mhz property is done. The cpumask cpus_to_visit is

> > only used inside the notifier call init_cpu_capacity_callback.

> > 

> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

> > Cc: Juri Lelli <juri.lelli@arm.com>

> > Reported-by: Vincent Guittot <vincent.guittot@linaro.org>

> > Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>

> > Acked-by: Vincent Guittot <vincent.guittot@linaro.org>

> > Tested-by: Juri Lelli <juri.lelli@arm.com>

> > Reviewed-by: Juri Lelli <juri.lelli@arm.com>

> > ---

> >  drivers/base/arch_topology.c | 12 ++++++++++--

> >  1 file changed, 10 insertions(+), 2 deletions(-)

> 

> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>


This is actually a fix/optimization which is orthogonal to the rest of
the set. Would it make sense to take only this for now and keep
reviewing the other patches?

Thanks,

- Juri
diff mbox series

Patch

diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
index d1c33a85059e..562e0c93ae52 100644
--- a/drivers/base/arch_topology.c
+++ b/drivers/base/arch_topology.c
@@ -206,6 +206,8 @@  static struct notifier_block init_cpu_capacity_notifier = {
 
 static int __init register_cpufreq_notifier(void)
 {
+	int ret;
+
 	/*
 	 * on ACPI-based systems we need to use the default cpu capacity
 	 * until we have the necessary code to parse the cpu capacity, so
@@ -221,8 +223,13 @@  static int __init register_cpufreq_notifier(void)
 
 	cpumask_copy(cpus_to_visit, cpu_possible_mask);
 
-	return cpufreq_register_notifier(&init_cpu_capacity_notifier,
-					 CPUFREQ_POLICY_NOTIFIER);
+	ret = cpufreq_register_notifier(&init_cpu_capacity_notifier,
+					CPUFREQ_POLICY_NOTIFIER);
+
+	if (ret)
+		free_cpumask_var(cpus_to_visit);
+
+	return ret;
 }
 core_initcall(register_cpufreq_notifier);
 
@@ -230,6 +237,7 @@  static void parsing_done_workfn(struct work_struct *work)
 {
 	cpufreq_unregister_notifier(&init_cpu_capacity_notifier,
 					 CPUFREQ_POLICY_NOTIFIER);
+	free_cpumask_var(cpus_to_visit);
 }
 
 #else