All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qais Yousef <qyousef@layalina.io>
To: Tom Gebhardt <tomge68@gmail.com>
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 02:42:50 +0100	[thread overview]
Message-ID: <20260515014250.tueinbuk7ldttdop@airbuntu> (raw)
In-Reply-To: <7a4f4e3f4caea5cac2a2b7b5994a97ee.tomge68@gmail.com>

Hi Tom

On 05/13/26 17:09, Tom Gebhardt wrote:
> Hi Qais,
> 
> I tested your v2 12/13 (sched/fair: Call update_util_est() after
> dequeue_entities()) and RFC 13/13 (sched/pelt: Always allow load updates)
> on ARM (Raspberry Pi 5, Cortex-A76, 4-core), combined with Peter
> Zijlstra's ttwu series (rebased to 7.0.y by marioroy).
> 
> Both patches applied cleanly on top of rpi-7.0.y + 10 ttwu patches
> without conflicts.
> 
> Results using stress-ng 0.15.06 pipe stressor (4 workers, 20s):
> 
>   Kernel                              Clock      pipe bogo ops/s   D vs. 6.6
>   ----------------------------------  ---------  ----------------  ----------
>   6.6.78-v8-16k+                      2800 MHz        2 487 746    +/-0% (ref)
>   7.0.0-v8-16k+ stock                 2400 MHz        1 694 011    -31.9%
>   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    -26.2%
>   7.0.0 + ttwu only (10 patches)      2800 MHz        1 934 076    -22.3%
>   7.0.0 + ttwu + your 2 Qais patches  2400 MHz        1 996 002    -19.8%
>   7.0.0 + ttwu + your 2 Qais patches  2800 MHz        2 342 144     -5.9%
> 
> The ttwu-only set recovers ~3-4% of the regression on ARM. Adding your
> two patches brings a much larger improvement -- especially under
> overclocking, where the combined set recovers roughly 94% of the 6.6
> baseline. The remaining ~6% gap may be related to ARM-specific
> DELAY_DEQUEUE interactions.

Hmm this is an interesting impact. Did you get a chance to verify if you need
the 2 patches or only one of them is enough? Only 12/13 is actually a fix for
a change in behavior from 6.6. The last patch is a new addition for a behavior
that has always been there.

You have SMP system, so utilization can't be impacting your task placement to
potentially being stuck on a little core. And looking at raspberry pi code, it
seems they ship with ondemand governor as the default cpufreq governor. Are you
using the default one? Assuming yes and you're not using schedutil, then these
patches making things better is not expected.

Are you familiar with perfetto? Can you use sched-analyzer [1] to capture
a trace and inspect how the pattern changes when things are good and bad?

Output of

	sched-analyzer-pp --sched-states $TASK_NAME --freq-residency-task $TASK_NAME \
			sched-analyzer.perfetto-trace

would be useful to share. I suspect you have a subtle change of sched pattern
that I hope you might be able to visualize directly in ui.perfetto.dev, but the
above stats might be a good way to see potential difference between good and
bad runs.

Thanks!

[1] https://github.com/qais-yousef/sched-analyzer

> 
> Device: Raspberry Pi 5 (8 GB, C1-stepping), Bookworm arm64, rpi-7.0.y.
> Background: https://github.com/raspberrypi/linux/issues/7308
> 
> Thanks for the series -- the ARM results look very promising.
> 
> Tom

      reply	other threads:[~2026-05-15  1:42 UTC|newest]

Thread overview: 30+ 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 [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=20260515014250.tueinbuk7ldttdop@airbuntu \
    --to=qyousef@layalina.io \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --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 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.