Messages in this thread | | | Date | Sat, 1 Apr 2023 22:44:58 +0200 | Subject | Re: [PATCH v1] thermal: core: Clean up thermal_list_lock locking | From | Daniel Lezcano <> |
| |
On 22/03/2023 20:34, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > Once thermal_list_lock has been acquired in > __thermal_cooling_device_register(), it is not necessary to drop it > and take it again until all of the thermal zones have been updated, > so change the code accordingly. > > No expected functional impact. > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > ---
Looks good to me, shall I pick it in my branch ?
> drivers/thermal/thermal_core.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > Index: linux-pm/drivers/thermal/thermal_core.c > =================================================================== > --- linux-pm.orig/drivers/thermal/thermal_core.c > +++ linux-pm/drivers/thermal/thermal_core.c > @@ -826,8 +826,6 @@ static void bind_cdev(struct thermal_coo > const struct thermal_zone_params *tzp; > struct thermal_zone_device *pos = NULL; > > - mutex_lock(&thermal_list_lock); > - > list_for_each_entry(pos, &thermal_tz_list, node) { > if (!pos->tzp && !pos->ops->bind) > continue; > @@ -854,8 +852,6 @@ static void bind_cdev(struct thermal_coo > tzp->tbp[i].weight); > } > } > - > - mutex_unlock(&thermal_list_lock); > } > > /** > @@ -933,17 +929,17 @@ __thermal_cooling_device_register(struct > > /* Add 'this' new cdev to the global cdev list */ > mutex_lock(&thermal_list_lock); > + > list_add(&cdev->node, &thermal_cdev_list); > - mutex_unlock(&thermal_list_lock); > > /* Update binding information for 'this' new cdev */ > bind_cdev(cdev); > > - mutex_lock(&thermal_list_lock); > list_for_each_entry(pos, &thermal_tz_list, node) > if (atomic_cmpxchg(&pos->need_update, 1, 0)) > thermal_zone_device_update(pos, > THERMAL_EVENT_UNSPECIFIED); > + > mutex_unlock(&thermal_list_lock); > > return cdev; > > >
-- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
| |