From: Thara Gopinath <thara.gopinath@linaro.org>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Ionela Voinescu <ionela.voinescu@arm.com>,
Zhang Rui <rui.zhang@intel.com>,
Eduardo Valentin <edubezval@gmail.com>,
Quentin Perret <qperret@google.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Amit Kachhap <amit.kachhap@gmail.com>,
Javi Merino <javi.merino@kernel.org>,
Daniel Lezcano <daniel.lezcano@linaro.org>
Subject: Re: [Patch v5 3/6] sched/fair: Enable periodic update of average thermal pressure
Date: Wed, 6 Nov 2019 12:01:12 -0500 [thread overview]
Message-ID: <5DC2FC58.7050604@linaro.org> (raw)
In-Reply-To: <CAKfTPtBrOdiN+wBfy-1cHr65d48-cBZc3LS7Jt_65Ptssb0Gpg@mail.gmail.com>
On 11/06/2019 03:32 AM, Vincent Guittot wrote:
> On Tue, 5 Nov 2019 at 19:49, Thara Gopinath <thara.gopinath@linaro.org> wrote:
>>
>> Introduce support in CFS periodic tick and other bookkeeping apis
>> to trigger the process of computing average thermal pressure for a
>> cpu. Also consider avg_thermal.load_avg in others_have_blocked
>> which allows for decay of pelt signals.
>>
>> Signed-off-by: Thara Gopinath <thara.gopinath@linaro.org>
>> ---
>>
>> v4->v5:
>> - Updated both versions of update_blocked_averages to trigger the
>> process of computing average thermal pressure.
>> - Updated others_have_blocked to considerd avg_thermal.load_avg.
>>
>> kernel/sched/fair.c | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>> index 2e907cc..9fb0494 100644
>> --- a/kernel/sched/fair.c
>> +++ b/kernel/sched/fair.c
>> @@ -92,6 +92,8 @@ const_debug unsigned int sysctl_sched_migration_cost = 500000UL;
>> */
>> static DEFINE_PER_CPU(unsigned long, thermal_pressure);
>>
>> +static void trigger_thermal_pressure_average(struct rq *rq);
>> +
>> #ifdef CONFIG_SMP
>> /*
>> * For asym packing, by default the lower numbered CPU has higher priority.
>> @@ -7493,6 +7495,9 @@ static inline bool others_have_blocked(struct rq *rq)
>> if (READ_ONCE(rq->avg_dl.util_avg))
>> return true;
>>
>> + if (READ_ONCE(rq->avg_thermal.load_avg))
>> + return true;
>> +
>> #ifdef CONFIG_HAVE_SCHED_AVG_IRQ
>> if (READ_ONCE(rq->avg_irq.util_avg))
>> return true;
>> @@ -7580,6 +7585,8 @@ static void update_blocked_averages(int cpu)
>> done = false;
>>
>> update_blocked_load_status(rq, !done);
>> +
>> + trigger_thermal_pressure_average(rq);
>
> This must be called before others_have_blocked() to take into account
> the latest update
It is a bug. I agree. Will fix it.
>
>> rq_unlock_irqrestore(rq, &rf);
>> }
>>
>> @@ -7646,6 +7653,7 @@ static inline void update_blocked_averages(int cpu)
>> update_dl_rq_load_avg(rq_clock_pelt(rq), rq, curr_class == &dl_sched_class);
>> update_irq_load_avg(rq, 0);
>> update_blocked_load_status(rq, cfs_rq_has_blocked(cfs_rq) || others_have_blocked(rq));
>> + trigger_thermal_pressure_average(rq);
>
> idem
>
>> rq_unlock_irqrestore(rq, &rf);
>> }
>>
>> @@ -9939,6 +9947,8 @@ static void task_tick_fair(struct rq *rq, struct task_struct *curr, int queued)
>>
>> update_misfit_status(curr, rq);
>> update_overutilized_status(task_rq(curr));
>> +
>
> remove blank line
>
>> + trigger_thermal_pressure_average(rq);
>> }
>>
>> /*
>> --
>> 2.1.4
>>
--
Warm Regards
Thara
next prev parent reply other threads:[~2019-11-06 17:01 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-05 18:49 [Patch v5 0/6] Introduce Thermal Pressure Thara Gopinath
2019-11-05 18:49 ` [Patch v5 1/6] sched/pelt.c: Add support to track thermal pressure Thara Gopinath
2019-11-06 8:24 ` Vincent Guittot
2019-11-06 12:50 ` Dietmar Eggemann
2019-11-06 17:00 ` Thara Gopinath
2019-11-07 16:39 ` Qais Yousef
2019-11-19 10:50 ` Amit Kucheria
2019-11-05 18:49 ` [Patch v5 2/6] sched/fair: Add infrastructure to store and update instantaneous " Thara Gopinath
2019-11-05 20:21 ` Ionela Voinescu
2019-11-05 21:02 ` Thara Gopinath
2019-11-05 21:15 ` Ionela Voinescu
2019-11-05 21:29 ` Thara Gopinath
2019-11-05 21:53 ` Ionela Voinescu
2019-11-06 12:50 ` Dietmar Eggemann
2019-11-06 17:53 ` Thara Gopinath
2019-11-07 9:32 ` Dietmar Eggemann
2019-11-07 10:48 ` Vincent Guittot
2019-11-07 11:36 ` Dietmar Eggemann
2019-11-06 8:27 ` Vincent Guittot
2019-11-06 17:00 ` Thara Gopinath
2019-11-19 10:51 ` Amit Kucheria
2019-11-05 18:49 ` [Patch v5 3/6] sched/fair: Enable periodic update of average " Thara Gopinath
2019-11-06 8:32 ` Vincent Guittot
2019-11-06 17:01 ` Thara Gopinath [this message]
2019-11-05 18:49 ` [Patch v5 4/6] sched/fair: update cpu_capcity to reflect " Thara Gopinath
2019-11-06 16:56 ` Qais Yousef
2019-11-06 17:31 ` Thara Gopinath
2019-11-06 17:41 ` Qais Yousef
2019-11-19 10:51 ` Amit Kucheria
2019-11-05 18:49 ` [Patch v5 5/6] thermal/cpu-cooling: Update thermal pressure in case of a maximum frequency capping Thara Gopinath
2019-11-06 12:50 ` Dietmar Eggemann
2019-11-06 17:28 ` Thara Gopinath
2019-11-07 13:00 ` Dietmar Eggemann
2019-11-05 18:49 ` [Patch v5 6/6] sched/fair: Enable tuning of decay period Thara Gopinath
2019-11-07 10:49 ` Vincent Guittot
2019-11-08 10:53 ` Dietmar Eggemann
2019-11-19 10:52 ` Amit Kucheria
2019-11-12 11:21 ` [Patch v5 0/6] Introduce Thermal Pressure Lukasz Luba
2019-11-19 15:12 ` Lukasz Luba
2019-11-19 10:54 ` Amit Kucheria
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=5DC2FC58.7050604@linaro.org \
--to=thara.gopinath@linaro.org \
--cc=amit.kachhap@gmail.com \
--cc=daniel.lezcano@linaro.org \
--cc=edubezval@gmail.com \
--cc=ionela.voinescu@arm.com \
--cc=javi.merino@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=qperret@google.com \
--cc=rui.zhang@intel.com \
--cc=vincent.guittot@linaro.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.