Re: [PATCH v2 4/8] sched/deadline: Rebuild root domain accounting after every update

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/03/25 12:03, Shrikanth Hegde wrote:
> Hi Juri.
> 
> On 3/6/25 19:40, Juri Lelli wrote:
> > Rebuilding of root domains accounting information (total_bw) is
> > currently broken on some cases, e.g. suspend/resume on aarch64. Problem
> > is that the way we keep track of domain changes and try to add bandwidth
> > back is convoluted and fragile.
> > 
> > Fix it by simplify things by making sure bandwidth accounting is cleared
> > and completely restored after root domains changes (after root domains
> > are again stable).
> > 
> > Reported-by: Jon Hunter <jonathanh@xxxxxxxxxx>
> > Fixes: 53916d5fd3c0 ("sched/deadline: Check bandwidth overflow earlier for hotplug")
> > Signed-off-by: Juri Lelli <juri.lelli@xxxxxxxxxx>
> > ---
> >   include/linux/sched/deadline.h |  4 ++++
> >   include/linux/sched/topology.h |  2 ++
> >   kernel/cgroup/cpuset.c         | 16 +++++++++-------
> >   kernel/sched/deadline.c        | 16 ++++++++++------
> >   kernel/sched/topology.c        |  1 +
> >   5 files changed, 26 insertions(+), 13 deletions(-)
> > 
> > diff --git a/include/linux/sched/deadline.h b/include/linux/sched/deadline.h
> > index 6ec578600b24..a780068aa1a5 100644
> > --- a/include/linux/sched/deadline.h
> > +++ b/include/linux/sched/deadline.h
> > @@ -34,6 +34,10 @@ static inline bool dl_time_before(u64 a, u64 b)
> >   struct root_domain;
> >   extern void dl_add_task_root_domain(struct task_struct *p);
> >   extern void dl_clear_root_domain(struct root_domain *rd);
> > +extern void dl_clear_root_domain_cpu(int cpu);
> > +
> > +extern u64 dl_cookie;
> > +extern bool dl_bw_visited(int cpu, u64 gen);
> 
> Is this needed? There is same declaration outside of CONFIG_SMP done in
> patch 3/8.

Nope. Good catch.

Thanks,
Juri





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux