All of lore.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org,
	preeti.lkml@gmail.com, open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH V2 2/9] cpufreq: conservative: remove 'enable' field
Date: Tue, 8 Sep 2015 07:03:09 +0530	[thread overview]
Message-ID: <20150908013309.GX26760@linux> (raw)
In-Reply-To: <2910194.KRcaApdNFO@vostro.rjw.lan>

On 08-09-15, 02:17, Rafael J. Wysocki wrote:
> >  static inline unsigned int get_freq_target(struct cs_dbs_tuners *cs_tuners,
> >  					   struct cpufreq_policy *policy)
> >  {
> > @@ -119,12 +132,14 @@ static int dbs_cpufreq_notifier(struct notifier_block *nb, unsigned long val,
> >  	struct cpufreq_freqs *freq = data;
> >  	struct cs_cpu_dbs_info_s *dbs_info =
> >  					&per_cpu(cs_cpu_dbs_info, freq->cpu);
> > -	struct cpufreq_policy *policy;
> > +	struct cpufreq_policy *policy = cpufreq_cpu_get(freq->cpu);
> >  
> > -	if (!dbs_info->enable)
> > +	if (!policy)
> >  		return 0;
> >  
> > -	policy = dbs_info->cdbs.shared->policy;
> 
> So here we could get to the policy directly.  After the change we have to:
> 
> - acquire cpufreq_rwsem
> - acquire cpufreq_driver_lock
> - go the kobject_get on policy->kobj

Hmm, actually we can do cpufreq_cpu_get_raw() here as this is getting
called from notifier and policy isn't going to get freed for sure.

And then it wouldn't be that bad.

> and then finally drop the reference to the kobject when we're done.
> 
> So may I ask where exactly is the improvement?

Agree. Let me resend it quickly.

> > +	/* policy isn't governed by conservative governor */
> > +	if (policy->governor != &cpufreq_gov_conservative)
> > +		goto policy_put;
> >  
> >  	/*
> >  	 * we only care if our internally tracked freq moves outside the 'valid'
> 
> Thanks,
> Rafael

-- 
viresh

  reply	other threads:[~2015-09-08  1:33 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-27 12:28 [PATCH V2 0/9] CPUFreq: governors: further cleanups Viresh Kumar
2015-07-27 12:28 ` [PATCH V2 1/9] cpufreq: Use __func__ to print function's name Viresh Kumar
2015-07-27 12:28   ` Viresh Kumar
2015-09-07 23:42   ` Rafael J. Wysocki
2015-07-27 12:28 ` [PATCH V2 2/9] cpufreq: conservative: remove 'enable' field Viresh Kumar
2015-07-27 12:28   ` Viresh Kumar
2015-09-08  0:17   ` Rafael J. Wysocki
2015-09-08  1:33     ` Viresh Kumar [this message]
2015-09-08  1:40     ` [PATCH V3 " Viresh Kumar
2015-09-08  1:40       ` Viresh Kumar
2015-07-27 12:28 ` [PATCH V2 3/9] cpufreq: ondemand: only queue canceled works from update_sampling_rate() Viresh Kumar
2015-07-27 12:28   ` Viresh Kumar
2015-09-08  1:11   ` Rafael J. Wysocki
2015-09-08  1:58     ` Viresh Kumar
2015-09-09  1:06       ` Rafael J. Wysocki
2015-09-09  2:30         ` Viresh Kumar
2015-09-09 20:10           ` Rafael J. Wysocki
2015-07-27 12:28 ` [PATCH V2 4/9] cpufreq: governor: Drop __gov_queue_work() Viresh Kumar
2015-07-27 12:28   ` Viresh Kumar
2015-09-08  1:15   ` Rafael J. Wysocki
2015-09-08  2:00     ` Viresh Kumar
2015-09-09  1:04       ` Rafael J. Wysocki
2015-07-27 12:28 ` [PATCH V2 5/9] cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate() Viresh Kumar
2015-07-27 12:28   ` Viresh Kumar
2015-07-27 12:28 ` [PATCH V2 6/9] cpufreq: ondemand: queue work for policy->cpus together Viresh Kumar
2015-07-27 12:28   ` Viresh Kumar
2015-09-08  1:33   ` Rafael J. Wysocki
2015-09-08  2:11     ` Viresh Kumar
2015-09-08  2:13       ` Viresh Kumar
2015-07-27 12:28 ` [PATCH V2 7/9] cpufreq: ondemand: update sampling rate immidiately Viresh Kumar
2015-07-27 12:28   ` Viresh Kumar
2015-07-27 12:28 ` [PATCH V2 8/9] cpufreq: governor: Quit work-handlers early if governor is stopped Viresh Kumar
2015-07-27 12:28   ` Viresh Kumar
2015-07-27 12:28 ` [PATCH V2 9/9] cpufreq: Get rid of ->governor_enabled and its lock Viresh Kumar
2015-07-27 12:28   ` Viresh Kumar
2015-09-03  4:44 ` [PATCH V2 0/9] CPUFreq: governors: further cleanups Viresh Kumar
2015-09-04 14:47   ` Rafael J. Wysocki

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=20150908013309.GX26760@linux \
    --to=viresh.kumar@linaro.org \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=preeti.lkml@gmail.com \
    --cc=rjw@rjwysocki.net \
    /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.