From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
Rafael Wysocki <rjw@rjwysocki.net>
Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org
Subject: Re: [PATCH 06/10] cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate()
Date: Fri, 26 Jun 2015 12:50:52 +0530 [thread overview]
Message-ID: <558CFD54.7050005@linux.vnet.ibm.com> (raw)
In-Reply-To: <88c876acc1389b613a7721afdd369d60841f93e9.1434959517.git.viresh.kumar@linaro.org>
On 06/22/2015 01:32 PM, Viresh Kumar wrote:
> 'timer_mutex' is required to sync work-handlers of policy->cpus.
> update_sampling_rate() is just canceling the works and queuing them
> again. This isn't protecting anything at all in update_sampling_rate()
> and is not gonna be of any use.
>
> Even if a work-handler is already running for a CPU,
> cancel_delayed_work_sync() will wait for it to finish.
>
> Drop these unnecessary locks.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
> ---
> drivers/cpufreq/cpufreq_ondemand.c | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
> index 774bbddae2c9..841e1fa96ee7 100644
> --- a/drivers/cpufreq/cpufreq_ondemand.c
> +++ b/drivers/cpufreq/cpufreq_ondemand.c
> @@ -267,28 +267,20 @@ static void update_sampling_rate(struct dbs_data *dbs_data,
> dbs_info = &per_cpu(od_cpu_dbs_info, cpu);
> cpufreq_cpu_put(policy);
>
> - mutex_lock(&dbs_info->cdbs.ccdbs->timer_mutex);
> -
> - if (!delayed_work_pending(&dbs_info->cdbs.dwork)) {
> - mutex_unlock(&dbs_info->cdbs.ccdbs->timer_mutex);
> + if (!delayed_work_pending(&dbs_info->cdbs.dwork))
> continue;
> - }
>
> next_sampling = jiffies + usecs_to_jiffies(new_rate);
> appointed_at = dbs_info->cdbs.dwork.timer.expires;
>
> if (time_before(next_sampling, appointed_at)) {
> -
> - mutex_unlock(&dbs_info->cdbs.ccdbs->timer_mutex);
> cancel_delayed_work_sync(&dbs_info->cdbs.dwork);
> - mutex_lock(&dbs_info->cdbs.ccdbs->timer_mutex);
>
> gov_queue_work(dbs_data, policy,
> usecs_to_jiffies(new_rate),
> cpumask_of(cpu));
>
> }
> - mutex_unlock(&dbs_info->cdbs.ccdbs->timer_mutex);
> }
> }
>
next prev parent reply other threads:[~2015-06-26 7:21 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-22 8:02 [PATCH 00/10] cpufreq: governor: Further cleanups (v4.3) Viresh Kumar
2015-06-22 8:02 ` [PATCH 01/10] cpufreq: Use __func__ to print function's name Viresh Kumar
2015-06-23 15:39 ` Preeti U Murthy
2015-06-22 8:02 ` [PATCH 02/10] cpufreq: conservative: Avoid races with transition notifier Viresh Kumar
2015-06-23 15:53 ` Preeti U Murthy
2015-06-24 1:11 ` Viresh Kumar
2015-06-25 7:59 ` Viresh Kumar
2015-06-22 8:02 ` [PATCH 03/10] cpufreq: conservative: remove 'enable' field Viresh Kumar
2015-06-26 5:57 ` Preeti U Murthy
2015-06-26 6:19 ` Viresh Kumar
2015-06-22 8:02 ` [PATCH 04/10] cpufreq: ondemand: only queue canceled works from update_sampling_rate() Viresh Kumar
2015-06-26 6:50 ` Preeti U Murthy
2015-06-26 7:28 ` Viresh Kumar
2015-06-22 8:02 ` [PATCH 05/10] cpufreq: governor: Drop __gov_queue_work() Viresh Kumar
2015-06-26 7:03 ` Preeti U Murthy
2015-06-26 7:32 ` Viresh Kumar
2015-06-22 8:02 ` [PATCH 06/10] cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate() Viresh Kumar
2015-06-26 7:20 ` Preeti U Murthy [this message]
2015-06-22 8:02 ` [PATCH 07/10] cpufreq: ondemand: queue work for policy->cpus together Viresh Kumar
2015-06-26 8:28 ` Preeti U Murthy
2015-06-26 8:52 ` Viresh Kumar
2015-06-22 8:02 ` [PATCH 08/10] cpufreq: ondemand: update sampling rate immidiately Viresh Kumar
2015-06-22 8:02 ` [PATCH 09/10] cpufreq: governor: Quit work-handlers early if governor is stopped Viresh Kumar
2015-06-22 8:02 ` [PATCH 10/10] cpufreq: Get rid of ->governor_enabled and its lock Viresh Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=558CFD54.7050005@linux.vnet.ibm.com \
--to=preeti@linux.vnet.ibm.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-pm@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.