linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND 2 00/16] Resend bitmap patches
@ 2021-10-01 18:12 Yury Norov
  2021-10-01 18:12 ` [PATCH 01/16] bitops: protect find_first_{,zero}_bit properly Yury Norov
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Yury Norov @ 2021-10-01 18:12 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Yury Norov, Andrew Morton, linux-kernel, linux-mm, linux-arch,
	linux-kselftest, linux-mmc, linux-perf-users, kvm,
	James E.J. Bottomley, Alexander Lobakin, Alexander Shishkin,
	Alexey Klimov, Andrea Merello, Andy Shevchenko,
	Arnaldo Carvalho de Melo, Arnd Bergmann, Ben Gardon,
	Benjamin Herrenschmidt, Brian Cain, Catalin Marinas,
	Christoph Lameter, Daniel Bristot de Oliveira, David Hildenbrand,
	Dennis Zhou, Geert Uytterhoeven, Heiko Carstens, Ian Rogers,
	Ingo Molnar, Jaegeuk Kim, Jakub Kicinski, Jiri Olsa, Joe Perches,
	Jonas Bonn, Leo Yan, Mark Rutland, Namhyung Kim, Palmer Dabbelt,
	Paolo Bonzini, Peter Xu, Peter Zijlstra, Petr Mladek,
	Rasmus Villemoes, Rich Felker, Samuel Mendoza-Jonas,
	Sean Christopherson, Sergey Senozhatsky, Shuah Khan,
	Stefan Kristiansson, Steven Rostedt, Tejun Heo,
	Thomas Bogendoerfer, Ulf Hansson, Will Deacon, Wolfram Sang,
	Yoshinori Sato

Hi Stephen,

Can you please take this series into the next tree? It has been already
in next-tree for 5.14:

https://lore.kernel.org/linux-mmc/YSeduU41Ef568xhS@alley/T/

But it was damaged and we decided to merge it in 5.15 cycle. No changes
comparing to 5.14, except for Andy's patch that was already upstreamed
and therefore removed from here.

The git tree is here:
	https://github.com/norov/linux/tree/bitmap-20210929

Thanks,
Yury

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                  |   7 +-
 .../bitops => tools/include/linux}/find.h     |  54 ++-
 tools/lib/find_bit.c                          |  20 +
 75 files changed, 637 insertions(+), 441 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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 01/16] bitops: protect find_first_{,zero}_bit properly
  2021-10-01 18:12 [PATCH RESEND 2 00/16] Resend bitmap patches Yury Norov
@ 2021-10-01 18:12 ` Yury Norov
  2021-10-01 18:12 ` [PATCH 02/16] bitops: move find_bit_*_le functions from le.h to find.h Yury Norov
  2021-10-01 18:23 ` [PATCH RESEND 2 00/16] Resend bitmap patches Andy Shevchenko
  2 siblings, 0 replies; 7+ messages in thread
From: Yury Norov @ 2021-10-01 18:12 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Yury Norov, Andrew Morton, linux-kernel, linux-mm, linux-arch,
	linux-kselftest, linux-mmc, linux-perf-users, kvm,
	James E.J. Bottomley, Alexander Lobakin, Alexander Shishkin,
	Alexey Klimov, Andrea Merello, Andy Shevchenko,
	Arnaldo Carvalho de Melo, Arnd Bergmann, Ben Gardon,
	Benjamin Herrenschmidt, Brian Cain, Catalin Marinas,
	Christoph Lameter, Daniel Bristot de Oliveira, David Hildenbrand,
	Dennis Zhou, Geert Uytterhoeven, Heiko Carstens, Ian Rogers,
	Ingo Molnar, Jaegeuk Kim, Jakub Kicinski, Jiri Olsa, Joe Perches,
	Jonas Bonn, Leo Yan, Mark Rutland, Namhyung Kim, Palmer Dabbelt,
	Paolo Bonzini, Peter Xu, Peter Zijlstra, Petr Mladek,
	Rasmus Villemoes, Rich Felker, Samuel Mendoza-Jonas,
	Sean Christopherson, Sergey Senozhatsky, Shuah Khan,
	Stefan Kristiansson, Steven Rostedt, Tejun Heo,
	Thomas Bogendoerfer, Ulf Hansson, Will Deacon, Wolfram Sang,
	Yoshinori Sato, kernel test robot

