[PATCH RESEND 00/17] Resend bitmap patches

From: Yury Norov
Date: Sat Aug 14 2021 - 17:17:30 EST


This is a resend of previously submitted series:
https://lore.kernel.org/patchwork/cover/1462071/
https://lore.kernel.org/patchwork/patch/1458703/
https://lore.kernel.org/lkml/YPG8SdsbQ+sxjk0w@yury-ThinkPad/T/
https://lore.kernel.org/lkml/YMVSHCY9yEocmfVD@yury-ThinkPad/T/

Most of the patches received testing and review. If I missed to
add someone's review tag putting all together - my kind apologise.
Please resend it here.

I believe I addessed all comments except Joe's one. In comment to patch 3,
Joe Perches suggested to rename include/linux/find.h, but didn't give a
new name, so I leave it as is. Since this header is not for direct
inclusion, I'm OK with any reasonable name, and we can change it later.

Andrew, can you please take this series in linux-next?

Andy Shevchenko (1):
tools: Rename bitmap_alloc() to bitmap_zalloc()

Yury Norov (16):
bitops: protect find_first_{,zero}_bit properly
bitops: move find_bit_*_le functions from le.h to find.h
include: move find.h from asm_generic to linux
arch: remove GENERIC_FIND_FIRST_BIT entirely
lib: add find_first_and_bit()
cpumask: use find_first_and_bit()
all: replace find_next{,_zero}_bit with find_first{,_zero}_bit where
appropriate
tools: sync tools/bitmap with mother linux
cpumask: replace cpumask_next_* with cpumask_first_* where appropriate
include/linux: move for_each_bit() macros from bitops.h to find.h
find: micro-optimize for_each_{set,clear}_bit()
Replace for_each_*_bit_from() with for_each_*_bit() where appropriate
mm/percpu: micro-optimize pcpu_is_populated()
bitmap: unify find_bit operations
lib: bitmap: add performance test for bitmap_print_to_pagebuf
vsprintf: rework bitmap_list_string

MAINTAINERS | 4 +-
arch/alpha/include/asm/bitops.h | 2 -
arch/arc/Kconfig | 1 -
arch/arc/include/asm/bitops.h | 1 -
arch/arm/include/asm/bitops.h | 1 -
arch/arm64/Kconfig | 1 -
arch/arm64/include/asm/bitops.h | 1 -
arch/csky/include/asm/bitops.h | 1 -
arch/h8300/include/asm/bitops.h | 1 -
arch/hexagon/include/asm/bitops.h | 1 -
arch/ia64/include/asm/bitops.h | 2 -
arch/m68k/include/asm/bitops.h | 2 -
arch/mips/Kconfig | 1 -
arch/mips/include/asm/bitops.h | 1 -
arch/openrisc/include/asm/bitops.h | 1 -
arch/parisc/include/asm/bitops.h | 2 -
arch/powerpc/include/asm/bitops.h | 2 -
arch/powerpc/include/asm/cputhreads.h | 2 +-
arch/powerpc/platforms/pasemi/dma_lib.c | 4 +-
arch/riscv/include/asm/bitops.h | 1 -
arch/s390/Kconfig | 1 -
arch/s390/include/asm/bitops.h | 1 -
arch/s390/kvm/kvm-s390.c | 2 +-
arch/sh/include/asm/bitops.h | 1 -
arch/sparc/include/asm/bitops_32.h | 1 -
arch/sparc/include/asm/bitops_64.h | 2 -
arch/x86/Kconfig | 1 -
arch/x86/include/asm/bitops.h | 2 -
arch/x86/kernel/apic/vector.c | 4 +-
arch/x86/um/Kconfig | 1 -
arch/xtensa/include/asm/bitops.h | 1 -
block/blk-mq.c | 2 +-
drivers/block/rnbd/rnbd-clt.c | 2 +-
drivers/dma/ti/edma.c | 2 +-
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 4 +-
drivers/hwmon/ltc2992.c | 3 +-
drivers/iio/adc/ad7124.c | 2 +-
drivers/infiniband/hw/irdma/hw.c | 16 +-
drivers/media/cec/core/cec-core.c | 2 +-
drivers/media/mc/mc-devnode.c | 2 +-
drivers/mmc/host/renesas_sdhi_core.c | 2 +-
drivers/net/virtio_net.c | 2 +-
drivers/pci/controller/dwc/pci-dra7xx.c | 2 +-
drivers/scsi/lpfc/lpfc_sli.c | 10 +-
drivers/soc/fsl/qbman/bman_portal.c | 2 +-
drivers/soc/fsl/qbman/qman_portal.c | 2 +-
drivers/soc/ti/k3-ringacc.c | 4 +-
drivers/tty/n_tty.c | 2 +-
drivers/virt/acrn/ioreq.c | 3 +-
fs/f2fs/segment.c | 8 +-
fs/ocfs2/cluster/heartbeat.c | 2 +-
fs/ocfs2/dlm/dlmdomain.c | 4 +-
fs/ocfs2/dlm/dlmmaster.c | 18 +-
fs/ocfs2/dlm/dlmrecovery.c | 2 +-
fs/ocfs2/dlm/dlmthread.c | 2 +-
include/asm-generic/bitops.h | 1 -
include/asm-generic/bitops/le.h | 64 ---
include/linux/bitmap.h | 34 +-
include/linux/bitops.h | 34 --
include/linux/cpumask.h | 46 ++-
include/linux/find.h | 372 ++++++++++++++++++
kernel/time/clocksource.c | 4 +-
lib/Kconfig | 3 -
lib/find_bit.c | 21 +
lib/find_bit_benchmark.c | 21 +
lib/genalloc.c | 2 +-
lib/test_bitmap.c | 37 ++
lib/vsprintf.c | 24 +-
mm/percpu.c | 35 +-
net/ncsi/ncsi-manage.c | 4 +-
tools/include/asm-generic/bitops.h | 1 -
tools/include/asm-generic/bitops/find.h | 145 -------
tools/include/linux/bitmap.h | 11 +-
.../bitops => tools/include/linux}/find.h | 54 ++-
tools/lib/find_bit.c | 20 +
tools/perf/bench/find-bit-bench.c | 2 +-
tools/perf/builtin-c2c.c | 6 +-
tools/perf/builtin-record.c | 2 +-
tools/perf/tests/bitmap.c | 2 +-
tools/perf/tests/mem2node.c | 2 +-
tools/perf/util/affinity.c | 4 +-
tools/perf/util/header.c | 4 +-
tools/perf/util/metricgroup.c | 2 +-
tools/perf/util/mmap.c | 4 +-
.../selftests/kvm/dirty_log_perf_test.c | 2 +-
tools/testing/selftests/kvm/dirty_log_test.c | 4 +-
.../selftests/kvm/x86_64/vmx_dirty_log_test.c | 2 +-
87 files changed, 657 insertions(+), 461 deletions(-)
create mode 100644 include/linux/find.h
delete mode 100644 tools/include/asm-generic/bitops/find.h
rename {include/asm-generic/bitops => tools/include/linux}/find.h (83%)

--
2.30.2