From: Juri Lelli <juri.lelli@arm.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Steve Muckle <steve.muckle@linaro.org>,
Linux PM list <linux-pm@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@kernel.org>
Subject: Re: [RFC][PATCH 1/7] cpufreq / sched: Make schedutil access utilization data directly
Date: Tue, 2 Aug 2016 11:38:17 +0100 [thread overview]
Message-ID: <20160802103817.GZ22472@e106622-lin> (raw)
In-Reply-To: <5472075.XX6bKsbQPI@vostro.rjw.lan>
Hi,
On 02/08/16 01:46, Rafael J. Wysocki wrote:
> On Monday, August 01, 2016 12:28:50 PM Steve Muckle wrote:
> > On Mon, Aug 01, 2016 at 01:34:36AM +0200, Rafael J. Wysocki wrote:
> > ...
> > > Index: linux-pm/kernel/sched/cpufreq_schedutil.c
> > > ===================================================================
> > > --- linux-pm.orig/kernel/sched/cpufreq_schedutil.c
> > > +++ linux-pm/kernel/sched/cpufreq_schedutil.c
> > > @@ -144,17 +144,47 @@ static unsigned int get_next_freq(struct
> > > return cpufreq_driver_resolve_freq(policy, freq);
> > > }
> > >
> > > -static void sugov_update_single(struct update_util_data *hook, u64 time,
> > > - unsigned long util, unsigned long max)
> > > +static void sugov_get_util(unsigned long *util, unsigned long *max)
> > > +{
> > > + unsigned long dl_util, dl_max;
> > > + unsigned long cfs_util, cfs_max;
> > > + int cpu = smp_processor_id();
> > > + struct dl_bw *dl_bw = dl_bw_of(cpu);
> > > + struct rq *rq = this_rq();
> > > +
> > > + if (rt_prio(current->prio)) {
> > > + *util = ULONG_MAX;
> > > + return;
> > > + }
> > > +
> > > + dl_max = dl_bw_cpus(cpu) << 20;
> > > + dl_util = dl_bw->total_bw;
> > > +
> > > + cfs_max = rq->cpu_capacity_orig;
> > > + cfs_util = min(rq->cfs.avg.util_avg, cfs_max);
> > > +
> > > + if (cfs_util * dl_max > dl_util * cfs_max) {
> > > + *util = cfs_util;
> > > + *max = cfs_max;
> > > + } else {
> > > + *util = dl_util;
> > > + *max = dl_max;
> > > + }
> > > +}
> >
> > Last Friday I had put together a similar patch based on Peter's. I need
> > the flags field for the remote wakeup support. My previous plan,
> > installing a late callback in check_preempt_curr that gets requested
> > from the earlier existing CFS callback, was not working out since those
> > two events don't always match up 1:1.
> >
> > Anyway one way that my patch differed was that I had used the flags
> > field to keep the behavior the same for both RT and DL.
Do you mean "go to max" policy for both, until proper policies will be
implemented in the future?
> That happens
> > later on in this series for RT but the DL policy is modified as above.
> > Can the DL policy be left as-is and discussed/modified in a separate
> > series?
Not that we want to start discussing this point now, if we postpone the
change for later, but I just wanted to point out a difference w.r.t.
what the schedfreq thing was doing: it used to sum contributions from
the different classes, instead of taking the max. We probably never
really discussed on the list what is the right thing to do, though.
Best,
- Juri
next prev parent reply other threads:[~2016-08-02 10:38 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-31 23:31 [RFC][PATCH 0/7] cpufreq / sched: cpufreq_update_util() flags and iowait boosting Rafael J. Wysocki
2016-07-31 23:34 ` [RFC][PATCH 1/7] cpufreq / sched: Make schedutil access utilization data directly Rafael J. Wysocki
2016-08-01 19:28 ` Steve Muckle
2016-08-01 23:46 ` Rafael J. Wysocki
2016-08-02 10:38 ` Juri Lelli [this message]
2016-08-02 14:28 ` Steve Muckle
2016-08-02 14:43 ` Juri Lelli
2016-08-08 10:38 ` Peter Zijlstra
2016-07-31 23:35 ` [RFC][PATCH 2/7] cpufreq / sched: Drop cpufreq_trigger_update() Rafael J. Wysocki
2016-07-31 23:36 ` [RFC][PATCH 3/7] cpufreq / sched: Check cpu_of(rq) in cpufreq_update_util() Rafael J. Wysocki
2016-08-01 7:29 ` Dominik Brodowski
2016-08-01 14:57 ` Rafael J. Wysocki
2016-08-01 19:48 ` Steve Muckle
2016-08-01 23:43 ` Rafael J. Wysocki
2016-07-31 23:36 ` [RFC][PATCH 4/7] cpufreq / sched: Add flags argument to cpufreq_update_util() Rafael J. Wysocki
2016-08-01 7:33 ` Dominik Brodowski
2016-08-01 14:57 ` Rafael J. Wysocki
2016-08-01 19:59 ` Steve Muckle
2016-08-01 23:44 ` Rafael J. Wysocki
2016-08-02 1:36 ` Steve Muckle
2016-07-31 23:37 ` [RFC][PATCH 5/7] cpufreq / sched: UUF_IO flag to indicate iowait condition Rafael J. Wysocki
2016-08-02 1:22 ` Steve Muckle
2016-08-02 1:37 ` Rafael J. Wysocki
2016-08-02 22:02 ` Steve Muckle
2016-08-02 22:38 ` Rafael J. Wysocki
2016-08-04 2:24 ` Steve Muckle
2016-08-04 21:19 ` Rafael J. Wysocki
2016-08-04 22:09 ` Steve Muckle
2016-08-05 23:36 ` Rafael J. Wysocki
2016-07-31 23:37 ` [RFC][PATCH 6/7] cpufreq: schedutil: Add iowait boosting Rafael J. Wysocki
2016-08-02 1:35 ` Steve Muckle
2016-08-02 23:03 ` Rafael J. Wysocki
2016-07-31 23:38 ` [RFC][PATCH 7/7] cpufreq: intel_pstate: Change P-state selection algorithm for Core Rafael J. Wysocki
2016-08-04 4:18 ` Doug Smythies
2016-08-04 6:53 ` Doug Smythies
2016-08-06 0:02 ` Rafael J. Wysocki
2016-08-09 17:16 ` Doug Smythies
2016-08-13 15:59 ` Doug Smythies
2016-08-19 14:47 ` Peter Zijlstra
2016-08-20 1:06 ` Rafael J. Wysocki
2016-08-20 6:40 ` Doug Smythies
2016-08-22 18:53 ` Srinivas Pandruvada
2016-08-22 22:53 ` Doug Smythies
2016-08-23 3:48 ` Wanpeng Li
2016-08-23 4:08 ` Srinivas Pandruvada
2016-08-23 4:50 ` Wanpeng Li
2016-08-23 17:30 ` Rafael J. Wysocki
2016-08-01 15:26 ` [RFC][PATCH 0/7] cpufreq / sched: cpufreq_update_util() flags and iowait boosting Doug Smythies
2016-08-01 16:30 ` Rafael J. Wysocki
2016-08-08 11:08 ` Peter Zijlstra
2016-08-08 13:01 ` 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=20160802103817.GZ22472@e106622-lin \
--to=juri.lelli@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=steve.muckle@linaro.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).