find_first_bit() and find_first_zero_bit() are not protected with
ifdefs as other functions in find.h. It causes build errors on some
platforms if CONFIG_GENERIC_FIND_FIRST_BIT is enabled.

Signed-off-by: Yury Norov <yury.norov@gmail.com>
Fixes: 2cc7b6a44ac2 ("lib: add fast path for find_first_*_bit() and find_last_bit()")
Reported-by: kernel test robot <lkp@intel.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 include/asm-generic/bitops/find.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/asm-generic/bitops/find.h b/include/asm-generic/bitops/find.h
index 0d132ee2a291..835f959a25f2 100644
--- a/include/asm-generic/bitops/find.h
+++ b/include/asm-generic/bitops/find.h
@@ -97,6 +97,7 @@ unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
 
 #ifdef CONFIG_GENERIC_FIND_FIRST_BIT
 
+#ifndef find_first_bit
 /**
  * find_first_bit - find the first set bit in a memory region
  * @addr: The address to start the search at
@@ -116,7 +117,9 @@ unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
 
 	return _find_first_bit(addr, size);
 }
+#endif
 
+#ifndef find_first_zero_bit
 /**
  * find_first_zero_bit - find the first cleared bit in a memory region
  * @addr: The address to start the search at
@@ -136,6 +139,8 @@ unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
 
 	return _find_first_zero_bit(addr, size);
 }
+#endif
+
 #else /* CONFIG_GENERIC_FIND_FIRST_BIT */
 
 #ifndef find_first_bit
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 02/16] bitops: move find_bit_*_le functions from le.h to find.h
  2021-10-01 18:12 [PATCH RESEND 2 00/16] Resend bitmap patches Yury Norov
  2021-10-01 18:12 ` [PATCH 01/16] bitops: protect find_first_{,zero}_bit properly Yury Norov
@ 2021-10-01 18:12 ` Yury Norov
  2021-10-01 18:23 ` [PATCH RESEND 2 00/16] Resend bitmap patches Andy Shevchenko
  2 siblings, 0 replies; 7+ messages in thread
From: Yury Norov @ 2021-10-01 18:12 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Yury Norov, Andrew Morton, linux-kernel, linux-mm, linux-arch,
	linux-kselftest, linux-mmc, linux-perf-users, kvm,
	James E.J. Bottomley, Alexander Lobakin, Alexander Shishkin,
	Alexey Klimov, Andrea Merello, Andy Shevchenko,
	Arnaldo Carvalho de Melo, Arnd Bergmann, Ben Gardon,
	Benjamin Herrenschmidt, Brian Cain, Catalin Marinas,
	Christoph Lameter, Daniel Bristot de Oliveira, David Hildenbrand,
	Dennis Zhou, Geert Uytterhoeven, Heiko Carstens, Ian Rogers,
	Ingo Molnar, Jaegeuk Kim, Jakub Kicinski, Jiri Olsa, Joe Perches,
	Jonas Bonn, Leo Yan, Mark Rutland, Namhyung Kim, Palmer Dabbelt,
	Paolo Bonzini, Peter Xu, Peter Zijlstra, Petr Mladek,
	Rasmus Villemoes, Rich Felker, Samuel Mendoza-Jonas,
	Sean Christopherson, Sergey Senozhatsky, Shuah Khan,
	Stefan Kristiansson, Steven Rostedt, Tejun Heo,
	Thomas Bogendoerfer, Ulf Hansson, Will Deacon, Wolfram Sang,
	Yoshinori Sato

It's convenient to have all find_bit declarations in one place.

Signed-off-by: Yury Norov <yury.norov@gmail.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 include/asm-generic/bitops/find.h | 69 +++++++++++++++++++++++++++++++
 include/asm-generic/bitops/le.h   | 64 ----------------------------
 2 files changed, 69 insertions(+), 64 deletions(-)

diff --git a/include/asm-generic/bitops/find.h b/include/asm-generic/bitops/find.h
index 835f959a25f2..91b1b23f2b0c 100644
--- a/include/asm-generic/bitops/find.h
+++ b/include/asm-generic/bitops/find.h
@@ -190,4 +190,73 @@ extern unsigned long find_next_clump8(unsigned long *clump,
 #define find_first_clump8(clump, bits, size) \
 	find_next_clump8((clump), (bits), (size), 0)
 
+#if defined(__LITTLE_ENDIAN)
+
+static inline unsigned long find_next_zero_bit_le(const void *addr,
+		unsigned long size, unsigned long offset)
+{
+	return find_next_zero_bit(addr, size, offset);
+}
+
+static inline unsigned long find_next_bit_le(const void *addr,
+		unsigned long size, unsigned long offset)
+{
+	return find_next_bit(addr, size, offset);
+}
+
+static inline unsigned long find_first_zero_bit_le(const void *addr,
+		unsigned long size)
+{
+	return find_first_zero_bit(addr, size);
+}
+
+#elif defined(__BIG_ENDIAN)
+
+#ifndef find_next_zero_bit_le
+static inline
+unsigned long find_next_zero_bit_le(const void *addr, unsigned
+		long size, unsigned long offset)
+{
+	if (small_const_nbits(size)) {
+		unsigned long val = *(const unsigned long *)addr;
+
+		if (unlikely(offset >= size))
+			return size;
+
+		val = swab(val) | ~GENMASK(size - 1, offset);
+		return val == ~0UL ? size : ffz(val);
+	}
+
+	return _find_next_bit(addr, NULL, size, offset, ~0UL, 1);
+}
+#endif
+
+#ifndef find_next_bit_le
+static inline
+unsigned long find_next_bit_le(const void *addr, unsigned
+		long size, unsigned long offset)
+{
+	if (small_const_nbits(size)) {
+		unsigned long val = *(const unsigned long *)addr;
+
+		if (unlikely(offset >= size))
+			return size;
+
+		val = swab(val) & GENMASK(size - 1, offset);
+		return val ? __ffs(val) : size;
+	}
+
+	return _find_next_bit(addr, NULL, size, offset, 0UL, 1);
+}
+#endif
+
+#ifndef find_first_zero_bit_le
+#define find_first_zero_bit_le(addr, size) \
+	find_next_zero_bit_le((addr), (size), 0)
+#endif
+
+#else
+#error "Please fix <asm/byteorder.h>"
+#endif
+
 #endif /*_ASM_GENERIC_BITOPS_FIND_H_ */
diff --git a/include/asm-generic/bitops/le.h b/include/asm-generic/bitops/le.h
index 5a28629cbf4d..d51beff60375 100644
--- a/include/asm-generic/bitops/le.h
+++ b/include/asm-generic/bitops/le.h
@@ -2,83 +2,19 @@
 #ifndef _ASM_GENERIC_BITOPS_LE_H_
 #define _ASM_GENERIC_BITOPS_LE_H_
 
-#include <asm-generic/bitops/find.h>
 #include <asm/types.h>
 #include <asm/byteorder.h>
-#include <linux/swab.h>
 
 #if defined(__LITTLE_ENDIAN)
 
 #define BITOP_LE_SWIZZLE	0
 
-static inline unsigned long find_next_zero_bit_le(const void *addr,
-		unsigned long size, unsigned long offset)
-{
-	return find_next_zero_bit(addr, size, offset);
-}
-
-static inline unsigned long find_next_bit_le(const void *addr,
-		unsigned long size, unsigned long offset)
-{
-	return find_next_bit(addr, size, offset);
-}
-
-static inline unsigned long find_first_zero_bit_le(const void *addr,
-		unsigned long size)
-{
-	return find_first_zero_bit(addr, size);
-}
-
 #elif defined(__BIG_ENDIAN)
 
 #define BITOP_LE_SWIZZLE	((BITS_PER_LONG-1) & ~0x7)
 
-#ifndef find_next_zero_bit_le
-static inline
-unsigned long find_next_zero_bit_le(const void *addr, unsigned
-		long size, unsigned long offset)
-{
-	if (small_const_nbits(size)) {
-		unsigned long val = *(const unsigned long *)addr;
-
-		if (unlikely(offset >= size))
-			return size;
-
-		val = swab(val) | ~GENMASK(size - 1, offset);
-		return val == ~0UL ? size : ffz(val);
-	}
-
-	return _find_next_bit(addr, NULL, size, offset, ~0UL, 1);
-}
-#endif
-
-#ifndef find_next_bit_le
-static inline
-unsigned long find_next_bit_le(const void *addr, unsigned
-		long size, unsigned long offset)
-{
-	if (small_const_nbits(size)) {
-		unsigned long val = *(const unsigned long *)addr;
-
-		if (unlikely(offset >= size))
-			return size;
-
-		val = swab(val) & GENMASK(size - 1, offset);
-		return val ? __ffs(val) : size;
-	}
-
-	return _find_next_bit(addr, NULL, size, offset, 0UL, 1);
-}
 #endif
 
-#ifndef find_first_zero_bit_le
-#define find_first_zero_bit_le(addr, size) \
-	find_next_zero_bit_le((addr), (size), 0)
-#endif
-
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
 
 static inline int test_bit_le(int nr, const void *addr)
 {
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH RESEND 2 00/16] Resend bitmap patches
  2021-10-01 18:12 [PATCH RESEND 2 00/16] Resend bitmap patches Yury Norov
  2021-10-01 18:12 ` [PATCH 01/16] bitops: protect find_first_{,zero}_bit properly Yury Norov
  2021-10-01 18:12 ` [PATCH 02/16] bitops: move find_bit_*_le functions from le.h to find.h Yury Norov
@ 2021-10-01 18:23 ` Andy Shevchenko
  2021-10-01 18:36   ` Yury Norov
  2 siblings, 1 reply; 7+ messages in thread
From: Andy Shevchenko @ 2021-10-01 18:23 UTC (permalink / raw)
  To: Yury Norov
  Cc: Stephen Rothwell, Andrew Morton, linux-kernel, linux-mm,
	linux-arch, linux-kselftest, linux-mmc, linux-perf-users, kvm,
	James E.J. Bottomley, Alexander Lobakin, Alexander Shishkin,
	Alexey Klimov, Andrea Merello, Arnaldo Carvalho de Melo,
	Arnd Bergmann, Ben Gardon, Benjamin Herrenschmidt, Brian Cain,
	Catalin Marinas, Christoph Lameter, Daniel Bristot de Oliveira,
	David Hildenbrand, Dennis Zhou, Geert Uytterhoeven,
	Heiko Carstens, Ian Rogers, Ingo Molnar, Jaegeuk Kim,
	Jakub Kicinski, Jiri Olsa, Joe Perches, Jonas Bonn, Leo Yan,
	Mark Rutland, Namhyung Kim, Palmer Dabbelt, Paolo Bonzini,
	Peter Xu, Peter Zijlstra, Petr Mladek, Rasmus Villemoes,
	Rich Felker, Samuel Mendoza-Jonas, Sean Christopherson,
	Sergey Senozhatsky, Shuah Khan, Stefan Kristiansson,
	Steven Rostedt, Tejun Heo, Thomas Bogendoerfer, Ulf Hansson,
	Will Deacon, Wolfram Sang, Yoshinori Sato

On Fri, Oct 01, 2021 at 11:12:10AM -0700, Yury Norov wrote:
> Hi Stephen,
> 
> Can you please take this series into the next tree? It has been already
> in next-tree for 5.14:
> 
> https://lore.kernel.org/linux-mmc/YSeduU41Ef568xhS@alley/T/
> 
> But it was damaged and we decided to merge it in 5.15 cycle. No changes
> comparing to 5.14, except for Andy's patch that was already upstreamed
> and therefore removed from here.
> 
> The git tree is here:
> 	https://github.com/norov/linux/tree/bitmap-20210929


This is a dup with the same subject. Which one should we look into?

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH RESEND 2 00/16] Resend bitmap patches
  2021-10-01 18:23 ` [PATCH RESEND 2 00/16] Resend bitmap patches Andy Shevchenko
@ 2021-10-01 18:36   ` Yury Norov
  0 siblings, 0 replies; 7+ messages in thread
From: Yury Norov @ 2021-10-01 18:36 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Stephen Rothwell, Andrew Morton, linux-kernel, linux-mm,
	linux-arch, linux-kselftest, linux-mmc, linux-perf-users, kvm,
	James E.J. Bottomley, Alexander Lobakin, Alexander Shishkin,
	Alexey Klimov, Andrea Merello, Arnaldo Carvalho de Melo,
	Arnd Bergmann, Ben Gardon, Benjamin Herrenschmidt, Brian Cain,
	Catalin Marinas, Christoph Lameter, Daniel Bristot de Oliveira,
	David Hildenbrand, Dennis Zhou, Geert Uytterhoeven,
	Heiko Carstens, Ian Rogers, Ingo Molnar, Jaegeuk Kim,
	Jakub Kicinski, Jiri Olsa, Joe Perches, Jonas Bonn, Leo Yan,
	Mark Rutland, Namhyung Kim, Palmer Dabbelt, Paolo Bonzini,
	Peter Xu, Peter Zijlstra, Petr Mladek, Rasmus Villemoes,
	Rich Felker, Samuel Mendoza-Jonas, Sean Christopherson,
	Sergey Senozhatsky, Shuah Khan, Stefan Kristiansson,
	Steven Rostedt, Tejun Heo, Thomas Bogendoerfer, Ulf Hansson,
	Will Deacon, Wolfram Sang, Yoshinori Sato

On Fri, Oct 01, 2021 at 09:23:39PM +0300, Andy Shevchenko wrote:
> On Fri, Oct 01, 2021 at 11:12:10AM -0700, Yury Norov wrote:
> > Hi Stephen,
> > 
> > Can you please take this series into the next tree? It has been already
> > in next-tree for 5.14:
> > 
> > https://lore.kernel.org/linux-mmc/YSeduU41Ef568xhS@alley/T/
> > 
> > But it was damaged and we decided to merge it in 5.15 cycle. No changes
> > comparing to 5.14, except for Andy's patch that was already upstreamed
> > and therefore removed from here.
> > 
> > The git tree is here:
> > 	https://github.com/norov/linux/tree/bitmap-20210929
> 
> 
> This is a dup with the same subject. Which one should we look into?

Please ignore this (short) series. It's a duplication, my connection
was broken and I had to restart submitting.

Sorry for noise.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 01/16] bitops: protect find_first_{,zero}_bit properly
  2021-10-05  5:40 [PATCH RESEND 3 00/16] Bitmap patches for 5.15 Yury Norov
@ 2021-10-05  5:40 ` Yury Norov
  0 siblings, 0 replies; 7+ messages in thread
