Re: [PATCH v3 3/7] sched/fair: Add cgroup_mode: max
From: Peter Zijlstra
Date: Thu Jun 11 2026 - 09:54:33 EST
On Wed, Jun 10, 2026 at 11:42:47AM -0400, Waiman Long wrote:
> > > --- a/kernel/cgroup/cpuset.c
> > > +++ b/kernel/cgroup/cpuset.c
> > > @@ -4116,6 +4116,21 @@ bool cpuset_cpus_allowed_fallback(struct
> > > return changed;
> > > }
> > > +int cpuset_num_cpus(struct cgroup *cgrp)
> > > +{
> > > + int nr = num_online_cpus();
> > > + struct cpuset *cs;
> > > +
> > > + if (is_in_v2_mode()) {
> > > + guard(rcu)();
> > > + cs = css_cs(cgroup_e_css(cgrp, &cpuset_cgrp_subsys));
> > > + if (cs)
> > > + nr = cpumask_weight(cs->effective_cpus);
> > > + }
> > > +
> > > + return nr;
> > > +}
> FYI, you may have to take the callback_lock to ensure the stability of the
> effective_cpus mask.
That seems pointless, the moment we drop that lock, its changeable
again. Either way around nr is but a snapshot.