[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fc22425fbb0e9e11d32cc08a6c1dc1b1da625216.camel@linux.intel.com>
Date: Thu, 16 Oct 2025 13:06:16 -0700
From: Tim Chen <tim.c.chen@...ux.intel.com>
To: Peter Zijlstra <peterz@...radead.org>
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>, Chen Yu
<yu.c.chen@...el.com>, Libo Chen <libo.chen@...cle.com>, Adam Li
<adamli@...amperecomputing.com>, Tim Chen <tim.c.chen@...el.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 07/19] sched/fair: Track LLC-preferred tasks per runqueue
On Thu, 2025-10-16 at 09:44 +0200, Peter Zijlstra wrote:
> On Wed, Oct 15, 2025 at 01:03:37PM -0700, Tim Chen wrote:
> > On Wed, 2025-10-15 at 14:05 +0200, Peter Zijlstra wrote:
> > > On Sat, Oct 11, 2025 at 11:24:44AM -0700, Tim Chen wrote:
> > > > @@ -3999,6 +4038,7 @@ account_entity_enqueue(struct cfs_rq *cfs_rq, struct sched_entity *se)
> > > > struct rq *rq = rq_of(cfs_rq);
> > > >
> > > > account_numa_enqueue(rq, task_of(se));
> > > > + account_llc_enqueue(rq, task_of(se));
> > > > list_add(&se->group_node, &rq->cfs_tasks);
> > >
> > > Here and...
> > >
> > > > }
> > > > cfs_rq->nr_queued++;
> > > > @@ -4010,9 +4050,14 @@ account_entity_dequeue(struct cfs_rq *cfs_rq, struct sched_entity *se)
> > > > update_load_sub(&cfs_rq->load, se->load.weight);
> > > > if (entity_is_task(se)) {
> > > > account_numa_dequeue(rq_of(cfs_rq), task_of(se));
> > > > + account_llc_dequeue(rq_of(cfs_rq), task_of(se));
> > >
> > > ... here, could you please check the compiler is doing CSE of task_of()?
> >
> > Will consolidate those task_of(se).
>
> And rq_of(). But really, check code-gen, it *should* DTRT and CSE the
> lot. If it doesn't, then do it manually.
Looking at the assembly dump, it does look like compiler is doing
the right thing and not computing those twice.
Tim
Powered by blists - more mailing lists