Ping again. The rebased series together with other bitmap patches can be found here: https://github.com/norov/linux/tree/bitmap-20210716 On Sat, Jun 12, 2021 at 05:36:31AM -0700, Yury Norov wrote: > find_first_*_bit() is simpler and faster than 'next' version [1], and they > work identically if start == 0. But in many cases kernel code uses the > 'next' version where 'first' can be used. This series addresses this issue. > > Patches 1-3 move find.h under include/linux as it simplifies development. > Patches 4-8 switch the kernel and tools to find_first_*_bit() implementation > where appropriate. > > Yury Norov (8): > 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 > > 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/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/um/Kconfig | 1 - > arch/xtensa/include/asm/bitops.h | 1 - > drivers/block/rnbd/rnbd-clt.c | 2 +- > drivers/dma/ti/edma.c | 2 +- > 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/pci/controller/dwc/pci-dra7xx.c | 2 +- > drivers/scsi/lpfc/lpfc_sli.c | 10 +- > 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 | 1 + > include/linux/cpumask.h | 30 ++-- > .../bitops => include/linux}/find.h | 149 +++++++++++++++++- > lib/Kconfig | 3 - > lib/find_bit.c | 21 +++ > lib/find_bit_benchmark.c | 21 +++ > lib/genalloc.c | 2 +- > net/ncsi/ncsi-manage.c | 4 +- > tools/include/asm-generic/bitops.h | 1 - > tools/include/linux/bitmap.h | 7 +- > .../bitops => tools/include/linux}/find.h | 54 +++++-- > tools/lib/find_bit.c | 20 +++ > 60 files changed, 319 insertions(+), 185 deletions(-) > rename {tools/include/asm-generic/bitops => include/linux}/find.h (50%) > rename {include/asm-generic/bitops => tools/include/linux}/find.h (83%) > > -- > 2.30.2