lkml.org 
[lkml]   [2018]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] cpufreq/schedutil: Cleanup, document and fix iowait boost
On Tue, Apr 10, 2018 at 04:59:31PM +0100, Patrick Bellasi wrote:
> The iowait boosting code has been recently updated to add a progressive
> boosting behavior which allows to be less aggressive in boosting tasks
> doing only sporadic IO operations, thus being more energy efficient for
> example on mobile platforms.
>
> The current code is now however a bit convoluted. Some functionalities
> (e.g. iowait boost reset) are replicated in different paths and their
> documentation is slightly misaligned.

While your patch does seem to improve things, it still has duplicated
bits in. Eg. the TICK_NSEC clearing exists in both functions.

> - sugov_set_iowait_boost: is now in charge only to set/increase the IO
> wait boost, every time a task wakes up from an IO wait.
>
> - sugov_iowait_boost: is now in charge to reset/reduce the IO wait
> boost, every time a sugov update is triggered, as well as
> to (eventually) enforce the currently required IO boost value.

I'm not sold on those function names; feels like we can do better,
although I'm struggling to come up with anything sensible just now.


>
> if (delta_ns > TICK_NSEC) {
> + sg_cpu->iowait_boost = iowait
> + ? sg_cpu->sg_policy->policy->min : 0;
> + sg_cpu->iowait_boost_pending = iowait;
> + return;
> }

> + if (delta_ns > TICK_NSEC) {
> + sg_cpu->iowait_boost = 0;
> + sg_cpu->iowait_boost_pending = false;
> + return;
> + }

Looks like something we can maybe put in a helper or something.

\
 
 \ /
  Last update: 2018-04-10 21:38    [W:0.067 / U:0.732 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site