[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <15b871f2-49b8-4b62-926d-31f93ad49f51@intel.com>
Date: Thu, 16 Oct 2025 00:25:27 +0800
From: "Chen, Yu C" <yu.c.chen@...el.com>
To: Peter Zijlstra <peterz@...radead.org>, Tim Chen
<tim.c.chen@...ux.intel.com>
CC: Ingo Molnar <mingo@...hat.com>, K Prateek Nayak <kprateek.nayak@....com>,
"Gautham R . Shenoy" <gautham.shenoy@....com>, Vincent Guittot
<vincent.guittot@...aro.org>, Juri Lelli <juri.lelli@...hat.com>, "Dietmar
Eggemann" <dietmar.eggemann@....com>, Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>, "Valentin
Schneider" <vschneid@...hat.com>, Madadi Vineeth Reddy
<vineethr@...ux.ibm.com>, Hillf Danton <hdanton@...a.com>, Shrikanth Hegde
<sshegde@...ux.ibm.com>, Jianyong Wu <jianyong.wu@...look.com>, Yangyu Chen
<cyy@...self.name>, Tingyin Duan <tingyin.duan@...il.com>, Vern Hao
<vernhao@...cent.com>, Len Brown <len.brown@...el.com>, Aubrey Li
<aubrey.li@...el.com>, Zhao Liu <zhao1.liu@...el.com>, Chen Yu
<yu.chen.surf@...il.com>, Adam Li <adamli@...amperecomputing.com>, Tim Chen
<tim.c.chen@...el.com>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 04/19] sched/fair: Introduce a static key to enable cache
aware only for multi LLCs
On 10/15/2025 7:04 PM, Peter Zijlstra wrote:
> On Sat, Oct 11, 2025 at 11:24:41AM -0700, Tim Chen wrote:
>> From: Chen Yu <yu.c.chen@...el.com>
>>
>> Enable cache-aware load balancing only if at least 1 NUMA node has
>> more than one LLC.
>>
>> Suggested-by: Libo Chen <libo.chen@...cle.com>
>> Suggested-by: Adam Li <adamli@...amperecomputing.com>
>> Signed-off-by: Chen Yu <yu.c.chen@...el.com>
>> Signed-off-by: Tim Chen <tim.c.chen@...ux.intel.com>
>> ---
>> kernel/sched/fair.c | 15 ++++++++++++---
>> kernel/sched/sched.h | 1 +
>> kernel/sched/topology.c | 14 ++++++++++++--
>> 3 files changed, 25 insertions(+), 5 deletions(-)
>>
>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>> index cd080468ddc9..3d643449c48c 100644
>> --- a/kernel/sched/fair.c
>> +++ b/kernel/sched/fair.c
>> @@ -1208,6 +1208,14 @@ static s64 update_se(struct rq *rq, struct sched_entity *se)
>> __read_mostly unsigned int llc_overload_pct = 50;
>> __read_mostly unsigned int llc_imb_pct = 20;
>>
>> +DEFINE_STATIC_KEY_FALSE(sched_cache_allowed);
>> +
>> +static inline bool sched_cache_enabled(void)
>> +{
>> + return sched_feat(SCHED_CACHE) &&
>> + static_branch_likely(&sched_cache_allowed);
>> +}
>
> Urgh; do we really need _2_ static keys stacked for this? I'm thinking
> one should be well enough.
SCHED_CACHE allows user space to turn on/off the feature at runtime,
while sched_cache_allow is a hardware capability. This capability is
disabled if there are no multiple LLCs within one node. I’m not sure
if using one key could support the above two scenarios.
thanks,
Chenyu
Powered by blists - more mailing lists