[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <18ae1739-fe2f-4cd0-a7ea-35b908b42737@intel.com>
Date: Tue, 16 Dec 2025 08:52:52 +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>, Vern Hao <haoxing990@...il.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>, Aaron Lu <ziqianlu@...edance.com>, Tim Chen
<tim.c.chen@...el.com>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 12/23] sched/cache: Add migrate_llc_task migration type
for cache-aware balancing
On 12/10/2025 9:32 PM, Peter Zijlstra wrote:
> On Wed, Dec 03, 2025 at 03:07:31PM -0800, Tim Chen wrote:
>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>> index db555c11b5b8..529adf342ce0 100644
>> --- a/kernel/sched/fair.c
>> +++ b/kernel/sched/fair.c
>> @@ -9547,7 +9547,8 @@ enum migration_type {
>> migrate_load = 0,
>> migrate_util,
>> migrate_task,
>> - migrate_misfit
>> + migrate_misfit,
>> + migrate_llc_task
>> };
>>
>> #define LBF_ALL_PINNED 0x01
>> @@ -10134,6 +10135,10 @@ static int detach_tasks(struct lb_env *env)
>> env->imbalance -= util;
>> break;
>>
>> + case migrate_llc_task:
>> + env->imbalance--;
>> + break;
>> +
>> case migrate_task:
>> env->imbalance--;
>> break;
>
>> @@ -12181,6 +12199,16 @@ static struct rq *sched_balance_find_src_rq(struct lb_env *env,
>> }
>> break;
>>
>> + case migrate_llc_task:
>> +#ifdef CONFIG_SCHED_CACHE
>> + dst_llc = llc_id(env->dst_cpu);
>> + if (dst_llc >= 0 &&
>> + busiest_pref_llc < rq->nr_pref_llc[dst_llc]) {
>> + busiest_pref_llc = rq->nr_pref_llc[dst_llc];
>> + busiest = rq;
>> + }
>> +#endif
>> + break;
>> case migrate_task:
>> if (busiest_nr < nr_running) {
>> busiest_nr = nr_running;
>> @@ -12363,6 +12391,8 @@ static void update_lb_imbalance_stat(struct lb_env *env, struct sched_domain *sd
>> case migrate_misfit:
>> __schedstat_add(sd->lb_imbalance_misfit[idle], env->imbalance);
>> break;
>> + case migrate_llc_task:
>> + break;
>> }
>> }
>
> The enum and all switch statements had the same order; you wrecked it!
OK, will fix the order.
Thanks,
Chenyu
Powered by blists - more mailing lists