Re: [PATCH v3 8/8] sched/fair: Simplify SIS_UTIL handling in select_idle_cpu()
From: Chen, Yu C
Date: Sat Feb 14 2026 - 10:56:41 EST
On 1/20/2026 7:32 PM, K Prateek Nayak wrote:
Use the "sd_llc" passed to select_idle_cpu() to obtain the
"sd_llc_shared" instead of dereferencing the per-CPU variable.
Since "sd->shared" is always reclaimed at the same time as "sd" via
call_rcu() and update_top_cache_domain() always ensures a valid
"sd->shared" assignment when "sd_llc" is present, "sd_llc->shared" can
always be dereferenced without needing an additional check.
While at it move the cpumask_and() operation after the SIS_UTIL bailout
check to avoid unnecessarily computing the cpumask.
Signed-off-by: K Prateek Nayak <kprateek.nayak@xxxxxxx>
---
Reviewed-by: Chen Yu <yu.c.chen@xxxxxxxxx>
I ran netperf, schbench, hackbench, stress-ng-context,
and stream on a platform with 384 CPUs and 6 nodes, and no
significant differences were observed. (Netperf is of the
greatest interest because SIS_UTIL had a substantial impact
on netperf when it was first introduced.) I suppose
sched/topology: Switch to assigning "sd->shared" from s_data
will have a new version, I'll look at it when it is posted.
netperf
baseline llc
Hmean-96pairs 119.86 ( 0.00%) 122.21 ( 1.96%)
Hmean-192pairs 56.48 ( 0.00%) 57.37 ( 1.57%)
Hmean-288pairs 78.27 ( 0.00%) 78.21 ( -0.08%)
Hmean-384pairs 62.69 ( 0.00%) 62.98 ( 0.47%)
thanks,
Chenyu