Thread (42 messages) 42 messages, 7 authors, 2017-12-20

Re: [PATCH 2/4] sched: cpufreq: Keep track of cpufreq utilization update flags

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2017-12-20 08:49:08
Also in: lkml

On 20-12-17, 09:31, Peter Zijlstra wrote:
On Wed, Dec 20, 2017 at 09:34:46AM +0530, Viresh Kumar wrote:
Please use the normal link format:

  https://lkml.kernel.org/r/$MSGID

Then I can find them without having to resort to a frigging browser
thing.
Sure, and that would be much easier for me as well as that's how I got
to those links. Here they are again ..

https://lkml.kernel.org/r/20171130114723.29210-2-patrick.bellasi@arm.com
https://lkml.kernel.org/r/20171130114723.29210-3-patrick.bellasi@arm.com
https://lkml.kernel.org/r/20171130114723.29210-7-patrick.bellasi@arm.com
I'll try and dig through the email I have.
Thanks.
quoted
Well that also looks fine to me, and that would mean this:

- We remove SCHED_CPUFREQ_RT and SCHED_CPUFREQ_DL flags, but still
  call the utilization callbacks from RT and DL classes.
Didn't juri have patches to make DL do something sane? But yes, I think
those flags are part of the problem.
Sure, DL will be more like CFS going forward. I was just commenting
based on what we have upstream today.
quoted
- From the utilization handler, we check runqueues of all three sched
  classes to see if they have some work pending (this can be done
  smartly by checking only RT first and skipping other checks if RT
  has some work).
No that's wrong. DL should provide a minimum required based on existing
reservations, we can add the expected CFS average on top and request
that.
Right, that should be the case after Juri's patches.
And for RT all we need to know is if current is of that class, otherwise
we don't care.
What about this case: A CFS task is running currently and an RT task
is enqueued.

- Is it always the case that the CFS task is preempted immediately and
  the CPU is given to RT task ? I was talking to Vincent earlier and
  he told me that for certain configurations the CFS task may keep
  running until the next tick.

- What if the CFS task has disabled preemption ?

- More corner cases like this ?

Above cases may not let schedutil to raise frequency to MAX even when
we have RT stuff enqueued. And that's why I tried to track all sched
classes for which we have work enqueued for. There are great chances
that my understanding here is wrong though :)

-- 
viresh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help