mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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


  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®