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

From: Yury Norov
Date: Wed Jan 06 2021 - 03:51:13 EST


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
>
> ------------------------------------------------------------------------
>
> Documentation/admin-guide/kernel-parameters.rst | 20 +
> Documentation/admin-guide/kernel-parameters.txt | 4
> include/linux/cpumask.h | 8
> kernel/rcu/tree_plugin.h | 13 -
> lib/cpumask.c | 136 ++++++++++++-
> tools/testing/selftests/rcutorture/configs/rcu/TREE04.boot | 2
> tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot | 2
> 7 files changed, 169 insertions(+), 16 deletions(-)