Re: [PATCH RFC cpumask] Allow "all", "none", and "last" in cpumask strings

From: Paul E. McKenney
Date: Thu Jan 21 2021 - 16:43:47 EST


On Thu, Jan 21, 2021 at 08:57:25AM -0800, Paul E. McKenney wrote:
> On Wed, Jan 20, 2021 at 11:11:48PM -0800, Yury Norov wrote:
> > On Wed, Jan 6, 2021 at 12:49 AM Yury Norov <yury.norov@xxxxxxxxx> wrote:
> > >
> > > On Tue, Jan 5, 2021 at 4:48 PM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:
> > > >
> > > > Hello!
> > > >
> > > > This series allows "all", "none", and "last" to be used in cpumask
> > > > strings. This allows these strings to be less dependent on the underlying
> > > > system. For example, currently a string specifying all but the first
> > > > CPU must be "1-7" on an eight-CPU system and "1-15" on a 16-CPU system.
> > > > With this series, the single string "1-last" can be used regardless of the
> > > > number of CPUs (at least assuming that each system has at least one CPU).
> > >
> > > 'none' may be implemented as an empty string or string with separators only,
> > > but I have nothing against explicit 'none'. See other comments inline.
> > >
> > > Thanks,
> > > Yury.
> > >
> > > > 1. Un-inline cpulist_parse for SMP; prepare for ascii helpers,
> > > > courtesy of Paul Gortmaker.
> > > >
> > > > 2. Make "all" alias global and not just RCU, courtesy of Paul
> > > > Gortmaker.
> > > >
> > > > 3. Add a "none" alias to complement "all", courtesy of Paul
> > > > Gortmaker.
> > > >
> > > > 4. Add "last" alias for cpu list specifications, courtesy of Paul
> > > > Gortmaker.
> > > >
> > > > 5. Use "all" and "last" in "nohz_full" and "rcu_nocbs".
> > > >
> > > > Thanx, Paul
> >
> > Hi Paul,
> >
> > Today I found this series in linux-next despite downsides discovered during
> > the review. This series introduces absolutely unneeded cap on the number of
> > cpus in the system (9999), and also adds unsafe and non-optimal code.
> >
> > In addition to that, I observe this warning on powerpc:
> > CC lib/cpumask.o
> > lib/cpumask.c: In function ‘cpulist_parse’:
> > lib/cpumask.c:222:17: warning: cast from pointer to integer of
> > different size [-Wpointer-to-int-cast]
> > 222 | memblock_free((phys_addr_t)cpulist, len);
> > | ^
> >
> > Can you please revert this series unless all the problems will be fixed?
>
> Thank you for your further review and comments!
>
> I had been keeping the old series as a placeholder for its anticipated
> replacement, but given the compiler warning you note above and given
> that it is getting uncomfortably close to the time when I send my pull
> request, I will remove it from the -rcu rcu/next branch sourced by -next.

Except that the resulting rebasing and testing took too long, so there will
be one more -next with these commits.

Thanx, Paul