Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Tue, 14 Jun 2022 15:51:47 +0200 | Subject | Re: [PATCH 3/3] cpufreq: Drop unnecessary cpus locking from store() |
| |
On Thu, May 26, 2022 at 1:51 PM Viresh Kumar <viresh.kumar@linaro.org> wrote: > > This change was introduced long back by: > > commit 4f750c930822 ("cpufreq: Synchronize the cpufreq store_*() routines with CPU hotplug") > > Since then, both cpufreq and hotplug core have been reworked and have > much better locking in place. The race mentioned in commit 4f750c930822 > isn't possible anymore. > > Drop the unnecessary locking. > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > --- > drivers/cpufreq/cpufreq.c | 19 ++++--------------- > 1 file changed, 4 insertions(+), 15 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c > index 53d163a84e06..bb237d1ce5e7 100644 > --- a/drivers/cpufreq/cpufreq.c > +++ b/drivers/cpufreq/cpufreq.c > @@ -973,21 +973,10 @@ static ssize_t store(struct kobject *kobj, struct attribute *attr, > if (!fattr->store) > return -EIO; > > - /* > - * cpus_read_trylock() is used here to work around a circular lock > - * dependency problem with respect to the cpufreq_register_driver(). > - */ > - if (!cpus_read_trylock()) > - return -EBUSY; > - > - if (cpu_online(policy->cpu)) { > - down_write(&policy->rwsem); > - if (likely(!policy_is_inactive(policy))) > - ret = fattr->store(policy, buf, count); > - up_write(&policy->rwsem); > - } > - > - cpus_read_unlock(); > + down_write(&policy->rwsem); > + if (likely(!policy_is_inactive(policy))) > + ret = fattr->store(policy, buf, count); > + up_write(&policy->rwsem); > > return ret; > } > --
Applied along with the [1/3] as 5.20 material, thanks!
| |