[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bdfd313d-1b31-0672-0a23-285087206b06@arm.com>
Date: Tue, 19 Jun 2018 12:26:35 +0200
From: Dietmar Eggemann <dietmar.eggemann@....com>
To: Pavan Kondeti <pkondeti@...eaurora.org>,
Quentin Perret <quentin.perret@....com>
Cc: peterz@...radead.org, rjw@...ysocki.net,
gregkh@...uxfoundation.org, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, mingo@...hat.com,
morten.rasmussen@....com, chris.redpath@....com,
patrick.bellasi@....com, valentin.schneider@....com,
vincent.guittot@...aro.org, thara.gopinath@...aro.org,
viresh.kumar@...aro.org, tkjos@...gle.com, joelaf@...gle.com,
smuckle@...gle.com, adharmap@...cinc.com, skannan@...cinc.com,
juri.lelli@...hat.com, edubezval@...il.com,
srinivas.pandruvada@...ux.intel.com, currojerez@...eup.net,
javi.merino@...nel.org
Subject: Re: [RFC PATCH v3 06/10] sched: Add over-utilization/tipping point
indicator
On 06/19/2018 09:01 AM, Pavan Kondeti wrote:
> On Mon, May 21, 2018 at 03:25:01PM +0100, Quentin Perret wrote:
[...]
>> @@ -8152,6 +8176,9 @@ static inline void update_sg_lb_stats(struct lb_env *env,
>> if (nr_running > 1)
>> *overload = true;
>>
>> + if (cpu_overutilized(i))
>> + *overutilized = 1;
>> +
>
> There is no need to check if every CPU is overutilized or not once
> *overutilized is marked as true, right?
True, so you want to check *overutilized before calling
cpu_overutilized() to save a little bit on compute?
[...]
>> @@ -8586,6 +8621,10 @@ static struct sched_group *find_busiest_group(struct lb_env *env)
>> * this level.
>> */
>> update_sd_lb_stats(env, &sds);
>> +
>> + if (sched_energy_enabled() && !READ_ONCE(env->dst_rq->rd->overutilized))
>> + goto out_balanced;
>> +
>
> Is there any reason for sending no-hz idle kicks but bailing out here when
> system is not overutilized?
Even if a system is not-overutilized, we want to update stale cpu
blocked load and utilization so NOHZ_STATS_KICK have to get through.
So calling find_busiest_group() -> update_sd_lb_stats() ->
update_sg_lb_stats() to possibly execute update_nohz_stats() is IMHO the
right thing to do.
Powered by blists - more mailing lists