From: Yury Norov @ 2021-10-05  5:40 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Yury Norov, Andrew Morton, linux-kernel, linux-mm, linux-arch,
	linux-kselftest, linux-mmc, linux-perf-users, kvm,
	James E.J. Bottomley, Alexander Lobakin, Alexander Shishkin,
	Alexey Klimov, Andrea Merello, Andy Shevchenko,
	Arnaldo Carvalho de Melo, Arnd Bergmann, Ben Gardon,
	Benjamin Herrenschmidt, Brian Cain, Catalin Marinas,
	Christoph Lameter, Daniel Bristot de Oliveira, David Hildenbrand,
	Dennis Zhou, Geert Uytterhoeven, Heiko Carstens, Ian Rogers,
	Ingo Molnar, Jaegeuk Kim, Jakub Kicinski, Jiri Olsa, Joe Perches,
	Jonas Bonn, Leo Yan, Mark Rutland, Namhyung Kim, Palmer Dabbelt,
	Paolo Bonzini, Peter Xu, Peter Zijlstra, Petr Mladek,
	Rasmus Villemoes, Rich Felker, Samuel Mendoza-Jonas,
	Sean Christopherson, Sergey Senozhatsky, Shuah Khan,
	Stefan Kristiansson, Steven Rostedt, Tejun Heo,
	Thomas Bogendoerfer, Ulf Hansson, Will Deacon, Wolfram Sang,
	Yoshinori Sato, kernel test robot

find_first_bit() and find_first_zero_bit() are not protected with
ifdefs as other functions in find.h. It causes build errors on some
platforms if CONFIG_GENERIC_FIND_FIRST_BIT is enabled.

Signed-off-by: Yury Norov <yury.norov@gmail.com>
Fixes: 2cc7b6a44ac2 ("lib: add fast path for find_first_*_bit() and find_last_bit()")
Reported-by: kernel test robot <lkp@intel.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 include/asm-generic/bitops/find.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/asm-generic/bitops/find.h b/include/asm-generic/bitops/find.h
index 0d132ee2a291..835f959a25f2 100644
--- a/include/asm-generic/bitops/find.h
+++ b/include/asm-generic/bitops/find.h
@@ -97,6 +97,7 @@ unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
 
 #ifdef CONFIG_GENERIC_FIND_FIRST_BIT
 
+#ifndef find_first_bit
 /**
  * find_first_bit - find the first set bit in a memory region
  * @addr: The address to start the search at
@@ -116,7 +117,9 @@ unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
 
 	return _find_first_bit(addr, size);
 }
+#endif
 
+#ifndef find_first_zero_bit
 /**
  * find_first_zero_bit - find the first cleared bit in a memory region
  * @addr: The address to start the search at
@@ -136,6 +139,8 @@ unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
 
 	return _find_first_zero_bit(addr, size);
 }
+#endif
+
 #else /* CONFIG_GENERIC_FIND_FIRST_BIT */
 
 #ifndef find_first_bit
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 01/16] bitops: protect find_first_{,zero}_bit properly
  2021-10-01 18:12 Yury Norov
