[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0i+TMAeaMp8D8qGph1VZKg0L23RsqdPMEQ0xHhpTCHgQA@mail.gmail.com>
Date: Thu, 4 Oct 2018 10:47:04 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Daniel Lezcano <daniel.lezcano@...aro.org>
Cc: "Rafael J. Wysocki" <rafael@...nel.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Linux PM <linux-pm@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>,
Todd Kjos <tkjos@...gle.com>,
Joel Fernandes <joelaf@...gle.com>,
Colin Cross <ccross@...roid.com>,
Ramesh Thomas <ramesh.thomas@...el.com>,
Mel Gorman <mgorman@...e.de>, Ingo Molnar <mingo@...hat.com>,
Rafael Wysocki <rafael.j.wysocki@...el.com>,
Alex Shi <alex.shi@...aro.org>,
Philippe Ombredanne <pombredanne@...b.com>,
Thomas Gleixner <tglx@...utronix.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Kate Stewart <kstewart@...uxfoundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] cpuidle/drivers/menu: Remove get_loadavg in the
performance multiplier
On Thu, Oct 4, 2018 at 10:40 AM Daniel Lezcano
<daniel.lezcano@...aro.org> wrote:
>
> On 04/10/2018 10:22, Rafael J. Wysocki wrote:
> > On Thu, Oct 4, 2018 at 9:42 AM Daniel Lezcano <daniel.lezcano@...aro.org> wrote:
[cut]
> >> - interactivity_req = data->predicted_us / performance_multiplier(nr_iowaiters, cpu_load);
> >> + interactivity_req = data->predicted_us /
> >> + performance_multiplier(nr_iowaiters);
> >
> > I wouldn't break this line.
>
> Ok, mind if I break the line in a separate patch before ? (my git
> pre-commit hook runs checkpatch and it complains and prevent to commit
> the patch because of the line length (94)).
OK, just keep it the way it is, then. I can remove the line break
before applying the patch easily enough. :-)
> >> if (latency_req > interactivity_req)
> >> latency_req = interactivity_req;
> >> }
> >> diff --git a/include/linux/sched/stat.h b/include/linux/sched/stat.h
> >> index 04f1321..f30954c 100644
> >> --- a/include/linux/sched/stat.h
> >> +++ b/include/linux/sched/stat.h
> >> @@ -20,7 +20,6 @@ extern unsigned long nr_running(void);
> >> extern bool single_task_running(void);
> >> extern unsigned long nr_iowait(void);
> >> extern unsigned long nr_iowait_cpu(int cpu);
> >> -extern void get_iowait_load(unsigned long *nr_waiters, unsigned long *load);
> >>
> >> static inline int sched_info_on(void)
> >> {
> >> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> >> index b88a145..5605f03 100644
> >> --- a/kernel/sched/core.c
> >> +++ b/kernel/sched/core.c
> >> @@ -2873,25 +2873,12 @@ unsigned long long nr_context_switches(void)
> >>
> >> return sum;
> >> }
> >> -/*
> >> - * Consumers of these two interfaces, like for example the cpufreq menu
> >> - * governor are using nonsensical data. Boosting frequency for a CPU that has
> >> - * IO-wait which might not even end up running the task when it does become
> >> - * runnable.
> >> - */
> >
> > Doesn't the comment still apply to nr_iowait_cpu()?
>
> The comment is very confusing. I talks about a cpufreq menu governor and
> boosting frequency.
So it should be talking about the *cpuidle* menu governor and
preferring shallow idle state selection.
I guess I'll send a patch to update it. :-)
> I don't see this function used in the cpufreq framework but in:
>
> kernel/time/tick-sched.c
> fs/proc/stat.c
> drivers/cpuidle/governors/menu.c
>
> The comment is irrelevant as the remaining function is used for
> statistics in addition to the perf multiplier. It does exactly what the
> function name is.
Which is my point. It shouldn't be dropped entirely, but updated IMO.
Powered by blists - more mailing lists