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

From: Yury Norov
Date: Thu Jan 21 2021 - 02:14:39 EST


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?

Thanks,
Yury