mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Christian Loehle <christian.loehle@arm.com>
To: Tom Gebhardt <tomge68@gmail.com>
Cc: Qais Yousef <qyousef@layalina.io>,
	linux-kernel@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>
Subject: Re: [PATCH v2 00/13] sched/fair/schedutil: Better manage system response time
Date: Sat, 16 May 2026 14:43:12 +0100	[thread overview]
Message-ID: <a7645295-be9d-48d0-9490-36adf0b69f44@arm.com> (raw)
In-Reply-To: <318a4aaf404b66f7a04ed4d4a18d228a.tomge68@gmail.com>

On 5/15/26 14:57, Tom Gebhardt wrote:
> Hi Christian,
> 
> Good point -- I ran additional tests with `performance` and `ondemand` governors
> side by side on the same kernel (7.0.0 + ttwu + patch 12 only):
> 
>   Clock     Governor      pipe bogo ops/s
>   --------  ------------  ----------------
>   2400 MHz  performance       2 095 187
>   2400 MHz  ondemand          2 093 221
>   2800 MHz  performance       2 415 817
>   2800 MHz  ondemand          2 415 617
> 
> The difference between governors is <0.1% -- well within noise. So you are
> right: the effect is not cpufreq-related. Whatever patch 12 changes, it
> affects the scheduler path directly, not through frequency selection.
> 
> I also applied Vincent's fix [1] and benchmarked it:
> 
>   Kernel                  Clock     pipe bogo ops/s   Δ vs. 6.6.78
>   ----------------------  --------  ----------------  ------------
>   6.6.78                  2400 MHz       2 129 330        ±0%
>   6.6.78                  2800 MHz       2 487 746        ±0%
>   7.0 + ttwu + patch 12   2400 MHz       2 093 221        −1.7%
>   7.0 + ttwu + patch 12   2800 MHz       2 415 617        −2.9%
>   7.0 + ttwu + Vincent    2400 MHz       2 077 526        −2.4%
>   7.0 + ttwu + Vincent    2800 MHz       2 458 151        −1.2%
> 
> Vincent's fix gets very close to 6.6 at 2800 MHz (−1.2%) and is similar to
> patch 12 at 2400 MHz. Both are a large improvement over vanilla 7.0+ttwu
> (−22% at 2800 MHz) and plain 7.0 stock (−26% at 2800 MHz).

I tried to replicate using orion o6 and offlining all big CPUs leaving
4 little CPUs and an SMP system.
Workload:
for i in $(seq 0 19); do stress-ng --pipe 4 --pipe-ops 5000000 --metrics-brief --timeout 60 ; sleep 60 ; done
Results: (bogo ops/s real time)
7.1-rc3 powersave: 27186.17 ± 813.42
7.1-rc3vingu powersave: 26866.67 ± 899.51
7.1-rc3 performance: 78223.83 ± 4344.88
7.1-rc3vingu performance: 77289.57 ± 3321.10

As expected there's no significant change with Vincent's patch.
I didn't notice anything suspicious in the patch either, looks fine to me.
Next suspect is of course some interaction with Peter's ttwu series you've applied.
Alternatively you could also push your exact tree somewhere and I'll go and use
that myself.

