lib/cpumask: add inline cpumask_next_wrap() for UP
authorSander Vanheule <sander@svanheule.net>
Tue, 9 Aug 2022 17:36:34 +0000 (19:36 +0200)
committerYury Norov <yury.norov@gmail.com>
Mon, 15 Aug 2022 18:00:44 +0000 (11:00 -0700)
commit2248ccd80124e61c2c84a22b22409bab452e1f0c
treeb6c88a201ab4132acc8f547f2bfdf445abbf0a5c
parentbe599244865cb788abe2c6f59ccb05d7240448e4
lib/cpumask: add inline cpumask_next_wrap() for UP

In the uniprocessor case, cpumask_next_wrap() can be simplified, as the
number of valid argument combinations is limited:
    - 'start' can only be 0
    - 'n' can only be -1 or 0

The only valid CPU that can then be returned, if any, will be the first
one set in the provided 'mask'.

For NR_CPUS == 1, include/linux/cpumask.h now provides an inline
definition of cpumask_next_wrap(), which will conflict with the one
provided by lib/cpumask.c.  Make building of lib/cpumask.o again depend
on CONFIG_SMP=y (i.e. NR_CPUS > 1) to avoid the re-definition.

Suggested-by: Yury Norov <yury.norov@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Yury Norov <yury.norov@gmail.com>
include/linux/cpumask.h
lib/Makefile