From: Peter Zijlstra <peterz@infradead.org>
To: Chen Yu <chen.yu@linux.dev>
Cc: Szabina Korbai <szkorbai@linux.ibm.com>,
K Prateek Nayak <kprateek.nayak@amd.com>,
mingo@kernel.org, longman@redhat.com, chenridong@huaweicloud.com,
juri.lelli@redhat.com, vincent.guittot@linaro.org,
dietmar.eggemann@arm.com, rostedt@goodmis.org,
bsegall@google.com, mgorman@suse.de, vschneid@redhat.com,
tj@kernel.org, hannes@cmpxchg.org, mkoutny@suse.com,
cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
jstultz@google.com, qyousef@layalina.io, euan@linux.ibm.com,
huschle@linux.ibm.com, yu.c.chen@intel.com, tim.c.chen@intel.com,
philip.li@intel.com
Subject: Re: [PATCH v3 0/7] sched: Flatten the pick
Date: Mon, 24 Aug 2026 15:53:23 +0200 [thread overview]
Message-ID: <20260824135323.GS776954@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <aoxah90s0bQ4tcUW@three-body>
On Mon, Aug 24, 2026 at 10:51:51PM +0800, Chen Yu wrote:
> TL;DR,
> The decision made by wake_affine_weight() seems to be affected by the increased
> weight of the wakee under concur mode. As a result, wake_affine_weight() became less
> likely to select this_cpu. This reduced preference for this_cpu leads to a higher
> L2 miss rate on this platform, and consequently lower throughput.
>
> Test summary:
>
> | Config | Throughput (Mbps) | **L2 miss%** | **LLC miss%** |
> | smp + WA_WEIGHT | **470249** | **19.37%** | 60.08% |
> | smp + NO_WA_WEIGHT | 305360 | 32.67% | 60.46% |
> | concur + WA_WEIGHT | 338770 | 31.45% | 62.85% |
> | concur + NO_WA_WEIGHT | 259358 | 36.24% | 61.95% |
(I'm thinking it would've been easier to read if all those '|' were
properly aligned?)
> We can see if WA_WEIGHT is disabled in smp mode, the performance drops to concur. One
> possible reason is that task_h_load(p) returns a very small value in smp mode(just the
> issue that concur wants to fix), whereas it returns a "normal" value in concur mode.
>
> In smp mode, the extremly small value returned by task_h_load(p) can be effectively ignored
> in the comparison in wake_affine_weight(). As a result, the condition for returning this_cpu
> becomes:
>
> cpu_load(cpu_rq(this_cpu)) * 100 < cpu_load(cpu_rq(prev_cpu) * 108
>
> As a result, this_cpu has a higher chance of being selected in smp mode. In concur mode,
> task_h_load(p) is on par with cpu_load(), so it cannot be simply ignored and provides a fairer
> basis for choosing between this_cpu and prev_cpu. Since netperf/netserver is a sync wakeup, it
> prefers to be co-located on the same CPU/L2 domain for better L2 cache locality.
There is something wonky with task_h_load(), it isn't behaving properly.
I've not managed to put a finger on it yet. Let me continue poking at it.
prev parent reply other threads:[~2026-08-24 13:53 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-05 12:40 [PATCH v3 0/7] sched: Flatten the pick Peter Zijlstra
2026-06-05 12:40 ` [PATCH v3 1/7] sched/fair: Add cgroup_mode switch Peter Zijlstra
2026-06-30 9:03 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-06-05 12:40 ` [PATCH v3 2/7] sched/fair: Add cgroup_mode: up Peter Zijlstra
2026-06-05 15:07 ` Peter Zijlstra
2026-06-30 9:03 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-06-05 12:40 ` [PATCH v3 3/7] sched/fair: Add cgroup_mode: max Peter Zijlstra
2026-06-10 15:09 ` Waiman Long
2026-06-10 15:42 ` Waiman Long
2026-06-11 13:49 ` Peter Zijlstra
2026-06-11 13:47 ` Peter Zijlstra
2026-06-11 20:57 ` Waiman Long
2026-06-30 9:03 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-06-05 12:40 ` [PATCH v3 4/7] sched/fair: Add cgroup_mode: concur Peter Zijlstra
2026-06-30 9:03 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-06-05 12:40 ` [PATCH v3 5/7] sched/fair: Add cgroup_mode: tasks Peter Zijlstra
2026-06-30 9:03 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-06-05 12:40 ` [PATCH v3 6/7] sched/fair: Change the default cgroup_mode to concur Peter Zijlstra
2026-06-30 9:03 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-06-05 12:40 ` [PATCH v3 7/7] sched/eevdf: Move to a single runqueue Peter Zijlstra
2026-06-20 3:54 ` Chen, Yu C
2026-06-26 11:40 ` Peter Zijlstra
2026-06-29 14:02 ` Vincent Guittot
2026-06-30 9:03 ` [tip: sched/core] sched/fair: Fix overflow in update_tg_cfs_runnable() tip-bot2 for Chen, Yu C
2026-06-30 9:03 ` [tip: sched/core] sched/eevdf: Move to a single runqueue tip-bot2 for Peter Zijlstra (Intel)
2026-06-09 5:37 ` [PATCH v3 0/7] sched: Flatten the pick K Prateek Nayak
2026-06-12 2:29 ` Shubhang Kaushik
2026-08-17 16:05 ` Szabina Korbai
2026-08-17 16:35 ` K Prateek Nayak
2026-08-18 9:04 ` Szabina Korbai
2026-08-18 9:16 ` Peter Zijlstra
2026-08-21 10:37 ` Szabina Korbai
2026-08-24 14:51 ` Chen Yu
2026-08-24 13:53 ` Peter Zijlstra [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=20260824135323.GS776954@noisy.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=bsegall@google.com \
--cc=cgroups@vger.kernel.org \
--cc=chen.yu@linux.dev \
--cc=chenridong@huaweicloud.com \
--cc=dietmar.eggemann@arm.com \
--cc=euan@linux.ibm.com \
--cc=hannes@cmpxchg.org \
--cc=huschle@linux.ibm.com \
--cc=jstultz@google.com \
--cc=juri.lelli@redhat.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=longman@redhat.com \
--cc=mgorman@suse.de \
--cc=mingo@kernel.org \
--cc=mkoutny@suse.com \
--cc=philip.li@intel.com \
--cc=qyousef@layalina.io \
--cc=rostedt@goodmis.org \
--cc=szkorbai@linux.ibm.com \
--cc=tim.c.chen@intel.com \
--cc=tj@kernel.org \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
--cc=yu.c.chen@intel.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 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.