> 
> Note: [1] applied with a manual context fixup for the DELAY_DEQUEUE hunk --
> the rpi-7.0.y tree's dequeue_entity() differs slightly from mainline in that
> block (no update_entity_lag() call inside the DELAY_DEQUEUE early-return).
> The semantic intent of the hunk was preserved.
> 
> [1] https://lore.kernel.org/lkml/agRyoe1wHyZ-vMk9@vingu-cube/
> 
> Thanks for catching that and for offering to reproduce it.
> 
> Tom


  reply	other threads:[~2026-05-16 13:43 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-04  1:59 Qais Yousef
2026-05-04  1:59 ` [PATCH v2 01/13] sched: cpufreq: Rename map_util_perf to sugov_apply_dvfs_headroom Qais Yousef
2026-05-04  1:59 ` [PATCH v2 02/13] sched/pelt: Add a new function to approximate the future util_avg value Qais Yousef
2026-05-04  1:59 ` [PATCH v2 03/13] sched/pelt: Add a new function to approximate runtime to reach given util Qais Yousef
2026-06-04  8:50   ` Vincent Guittot
2026-07-14 13:37     ` Qais Yousef
2026-05-04  1:59 ` [PATCH v2 04/13] sched/fair: Remove magic hardcoded margin in fits_capacity() Qais Yousef
2026-06-04 10:08   ` Vincent Guittot
2026-07-14 14:04     ` Qais Yousef
2026-05-04  1:59 ` [PATCH v2 05/13] sched: cpufreq: Remove magic 1.25 headroom from sugov_apply_dvfs_headroom() Qais Yousef
2026-05-04  1:59 ` [PATCH v2 06/13] sched/fair: Extend util_est to improve rampup time Qais Yousef
2026-05-04  1:59 ` [PATCH v2 07/13] sched/fair: util_est: Take into account periodic tasks Qais Yousef
2026-05-04  1:59 ` [PATCH v2 RFC 08/13] sched/qos: Add a new sched-qos interface Qais Yousef
2026-05-06 20:38   ` Tim Chen
2026-05-07  9:55     ` Qais Yousef
2026-05-07 14:20       ` Chen, Yu C
2026-05-09  9:39         ` Qais Yousef
2026-05-11 10:57   ` Peter Zijlstra
2026-05-12  7:58     ` Qais Yousef
2026-05-12  8:30       ` Peter Zijlstra
2026-05-12  8:47         ` Qais Yousef
2026-05-19  9:47   ` Peter Zijlstra
2026-05-19 10:56     ` Qais Yousef
2026-06-23 10:28   ` zhidao su
2026-07-14 14:17     ` Qais Yousef
2026-05-04  1:59 ` [PATCH v2 09/13] sched/qos: Add rampup multiplier QoS Qais Yousef
2026-05-11 11:03   ` Peter Zijlstra
2026-05-12  7:59     ` Qais Yousef
2026-05-12  8:37       ` Christian Loehle
2026-05-12  8:53         ` Qais Yousef
2026-06-18  8:30   ` zhidao su (Xiaomi)
2026-07-14 14:08     ` Qais Yousef
2026-05-04  2:00 ` [PATCH v2 10/13] sched/fair: Disable util_est when rampup_multiplier is 0 Qais Yousef
2026-05-04  2:00 ` [PATCH v2 11/13] sched/fair: Don't mess with util_avg post init Qais Yousef
2026-05-04  2:00 ` [PATCH v2 12/13] sched/fair: Call update_util_est() after dequeue_entities() Qais Yousef
2026-05-04  2:00 ` [PATCH v2 RFC 13/13] sched/pelt: Always allow load updates Qais Yousef
2026-05-11 17:58 ` [PATCH v2 00/13] sched/fair/schedutil: Better manage system response time John Stultz
2026-05-12  8:01   ` Qais Yousef
2026-05-13 15:09 ` Tom Gebhardt
2026-05-15  1:42   ` Qais Yousef
2026-05-15  8:24     ` Tom Gebhardt
2026-05-15 10:01       ` Christian Loehle
2026-05-15 13:57         ` Tom Gebhardt
2026-05-16 13:43           ` Christian Loehle [this message]
2026-05-19  7:46             ` Tom Gebhardt
2026-05-25  7:25             ` Tom Gebhardt
2026-05-28  7:38               ` Christian Loehle
2026-05-28 11:08                 ` Tom Gebhardt
2026-05-16  3:01       ` Qais Yousef
2026-05-28 12:50         ` Tom Gebhardt
2026-05-29  1:43           ` Qais Yousef
2026-05-29  7:53             ` Tom Gebhardt
2026-05-31  2:35               ` Qais Yousef

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=a7645295-be9d-48d0-9490-36adf0b69f44@arm.com \
    --to=christian.loehle@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=qyousef@layalina.io \
    --cc=tomge68@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome