The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Lukasz Luba <lukasz.luba@arm.com>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: konrad.dybcio@linaro.org, mhiramat@kernel.org, agross@kernel.org,
	rafael@kernel.org, sudeep.holla@arm.com, will@kernel.org,
	linux@armlinux.org.uk, bristot@redhat.com, mgorman@suse.de,
	bsegall@google.com, rostedt@goodmis.org, andersson@kernel.org,
	dietmar.eggemann@arm.com, juri.lelli@redhat.com,
	mingo@redhat.com, linux-pm@vger.kernel.org,
	catalin.marinas@arm.com, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, corbet@lwn.net,
	amit.kachhap@gmail.com, daniel.lezcano@linaro.org,
	peterz@infradead.org, linux-arm-msm@vger.kernel.org,
	linux-trace-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	gregkh@linuxfoundation.org, vschneid@redhat.com,
	rui.zhang@intel.com, viresh.kumar@linaro.org
Subject: Re: [PATCH v5 0/5] Rework system pressure interface to the scheduler
Date: Wed, 21 Feb 2024 13:28:48 +0000	[thread overview]
Message-ID: <4e9603e9-4127-43f1-92be-6c2b59ff2fe0@arm.com> (raw)
In-Reply-To: <20240220145947.1107937-1-vincent.guittot@linaro.org>

Hi Vincent,

On 2/20/24 14:59, Vincent Guittot wrote:
> Following the consolidation and cleanup of CPU capacity in [1], this serie
> reworks how the scheduler gets the pressures on CPUs. We need to take into
> account all pressures applied by cpufreq on the compute capacity of a CPU
> for dozens of ms or more and not only cpufreq cooling device or HW
> mitigiations. We split the pressure applied on CPU's capacity in 2 parts:
> - one from cpufreq and freq_qos
> - one from HW high freq mitigiation.
> 
> The next step will be to add a dedicated interface for long standing
> capping of the CPU capacity (i.e. for seconds or more) like the
> scaling_max_freq of cpufreq sysfs. The latter is already taken into
> account by this serie but as a temporary pressure which is not always the
> best choice when we know that it will happen for seconds or more.
> 
> [1] https://lore.kernel.org/lkml/20231211104855.558096-1-vincent.guittot@linaro.org/
> 
> Change since v4:
> - Add READ_ONCE() in cpufreq_get_pressure()
> - Add ack and reviewed tags
> 
> Change since v3:
> - Fix uninitialized variables in cpufreq_update_pressure()
> 
> Change since v2:
> - Rework cpufreq_update_pressure()
> 
> Change since v1:
> - Use struct cpufreq_policy as parameter of cpufreq_update_pressure()
> - Fix typos and comments
> - Make sched_thermal_decay_shift boot param as deprecated
> 
> Vincent Guittot (5):
>    cpufreq: Add a cpufreq pressure feedback for the scheduler
>    sched: Take cpufreq feedback into account
>    thermal/cpufreq: Remove arch_update_thermal_pressure()
>    sched: Rename arch_update_thermal_pressure into
>      arch_update_hw_pressure
>    sched/pelt: Remove shift of thermal clock
> 
>   .../admin-guide/kernel-parameters.txt         |  1 +
>   arch/arm/include/asm/topology.h               |  6 +-
>   arch/arm64/include/asm/topology.h             |  6 +-
>   drivers/base/arch_topology.c                  | 26 ++++----
>   drivers/cpufreq/cpufreq.c                     | 36 +++++++++++
>   drivers/cpufreq/qcom-cpufreq-hw.c             |  4 +-
>   drivers/thermal/cpufreq_cooling.c             |  3 -
>   include/linux/arch_topology.h                 |  8 +--
>   include/linux/cpufreq.h                       | 10 +++
>   include/linux/sched/topology.h                |  8 +--
>   .../{thermal_pressure.h => hw_pressure.h}     | 14 ++---
>   include/trace/events/sched.h                  |  2 +-
>   init/Kconfig                                  | 12 ++--
>   kernel/sched/core.c                           |  8 +--
>   kernel/sched/fair.c                           | 63 +++++++++----------
>   kernel/sched/pelt.c                           | 18 +++---
>   kernel/sched/pelt.h                           | 16 ++---
>   kernel/sched/sched.h                          | 22 +------
>   18 files changed, 144 insertions(+), 119 deletions(-)
>   rename include/trace/events/{thermal_pressure.h => hw_pressure.h} (55%)
> 


The code looks good and works as expected. The time delays in those
old mechanisms that were important to me are good now. The boost is
handled, cpufreq capping from sysfs - all good. Also the last patch
which removes the shift and makes it obsolete. Thanks!

Feel free to add to all patches:

Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Tested-by: Lukasz Luba <lukasz.luba@arm.com>

Regards,
Lukasz

      parent reply	other threads:[~2024-02-21 13:28 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-20 14:59 [PATCH v5 0/5] Rework system pressure interface to the scheduler Vincent Guittot
2024-02-20 14:59 ` [PATCH v5 1/5] cpufreq: Add a cpufreq pressure feedback for " Vincent Guittot
2024-02-20 14:59 ` [PATCH v5 2/5] sched: Take cpufreq feedback into account Vincent Guittot
2024-02-20 14:59 ` [PATCH v5 3/5] thermal/cpufreq: Remove arch_update_thermal_pressure() Vincent Guittot
2024-02-20 14:59 ` [PATCH v5 4/5] sched: Rename arch_update_thermal_pressure into arch_update_hw_pressure Vincent Guittot
2024-02-20 14:59 ` [PATCH v5 5/5] sched/pelt: Remove shift of thermal clock Vincent Guittot
2024-02-21 13:28 ` Lukasz Luba [this message]

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=4e9603e9-4127-43f1-92be-6c2b59ff2fe0@arm.com \
    --to=lukasz.luba@arm.com \
    --cc=agross@kernel.org \
    --cc=amit.kachhap@gmail.com \
    --cc=andersson@kernel.org \
    --cc=bristot@redhat.com \
    --cc=bsegall@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=daniel.lezcano@linaro.org \
    --cc=dietmar.eggemann@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=juri.lelli@redhat.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mgorman@suse.de \
    --cc=mhiramat@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rafael@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=rui.zhang@intel.com \
    --cc=sudeep.holla@arm.com \
    --cc=vincent.guittot@linaro.org \
    --cc=viresh.kumar@linaro.org \
    --cc=vschneid@redhat.com \
    --cc=will@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox