Re: [PATCH 0/8] all: use find_next_*_bit() instead of find_first_*_bit() where possible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux