Re: [PATCH v5 0/9] bitops: let optimize out non-atomic bitops on compile-time constants
From: Alexander Lobakin
Date: Thu Jun 30 2022 - 12:57:13 EST
From: Alexander Lobakin <alexandr.lobakin@xxxxxxxxx>
Date: Fri, 24 Jun 2022 14:13:04 +0200
> While I was working on converting some structure fields from a fixed
> type to a bitmap, I started observing code size increase not only in
> places where the code works with the converted structure fields, but
> also where the converted vars were on the stack. That said, the
> following code:
Hey,
Seems like everything is fine this time. I got some reports, but
those aren't caused by any of the changes from the series.
Maybe we can take it to -next and see how it goes?
[...]
> arch/alpha/include/asm/bitops.h | 32 ++--
> arch/hexagon/include/asm/bitops.h | 24 ++-
> arch/ia64/include/asm/bitops.h | 42 ++---
> arch/ia64/include/asm/processor.h | 2 +-
> arch/m68k/include/asm/bitops.h | 49 ++++--
> arch/s390/include/asm/bitops.h | 61 +++----
> arch/sh/include/asm/bitops-op32.h | 34 ++--
> arch/sparc/include/asm/bitops_32.h | 18 +-
> arch/sparc/lib/atomic32.c | 12 +-
> arch/x86/include/asm/bitops.h | 22 +--
> drivers/net/ethernet/intel/ice/ice_switch.c | 2 +-
> .../asm-generic/bitops/generic-non-atomic.h | 161 ++++++++++++++++++
> .../bitops/instrumented-non-atomic.h | 35 ++--
> include/asm-generic/bitops/non-atomic.h | 121 +------------
> .../bitops/non-instrumented-non-atomic.h | 16 ++
> include/linux/bitmap.h | 22 ++-
> include/linux/bitops.h | 50 ++++++
> lib/test_bitmap.c | 62 +++++++
> tools/include/asm-generic/bitops/non-atomic.h | 34 ++--
> tools/include/linux/bitops.h | 16 ++
> 20 files changed, 544 insertions(+), 271 deletions(-)
> create mode 100644 include/asm-generic/bitops/generic-non-atomic.h
> create mode 100644 include/asm-generic/bitops/non-instrumented-non-atomic.h
>
> --
> 2.36.1
Thanks,
Olek