All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Gebhardt <tomge68@gmail.com>
To: Qais Yousef <qyousef@layalina.io>
Cc: 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: Fri, 15 May 2026 10:24:51 +0200	[thread overview]
Message-ID: <32dea9123588227a02971341b22e84d3.tomge68@gmail.com> (raw)
In-Reply-To: <20260515014250.tueinbuk7ldttdop@airbuntu>

Hi Qais,

Thanks for the follow-up. Here are the patch isolation results and answers to your questions.

Regarding the governor:

Yes, I'm running `ondemand`, not `schedutil`. My mistake for not mentioning that upfront - I
assumed the improvement was due to the util_est path being triggered regardless of the governor.
The improvement is clearly measurable even with `ondemand`, which is surprising given that your
patches specifically target `schedutil`.

Patch isolation -- 12/13 only vs. both:

I re-ran the benchmarks with patch 13/13 (`sched/pelt: Always allow load updates`) reverted,
keeping only patch 12/13 (`sched/fair: Call update_util_est() after dequeue_entities()`).

Results using stress-ng 0.15.06 pipe stressor (4 workers, 20s):

  Kernel                               Clock     pipe bogo ops/s   delta vs. 6.6
  -----------------------------------  --------  ----------------  -------------
  6.6.78-v8-16k+                       2400 MHz       2 129 330    +/-0% (ref)
  6.6.78-v8-16k+                       2800 MHz       2 487 746    +/-0% (ref)
  7.0.0-v8-16k+ stock                  2400 MHz       1 694 011    -20.5%
  7.0.0-v8-16k+ stock                  2800 MHz       1 851 567    -25.6%
  7.0.0 + ttwu only (10 patches)       2400 MHz       1 836 006    -13.8%
  7.0.0 + ttwu only (10 patches)       2800 MHz       1 934 076    -22.3%
  7.0.0 + ttwu + patch 12/13 only      2400 MHz       2 054 879     -3.5%
  7.0.0 + ttwu + patch 12/13 only      2800 MHz       2 415 617     -2.9%
  7.0.0 + ttwu + patches 12+13         2400 MHz       1 996 002     -6.3%
  7.0.0 + ttwu + patches 12+13         2800 MHz       2 342 144     -5.9%

The key finding: patch 12/13 alone outperforms the combined set on ARM. Adding patch 13/13
actually hurts performance slightly -- about 3 percentage points -- at both clock speeds. This
suggests that `sched/pelt: Always allow load updates` has a negative interaction on ARM/Cortex-A76,
possibly related to how PELT decay is handled without `schedutil` active, or an ARM-specific
DELAY_DEQUEUE interaction.

Patch 12/13 alone closes the gap to just -2.9% vs. 6.6 at 2800 MHz (OC), and -3.5% at nominal
2400 MHz. That is a remarkable recovery from the -31.9% regression in 7.0 stock.

Regarding Perfetto traces:

Unfortunately I cannot provide sched-analyzer traces at this time -- the kernel is not compiled
with CONFIG_DEBUG_INFO_BTF=y (pahole/dwarves not available in this build environment), which
is required for BPF CO-RE. I can try to arrange that for a future run if it would still be useful.

Device: Raspberry Pi 5 (8 GB, C1-stepping), Bookworm arm64, kernel rpi-7.0.y.
Background: https://github.com/raspberrypi/linux/issues/7308

Tom

  reply	other threads:[~2026-05-15  8:24 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-04  1:59 [PATCH v2 00/13] sched/fair/schedutil: Better manage system response time 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-05-04  1:59 ` [PATCH v2 04/13] sched/fair: Remove magic hardcoded margin in fits_capacity() 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-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-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 [this message]
2026-05-15 10:01       ` Christian Loehle

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=32dea9123588227a02971341b22e84d3.tomge68@gmail.com \
    --to=tomge68@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=qyousef@layalina.io \
    --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.