From: Viresh Kumar <viresh.kumar@linaro.org>
To: "Joel Fernandes (Google)" <joel.opensrc@gmail.com>
Cc: Rafael Wysocki <rjw@rjwysocki.net>,
linux-pm@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@redhat.com>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
Len Brown <lenb@kernel.org>,
smuckle.linux@gmail.com, eas-dev@lists.linaro.org,
Joel Fernandes <joelaf@google.com>
Subject: Re: [Eas-dev] [PATCH V4 0/3] sched: cpufreq: Allow remote callbacks
Date: Thu, 27 Jul 2017 11:16:35 +0530 [thread overview]
Message-ID: <20170727054635.GJ352@vireshk-i7> (raw)
In-Reply-To: <CAEi0qNmuPLG68o0XZy5BTZO7=MwAkUdobOs=m4Fa6NYJ2q6B6w@mail.gmail.com>
On 26-07-17, 22:14, Joel Fernandes (Google) wrote:
> I think you dropped [1] in your cover-letter. May be you meant to add
> it at the end of the cover letter?
>
> I noticed from your v2 that its:
> https://pastebin.com/7LkMSRxE
Yeah, I missed it. Thanks :)
> Also one more comment about this usecase:
>
> You mentioned in our discussion at [2] sometime back, about the
> question of initial utilization,
>
> "We don't have any such configurable way possible right
> now, but there were discussions on how much utilization should a new
> task be assigned when it first comes up."
We still initialize it to a value, just that it isn't configurable.
See below..
> But, then in your cover letter above, you mentioned "This is verified
> using ftrace". So my question is how has this been verified with
> ftrace if the new initial utilization as you said in [2] is currently
> still under discussion? Basically how could you verify with ftrace
> that the target CPU frequency isn't increasing immediately on spawning
> of a new task remotely, if the initial utilization of a new task isn't
> something we set/configure with current code? Am I missing something?
>
> [2] https://lists.linaro.org/pipermail/eas-dev/2017-January/000785.html
The statement "new tasks should receive maximum demand initially" is
used to represent tasks which have high demand every time they run.
For example scrolling of a web page or gallery on our phones. Yes,
maybe I can use the work "migrated" (as you suggested later) as the
history of its utilization will move with it then to the new CPU.
But even without that, if you see the routine
init_entity_runnable_average() in fair.c, the new tasks are
initialized in a way that they are seen as heavy tasks. And so even
for the first time they run, freq should normally increase on the
target CPU (at least with above application).
The application was written by Steve (all credit goes to him) before
he left Linaro, but I did test it with ftrace. What I saw with ftrace
was that the freq isn't reevaluated for almost an entire tick many
times because we enqueued the task remotely. And that changes with
this series.
> > The reason being that this patchset only targets a corner case, where
> > following are required to be true to improve performance and that
> > doesn't happen too often with these tests:
> >
> > - Task is migrated to another CPU.
> > - The task has maximum demand initially, and should take the CPU to
>
> Just to make the cover-letter more clear and also confirming with you
> I understand the above usecase, maybe in the future this can reworded
> from "initially" to "before the migration" and "take the CPU" to "take
> the target CPU of the migration" ?
I can reword it a bit, but the test case wasn't really migrating
anything and was looking only at the initial loads.
> > higher OPPs.
> > - And the target CPU doesn't call into schedutil until the next tick.
>
> I found this usecase to be more plausible and can see this patch
> series being useful there.
>
> Could you also keep me in CC on these patches (at joelaf@google.com)?
> I'm interested in this series.
Sure.
--
viresh
next prev parent reply other threads:[~2017-07-27 5:46 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-26 9:22 [PATCH V4 0/3] sched: cpufreq: Allow remote callbacks Viresh Kumar
2017-07-26 9:22 ` [PATCH V4 1/3] sched: cpufreq: Allow remote cpufreq callbacks Viresh Kumar
2017-07-26 17:42 ` Rafael J. Wysocki
2017-07-27 3:23 ` Viresh Kumar
2017-07-27 5:34 ` [Eas-dev] " Joel Fernandes (Google)
2017-07-27 5:50 ` Viresh Kumar
2017-07-27 6:13 ` Joel Fernandes (Google)
2017-07-27 7:14 ` Viresh Kumar
2017-07-27 9:10 ` Peter Zijlstra
2017-07-28 3:34 ` Joel Fernandes (Google)
2017-07-27 9:56 ` Peter Zijlstra
2017-07-26 9:22 ` [PATCH V4 2/3] cpufreq: schedutil: Process remote callback for shared policies Viresh Kumar
2017-07-27 5:49 ` [Eas-dev] " Joel Fernandes (Google)
2017-07-26 9:22 ` [PATCH V4 3/3] cpufreq: governor: " Viresh Kumar
2017-07-27 5:14 ` [Eas-dev] [PATCH V4 0/3] sched: cpufreq: Allow remote callbacks Joel Fernandes (Google)
2017-07-27 5:46 ` Viresh Kumar [this message]
2017-07-27 6:23 ` Joel Fernandes (Google)
2017-07-27 7:19 ` Viresh Kumar
2017-07-27 7:21 ` Juri Lelli
2017-07-28 3:44 ` Joel Fernandes (Google)
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=20170727054635.GJ352@vireshk-i7 \
--to=viresh.kumar@linaro.org \
--cc=eas-dev@lists.linaro.org \
--cc=joel.opensrc@gmail.com \
--cc=joelaf@google.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=smuckle.linux@gmail.com \
--cc=srinivas.pandruvada@linux.intel.com \
/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