Re: [PATCH v2] sched/task_group: Re-layout structure to reduce false sharing

From: Chen Yu
Date: Tue Jun 27 2023 - 04:08:35 EST


On 2023-06-26 at 10:09:10 -0700, Tim Chen wrote:
> On Mon, 2023-06-26 at 15:52 +0800, Chen Yu wrote:
> >
> >
> > diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
> > index ec7b3e0a2b20..067f1310bad2 100644
> > --- a/kernel/sched/sched.h
> > +++ b/kernel/sched/sched.h
> > @@ -1958,8 +1958,10 @@ static inline void set_task_rq(struct task_struct *p, unsigned int cpu)
> > #endif
> >
> > #ifdef CONFIG_RT_GROUP_SCHED
> > - p->rt.rt_rq = tg->rt_rq[cpu];
> > - p->rt.parent = tg->rt_se[cpu];
> > + if (p->sched_class = &rt_sched_class) {
> > + p->rt.rt_rq = tg->rt_rq[cpu];
> > + p->rt.parent = tg->rt_se[cpu];
> > + }
>
> If we avoid the assignment for non-rt task, do you see it further improves
> c2c bounce?
>
I did not see noticeable extra throughput improvement from netperf, with
above change + Aaron's fix + Pan's cacheline alignment adjustment.

thanks,
Chenyu