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

From: Yury Norov
Date: Thu Dec 15 2022 - 18:12:03 EST


The following changes since commit 76dcd734eca23168cb008912c0f69ff408905235:

Linux 6.1-rc8 (2022-12-04 14:48:12 -0800)

are available in the Git repository at:

git@xxxxxxxxxx:/norov/linux.git tags/bitmap-6.2-rc1

for you to fetch changes up to 2386459394d2a46964829a00c48a08a23ead94ed:

lib/cpumask: update comment for cpumask_local_spread() (2022-12-15 14:44:43 -0800)

----------------------------------------------------------------
Hi Linus,

Please pull bitmap patches for v6.2. They spent in -next for more than
a week without any issues. The branch consists of:

- optimize small_const path for find_next_bit() and friends (me);

Introduces small_const_nbits_off() and uses it in find_next_bit()-like
functions to allow static optimization when all bits to search are
withing a word boundary, even if not a 1st word.

- cpumask: improve on cpumask_local_spread() locality (me):

The series makes cpumask_local_spread() picking Nth CPU based on NUMA
hop distances, which is better than picking CPUs from a given node and
if there's no N cpus - from a random node (how it works now).

- sched, net: NUMA-aware CPU spreading interface (Valentin Schneider,
Tariq Toukan):

Iterators for NUMA-aware CPUs traversing. Better alternative for
cpumask_local_spread(), when it's needed to enumerate all CPUs.

Thanks,
Yury

----------------------------------------------------------------
Tariq Toukan (1):
net/mlx5e: Improve remote NUMA preferences used for the IRQ affinity hints

Valentin Schneider (2):
sched/topology: Introduce sched_numa_hop_mask()
sched/topology: Introduce for_each_numa_hop_mask()

Yury Norov (9):
bitmap: switch from inline to __always_inline
bitmap: improve small_const case for find_next() functions
bitmap: add tests for find_next_bit()
lib/find: introduce find_nth_and_andnot_bit
cpumask: introduce cpumask_nth_and_andnot
sched: add sched_numa_find_nth_cpu()
cpumask: improve on cpumask_local_spread() locality
lib/cpumask: reorganize cpumask_local_spread() logic
lib/cpumask: update comment for cpumask_local_spread()

drivers/net/ethernet/mellanox/mlx5/core/eq.c | 18 ++-
include/asm-generic/bitsperlong.h | 12 ++
include/linux/bitmap.h | 46 ++++----
include/linux/cpumask.h | 164 +++++++++++++++------------
include/linux/find.h | 118 +++++++++++--------
include/linux/nodemask.h | 86 +++++++-------
include/linux/topology.h | 33 ++++++
kernel/sched/topology.c | 90 +++++++++++++++
lib/cpumask.c | 52 +++++----
lib/find_bit.c | 9 ++
lib/test_bitmap.c | 23 +++-
11 files changed, 438 insertions(+), 213 deletions(-)