From: K Prateek Nayak <kprateek.nayak@amd.com>
To: Tim Chen <tim.c.chen@linux.intel.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>
Cc: Juri Lelli <juri.lelli@redhat.com>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>,
Madadi Vineeth Reddy <vineethr@linux.ibm.com>,
"Hillf Danton" <hdanton@sina.com>,
Shrikanth Hegde <sshegde@linux.ibm.com>,
"Jianyong Wu" <jianyong.wu@outlook.com>,
Yangyu Chen <cyy@cyyself.name>,
Tingyin Duan <tingyin.duan@gmail.com>,
Vern Hao <vernhao@tencent.com>, Vern Hao <haoxing990@gmail.com>,
Len Brown <len.brown@intel.com>, Aubrey Li <aubrey.li@intel.com>,
Zhao Liu <zhao1.liu@intel.com>, Chen Yu <yu.chen.surf@gmail.com>,
Chen Yu <yu.c.chen@intel.com>,
Adam Li <adamli@os.amperecomputing.com>,
Aaron Lu <ziqianlu@bytedance.com>,
Tim Chen <tim.c.chen@intel.com>, Josh Don <joshdon@google.com>,
Gavin Guo <gavinguo@igalia.com>,
Qais Yousef <qyousef@layalina.io>,
Libo Chen <libchen@purestorage.com>,
Luo Gengkun <luogengkun2@huawei.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [Patch v4 00/16] Cache aware scheduling enhancements
Date: Wed, 20 May 2026 08:35:59 +0530 [thread overview]
Message-ID: <69ff1b28-10d1-4c45-b32b-00d27da5180e@amd.com> (raw)
In-Reply-To: <cover.1778703694.git.tim.c.chen@linux.intel.com>
Hello Tim, Chenyu,
On 5/14/2026 2:09 AM, Tim Chen wrote:
> This patch set contains cache-aware scheduling enhancements
> and bug fixes on top of Peter's sched/cache branch:
> https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/log/?h=sched/cache
I took the latest queue:sched/core for a spin before and after
the sched/cache merge and everything is now looking fine.
I've temporary lost access to my usual test machine so I could only grab
the microbenchmark data but they are mostly positive to unaffected as
expected. I'll update if I see anything funky with longer running
benchmarks if and when I get a chance.
Following is the data from a dual socket Zen4c system (2 x 128C/256T)
with 32 LLCs in total:
o Kernels:
tip: queue:sched/core at commit dd29c017aed6 ("sched/rt: Have
RT_PUSH_IPI be default off for non PREEMPT_RT")
sched-cache: queue:sched/core at commit a26d9208c137 ("Merge branch
'sched/cache'")
o Benchmark results
==================================================================
Test : hackbench
Units : Normalized time in seconds
Interpretation: Lower is better
Statistic : AMean
==================================================================
Case: tip[pct imp](CV) sched_cache[pct imp](CV)
1-groups 1.00 [ -0.00]( 9.66) 0.92 [ 8.04](14.93)
2-groups 1.00 [ -0.00]( 9.22) 0.88 [ 11.96](12.53)
4-groups 1.00 [ -0.00]( 2.14) 0.99 [ 0.93]( 1.55)
8-groups 1.00 [ -0.00]( 2.80) 1.00 [ 0.22]( 3.96)
16-groups 1.00 [ -0.00]( 5.54) 1.00 [ -0.49]( 2.76)
==================================================================
Test : tbench
Units : Normalized throughput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: tip[pct imp](CV) sched_cache[pct imp](CV)
1 1.00 [ 0.00]( 0.03) 1.00 [ 0.30]( 0.29)
2 1.00 [ 0.00]( 0.32) 1.00 [ -0.45]( 1.86)
4 1.00 [ 0.00]( 0.34) 1.00 [ 0.38]( 0.14)
8 1.00 [ 0.00]( 0.24) 1.01 [ 0.56]( 0.34)
16 1.00 [ 0.00]( 0.45) 1.00 [ 0.12]( 0.05)
32 1.00 [ 0.00]( 0.58) 1.01 [ 1.27]( 0.58)
64 1.00 [ 0.00]( 0.81) 1.01 [ 1.32]( 0.16)
128 1.00 [ 0.00]( 0.53) 1.03 [ 3.27]( 1.15)
256 1.00 [ 0.00]( 0.30) 1.02 [ 2.14]( 0.64)
512 1.00 [ 0.00]( 3.73) 1.01 [ 1.00]( 2.73)
1024 1.00 [ 0.00]( 0.23) 0.99 [ -0.53]( 0.29)
2048 1.00 [ 0.00]( 0.14) 0.99 [ -0.73]( 0.37)
==================================================================
Test : stream-10
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: tip[pct imp](CV) sched_cache[pct imp](CV)
Copy 1.00 [ 0.00]( 0.66) 1.00 [ 0.04]( 0.43)
Scale 1.00 [ 0.00]( 0.89) 1.00 [ 0.17]( 0.70)
Add 1.00 [ 0.00]( 0.73) 1.00 [ 0.08]( 0.73)
Triad 1.00 [ 0.00]( 0.70) 1.00 [ 0.04]( 0.75)
==================================================================
Test : stream-100
Units : Normalized Bandwidth, MB/s
Interpretation: Higher is better
Statistic : HMean
==================================================================
Test: tip[pct imp](CV) sched_cache[pct imp](CV)
Copy 1.00 [ 0.00]( 0.32) 1.00 [ -0.25]( 1.49)
Scale 1.00 [ 0.00]( 0.26) 0.99 [ -0.50]( 1.56)
Add 1.00 [ 0.00]( 0.29) 0.99 [ -0.69]( 1.22)
Triad 1.00 [ 0.00]( 0.27) 0.99 [ -0.71]( 1.24)
==================================================================
Test : netperf
Units : Normalized Througput
Interpretation: Higher is better
Statistic : AMean
==================================================================
Clients: tip[pct imp](CV) sched_cache[pct imp](CV)
1-clients 1.00 [ 0.00]( 0.10) 1.00 [ -0.08]( 0.13)
2-clients 1.00 [ 0.00]( 0.29) 1.00 [ -0.01]( 0.16)
4-clients 1.00 [ 0.00]( 0.36) 1.00 [ -0.25]( 0.21)
8-clients 1.00 [ 0.00]( 0.32) 1.00 [ -0.28]( 0.16)
16-clients 1.00 [ 0.00]( 0.24) 1.00 [ -0.38]( 0.24)
32-clients 1.00 [ 0.00]( 0.42) 1.00 [ -0.46]( 0.49)
64-clients 1.00 [ 0.00]( 0.94) 1.00 [ -0.40]( 0.65)
128-clients 1.00 [ 0.00]( 1.10) 1.00 [ -0.08]( 0.89)
256-clients 1.00 [ 0.00]( 1.06) 1.00 [ -0.10]( 0.97)
512-clients 1.00 [ 0.00]( 4.68) 0.98 [ -1.56]( 4.53)
768-clients 1.00 [ 0.00](34.35) 0.98 [ -2.03](32.96)
1024-clients 1.00 [ 0.00](42.76) 0.98 [ -1.74](43.29)
==================================================================
Test : schbench
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: tip[pct imp](CV) sched_cache[pct imp](CV)
1 1.00 [ -0.00](18.94) 0.39 [ 61.36]( 8.81)
2 1.00 [ -0.00]( 1.67) 0.91 [ 8.57](12.48)
4 1.00 [ -0.00]( 9.79) 0.70 [ 29.73](11.76)
8 1.00 [ -0.00]( 2.27) 0.82 [ 18.18]( 6.19)
16 1.00 [ -0.00]( 0.00) 0.98 [ 1.79]( 1.82)
32 1.00 [ -0.00]( 1.92) 1.00 [ -0.00]( 0.72)
64 1.00 [ -0.00]( 1.19) 1.02 [ -1.56]( 0.77)
128 1.00 [ -0.00]( 0.67) 1.00 [ -0.00]( 0.44)
256 1.00 [ -0.00]( 0.46) 1.01 [ -0.88]( 1.08)
512 1.00 [ -0.00]( 0.33) 0.97 [ 2.64]( 2.07)
768 1.00 [ -0.00]( 4.69) 1.02 [ -1.55]( 2.51)
1024 1.00 [ -0.00]( 2.71) 1.05 [ -4.72]( 1.36)
==================================================================
Test : new-schbench-requests-per-second
Units : Normalized Requests per second
Interpretation: Higher is better
Statistic : Median
==================================================================
#workers: tip[pct imp](CV) sched_cache[pct imp](CV)
1 1.00 [ 0.00]( 0.15) 0.99 [ -0.59]( 0.15)
2 1.00 [ 0.00]( 0.00) 0.99 [ -0.59]( 0.15)
4 1.00 [ 0.00]( 0.00) 1.00 [ -0.29]( 0.15)
8 1.00 [ 0.00]( 0.15) 1.00 [ 0.00]( 0.00)
16 1.00 [ 0.00]( 0.15) 1.00 [ 0.00]( 0.00)
32 1.00 [ 0.00]( 0.15) 1.00 [ -0.29]( 0.00)
64 1.00 [ 0.00]( 0.00) 1.00 [ 0.00]( 0.00)
128 1.00 [ 0.00](12.53) 0.99 [ -0.59](13.81)
256 1.00 [ 0.00]( 0.15) 1.00 [ -0.28]( 0.51)
512 1.00 [ 0.00]( 0.84) 1.01 [ 0.75]( 1.02)
768 1.00 [ 0.00]( 2.05) 1.01 [ 1.18]( 1.25)
1024 1.00 [ 0.00]( 2.90) 0.98 [ -1.62]( 1.25)
==================================================================
Test : new-schbench-wakeup-latency
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: tip[pct imp](CV) sched_cache[pct imp](CV)
1 1.00 [ -0.00](12.99) 1.33 [-33.33](31.03)
2 1.00 [ -0.00]( 4.08) 0.77 [ 23.08]( 5.34)
4 1.00 [ -0.00]( 0.00) 0.82 [ 18.18]( 5.53)
8 1.00 [ -0.00]( 0.00) 0.91 [ 9.09]( 0.00)
16 1.00 [ -0.00]( 4.56) 1.00 [ -0.00]( 4.84)
32 1.00 [ -0.00]( 0.00) 0.91 [ 9.09]( 0.00)
64 1.00 [ -0.00]( 5.00) 1.00 [ -0.00]( 5.00)
128 1.00 [ -0.00]( 7.45) 1.17 [-16.67](18.75)
256 1.00 [ -0.00]( 2.70) 1.02 [ -2.49]( 5.07)
512 1.00 [ -0.00]( 0.00) 1.00 [ -0.00]( 0.00)
768 1.00 [ -0.00]( 1.66) 1.02 [ -2.44]( 1.30)
1024 1.00 [ -0.00]( 3.32) 1.01 [ -1.19]( 1.92)
==================================================================
Test : new-schbench-request-latency
Units : Normalized 99th percentile latency in us
Interpretation: Lower is better
Statistic : Median
==================================================================
#workers: tip[pct imp](CV) sched_cache[pct imp](CV)
1 1.00 [ -0.00]( 0.14) 1.01 [ -0.80]( 0.41)
2 1.00 [ -0.00]( 0.14) 1.02 [ -1.60]( 0.27)
4 1.00 [ -0.00]( 0.00) 1.01 [ -1.07]( 0.68)
8 1.00 [ -0.00]( 0.14) 1.01 [ -0.80]( 0.00)
16 1.00 [ -0.00]( 1.49) 0.98 [ 1.82]( 0.00)
32 1.00 [ -0.00]( 0.89) 0.99 [ 0.53]( 0.27)
64 1.00 [ -0.00]( 1.43) 1.00 [ -0.26]( 1.22)
128 1.00 [ -0.00]( 2.78) 1.01 [ -0.89]( 3.06)
256 1.00 [ -0.00]( 0.13) 1.00 [ -0.00]( 0.13)
512 1.00 [ -0.00]( 6.72) 1.07 [ -6.59]( 8.20)
768 1.00 [ -0.00]( 3.42) 1.05 [ -4.61]( 2.67)
1024 1.00 [ -0.00]( 4.37) 0.99 [ 1.43]( 2.40)
---
Thanks a ton! And sorry for not having been the most responsive on the
latest iterations.
--
Thanks and Regards,
Prateek
next prev parent reply other threads:[~2026-05-20 3:06 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-13 20:39 Tim Chen
2026-05-13 20:39 ` [Patch v4 01/16] sched/cache: Allow only 1 thread of the process to calculate the LLC occupancy Tim Chen
2026-05-13 20:39 ` [Patch v4 02/16] sched/cache: Disable cache aware scheduling for processes with high thread counts Tim Chen
2026-05-13 20:39 ` [Patch v4 03/16] sched/cache: Skip cache-aware scheduling for single-threaded processes Tim Chen
2026-05-13 20:39 ` [Patch v4 04/16] sched/cache: Calculate the LLC size and store it in sched_domain Tim Chen
2026-05-13 20:39 ` [Patch v4 05/16] sched/cache: Avoid cache-aware scheduling for memory-heavy processes Tim Chen
2026-05-13 20:39 ` [Patch v4 06/16] sched/cache: Add user control to adjust the aggressiveness of cache-aware scheduling Tim Chen
2026-05-13 20:39 ` [Patch v4 07/16] sched/cache: Fix rcu warning when accessing sd_llc domain Tim Chen
2026-05-13 20:39 ` [Patch v4 08/16] sched/cache: Fix potential NULL mm pointer access Tim Chen
2026-05-13 20:39 ` [Patch v4 09/16] sched/cache: Annotate lockless accesses to mm->sc_stat.cpu Tim Chen
2026-05-13 20:39 ` [Patch v4 10/16] sched/cache: Fix unpaired account_llc_enqueue/dequeue Tim Chen
2026-05-13 20:39 ` [Patch v4 11/16] sched/cache: Fix checking active load balance by only considering the CFS task Tim Chen
2026-05-13 20:39 ` [Patch v4 12/16] sched/cache: Fix race condition during sched domain rebuild Tim Chen
2026-05-18 14:34 ` Peter Zijlstra
2026-05-19 5:41 ` Chen, Yu C
2026-05-13 20:39 ` [Patch v4 13/16] sched/cache: Fix cache aware scheduling enabling for multi LLCs system Tim Chen
2026-05-18 15:06 ` Peter Zijlstra
2026-05-19 5:52 ` Chen, Yu C
2026-05-13 20:39 ` [Patch v4 14/16] sched/cache: Fix has_multi_llcs iff at least one partition has multiple LLCs Tim Chen
2026-05-13 20:39 ` [Patch v4 15/16] sched/cache: Fix possible overflow when invalidating the preferred CPU Tim Chen
2026-05-18 15:11 ` Peter Zijlstra
2026-05-13 20:39 ` [Patch v4 16/16] sched/cache: Fix stale preferred_llc for a new task Tim Chen
2026-05-20 3:05 ` K Prateek Nayak [this message]
2026-05-20 9:04 ` [Patch v4 00/16] Cache aware scheduling enhancements Chen, Yu C
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=69ff1b28-10d1-4c45-b32b-00d27da5180e@amd.com \
--to=kprateek.nayak@amd.com \
--cc=adamli@os.amperecomputing.com \
--cc=aubrey.li@intel.com \
--cc=bsegall@google.com \
--cc=cyy@cyyself.name \
--cc=dietmar.eggemann@arm.com \
--cc=gavinguo@igalia.com \
--cc=haoxing990@gmail.com \
--cc=hdanton@sina.com \
--cc=jianyong.wu@outlook.com \
--cc=joshdon@google.com \
--cc=juri.lelli@redhat.com \
--cc=len.brown@intel.com \
--cc=libchen@purestorage.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luogengkun2@huawei.com \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=qyousef@layalina.io \
--cc=rostedt@goodmis.org \
--cc=sshegde@linux.ibm.com \
--cc=tim.c.chen@intel.com \
--cc=tim.c.chen@linux.intel.com \
--cc=tingyin.duan@gmail.com \
--cc=vernhao@tencent.com \
--cc=vincent.guittot@linaro.org \
--cc=vineethr@linux.ibm.com \
--cc=vschneid@redhat.com \
--cc=yu.c.chen@intel.com \
--cc=yu.chen.surf@gmail.com \
--cc=zhao1.liu@intel.com \
--cc=ziqianlu@bytedance.com \
/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
all inboxes | Powered by JetHome®