@ 2021-10-01 18:12 ` Yury Norov
  0 siblings, 0 replies; 7+ messages in thread
From: Yury Norov @ 2021-10-01 18:12 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Yury Norov, Andrew Morton, linux-kernel, linux-mm, linux-arch,
	linux-kselftest, linux-mmc, linux-perf-users, kvm,
	James E.J. Bottomley, Alexander Lobakin, Alexander Shishkin,
	Alexey Klimov, Andrea Merello, Andy Shevchenko,
	Arnaldo Carvalho de Melo, Arnd Bergmann, Ben Gardon,
	Benjamin Herrenschmidt, Brian Cain, Catalin Marinas,
	Christoph Lameter, Daniel Bristot de Oliveira, David Hildenbrand,
	Dennis Zhou, Geert Uytterhoeven, Heiko Carstens, Ian Rogers,
	Ingo Molnar, Jaegeuk Kim, Jakub Kicinski, Jiri Olsa, Joe Perches,
	Jonas Bonn, Leo Yan, Mark Rutland, Namhyung Kim, Palmer Dabbelt,
	Paolo Bonzini, Peter Xu, Peter Zijlstra, Petr Mladek,
	Rasmus Villemoes, Rich Felker, Samuel Mendoza-Jonas,
	Sean Christopherson, Sergey Senozhatsky, Shuah Khan,
	Stefan Kristiansson, Steven Rostedt, Tejun Heo,
	Thomas Bogendoerfer, Ulf Hansson, Will Deacon, Wolfram Sang,
	Yoshinori Sato, kernel test robot

find_first_bit() and find_first_zero_bit() are not protected with
ifdefs as other functions in find.h. It causes build errors on some
platforms if CONFIG_GENERIC_FIND_FIRST_BIT is enabled.

Signed-off-by: Yury Norov <yury.norov@gmail.com>
Fixes: 2cc7b6a44ac2 ("lib: add fast path for find_first_*_bit() and find_last_bit()")
Reported-by: kernel test robot <lkp@intel.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 include/asm-generic/bitops/find.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/asm-generic/bitops/find.h b/include/asm-generic/bitops/find.h
index 0d132ee2a291..835f959a25f2 100644
--- a/include/asm-generic/bitops/find.h
+++ b/include/asm-generic/bitops/find.h
@@ -97,6 +97,7 @@ unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
 
 #ifdef CONFIG_GENERIC_FIND_FIRST_BIT
 
+#ifndef find_first_bit
 /**
  * find_first_bit - find the first set bit in a memory region
  * @addr: The address to start the search at
@@ -116,7 +117,9 @@ unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
 
 	return _find_first_bit(addr, size);
 }
+#endif
 
+#ifndef find_first_zero_bit
 /**
  * find_first_zero_bit - find the first cleared bit in a memory region
  * @addr: The address to start the search at
@@ -136,6 +139,8 @@ unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
 
 	return _find_first_zero_bit(addr, size);
 }
+#endif
+
 #else /* CONFIG_GENERIC_FIND_FIRST_BIT */
 
 #ifndef find_first_bit
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-10-05  5:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-01 18:12 [PATCH RESEND 2 00/16] Resend bitmap patches Yury Norov
2021-10-01 18:12 ` [PATCH 01/16] bitops: protect find_first_{,zero}_bit properly Yury Norov
2021-10-01 18:12 ` [PATCH 02/16] bitops: move find_bit_*_le functions from le.h to find.h Yury Norov
2021-10-01 18:23 ` [PATCH RESEND 2 00/16] Resend bitmap patches Andy Shevchenko
2021-10-01 18:36   ` Yury Norov
2021-10-01 18:12 Yury Norov
2021-10-01 18:12 ` [PATCH 01/16] bitops: protect find_first_{,zero}_bit properly Yury Norov
2021-10-05  5:40 [PATCH RESEND 3 00/16] Bitmap patches for 5.15 Yury Norov
2021-10-05  5:40 ` [PATCH 01/16] bitops: protect find_first_{,zero}_bit properly Yury Norov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).