[GIT PULL] bitmap changes for v6.0-rc1

From: Yury Norov
Date: Sun Oct 02 2022 - 22:04:06 EST


The following changes since commit 7e18e42e4b280c85b76967a9106a13ca61c16179:

Linux 6.0-rc4 (2022-09-04 13:10:01 -0700)

are available in the Git repository at:

https://github.com/norov/linux.git tags/bitmap-6.1-rc1

for you to fetch changes up to 78e5a3399421ad79fc024e6d78e2deb7809d26af:

cpumask: fix checking valid cpu range (2022-10-01 10:22:58 -0700)

----------------------------------------------------------------
bitmap patches for v6.1-rc1

Hi Linus,

Please pull this patches. They spent more than a week in -next without
major problems. The only problem with warnings generated by cpumask_check(),
when robots do bisection, is fixed by moving the patch "cpumask: fix
checking valid cpu range" to the very end of the series.

Also, it looks like Phil's patch is already in master, merged through
Greg's tree.

Thanks,
Yury

This branch is based on v6.0-rc4 and includes:

drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES
>From Phil Auld
https://lore.kernel.org/lkml/20220906203542.1796629-1-pauld@xxxxxxxxxx/

cpumask: cleanup nr_cpu_ids vs nr_cpumask_bits mess
>From me
https://lore.kernel.org/lkml/20220905230820.3295223-4-yury.norov@xxxxxxxxx/T/#m96ffe122721893471fd3470d911a8f2fad6d03b3

lib: optimize find_bit() functions
>From me
https://lore.kernel.org/lkml/20220915020730.852234-2-yury.norov@xxxxxxxxx/T/

lib/find: add find_nth_bit()
>From me
https://lore.kernel.org/lkml/20220918030716.1252285-1-yury.norov@xxxxxxxxx/

cpumask: repair cpumask_check()
>From me
https://lore.kernel.org/netdev/xhsmhwn9k3ibb.mognet@xxxxxxxxxxxxxxxxxxx/T/

----------------------------------------------------------------
Phil Auld (1):
drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES

Yury Norov (23):
smp: don't declare nr_cpu_ids if NR_CPUS == 1
smp: add set_nr_cpu_ids()
lib/cpumask: delete misleading comment
lib/cpumask: deprecate nr_cpumask_bits
powerpc/64: don't refer nr_cpu_ids in asm code when it's undefined
lib/cpumask: add FORCE_NR_CPUS config option
lib/find_bit: introduce FIND_FIRST_BIT() macro
lib/find_bit: create find_first_zero_bit_le()
lib/find_bit: optimize find_next_bit() functions
tools: sync find_bit() implementation
lib/bitmap: don't call __bitmap_weight() in kernel code
lib/bitmap: add bitmap_weight_and()
lib: add find_nth{,_and,_andnot}_bit()
lib/bitmap: add tests for find_nth_bit()
lib/bitmap: remove bitmap_ord_to_pos
cpumask: add cpumask_nth_{,and,andnot}
net: fix cpu_max_bits_warn() usage in netif_attrmask_next{,_and}
cpumask: switch for_each_cpu{,_not} to use for_each_bit()
lib/find_bit: add find_next{,_and}_bit_wrap
lib/bitmap: introduce for_each_set_bit_wrap() macro
lib/find: optimize for_each() macros
lib/bitmap: add tests for for_each() loops
cpumask: fix checking valid cpu range

arch/loongarch/kernel/setup.c | 2 +-
arch/mips/kernel/setup.c | 2 +-
arch/powerpc/kernel/head_64.S | 4 +
arch/x86/kernel/smpboot.c | 4 +-
arch/x86/xen/smp_pv.c | 2 +-
fs/ntfs3/bitmap.c | 4 +-
include/linux/bitmap.h | 13 +-
include/linux/bitops.h | 19 +++
include/linux/cpumask.h | 119 +++++++++++------
include/linux/find.h | 272 +++++++++++++++++++++++++++++++++------
include/linux/netdevice.h | 10 +-
include/linux/nodemask.h | 3 +-
kernel/smp.c | 6 +-
lib/Kconfig | 9 ++
lib/bitmap.c | 68 ++++------
lib/cpumask.c | 40 +++---
lib/find_bit.c | 224 +++++++++++++++++++++-----------
lib/find_bit_benchmark.c | 18 +++
lib/test_bitmap.c | 291 +++++++++++++++++++++++++++++++++++++++++-
tools/include/linux/find.h | 61 ++-------
tools/lib/find_bit.c | 149 ++++++++++-----------
21 files changed, 953 insertions(+), 367 deletions(-)