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

From: Paul E. McKenney
Date: Thu Jan 21 2021 - 11:59:30 EST


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.

Thanx, Paul