Messages in this thread Patch in this message | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH] cpufreq: Avoid unnecessary locking in show() and store() | Date | Fri, 12 Feb 2016 17:10:09 +0100 |
| |
On Friday, February 12, 2016 09:28:29 PM Viresh Kumar wrote: > On 12-02-16, 14:18, Rafael J. Wysocki wrote: > > Well, having a check that never fails is certainly unuseful. > > > > > So, even we may want to add a WARN_ON() for that case instead. > > > > I can add WARN_ON()s just fine. > > What about dropping the check completely ?
Fine by me.
--- From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Subject: [PATCH] cpufreq: Drop unnecessary checks from show() and store()
The show() and store() routines in the cpufreq core don't need to check if the struct freq_attr they want to use really provides the callbacks they need as expected (if that's not the case, it means a bug in the code anyway), so change them to avoid doing that.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> --- drivers/cpufreq/cpufreq.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-)
Index: linux-pm/drivers/cpufreq/cpufreq.c =================================================================== --- linux-pm.orig/drivers/cpufreq/cpufreq.c +++ linux-pm/drivers/cpufreq/cpufreq.c @@ -863,12 +863,7 @@ static ssize_t show(struct kobject *kobj ssize_t ret; down_read(&policy->rwsem); - - if (fattr->show) - ret = fattr->show(policy, buf); - else - ret = -EIO; - + ret = fattr->show(policy, buf); up_read(&policy->rwsem); return ret; @@ -883,18 +878,12 @@ static ssize_t store(struct kobject *kob get_online_cpus(); - if (!cpu_online(policy->cpu)) - goto unlock; - - down_write(&policy->rwsem); - - if (fattr->store) + if (cpu_online(policy->cpu)) { + down_write(&policy->rwsem); ret = fattr->store(policy, buf, count); - else - ret = -EIO; + up_write(&policy->rwsem); + } - up_write(&policy->rwsem); -unlock: put_online_cpus(); return ret;
| |