All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yury Norov <ynorov@nvidia.com>
To: Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	Yury Norov <yury.norov@gmail.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Arnd Bergmann <arnd@arndb.de>, Eric Biggers <ebiggers@kernel.org>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Jesper Dangaard Brouer <hawk@kernel.org>,
	John Fastabend <john.fastabend@gmail.com>,
	Stanislav Fomichev <sdf@fomichev.me>,
	Jinjie Ruan <ruanjinjie@huawei.com>,
	linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-arch@vger.kernel.org, netdev@vger.kernel.org,
	bpf@vger.kernel.org
Subject: Re: [PATCH v2 1/5] arch: select HAVE_ARCH_BITREVERSE conditionally on BITREVERSE
Date: Tue, 19 May 2026 18:20:34 -0400	[thread overview]
Message-ID: <agziMgYIg96fTVst@yury> (raw)
In-Reply-To: <agKPkFq6kuarikAJ@yury>

Ping again?

On Mon, May 11, 2026 at 10:25:20PM -0400, Yury Norov wrote:
> Ping?
> 
> On Wed, May 06, 2026 at 01:52:02PM -0400, Yury Norov wrote:
> > Architectures may have bit reversal instructions, but if the API not
> > needed, the corresponding option should not be selected because it may
> > lead to generating the unneeded code.
> > 
> > Signed-off-by: Yury Norov <ynorov@nvidia.com>
> > ---
> >  arch/arm/Kconfig       | 2 +-
> >  arch/arm64/Kconfig     | 2 +-
> >  arch/loongarch/Kconfig | 2 +-
> >  arch/mips/Kconfig      | 2 +-
> >  lib/Kconfig            | 1 +
> >  5 files changed, 5 insertions(+), 4 deletions(-)
> > 
> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > index 71fc5dd4123f..0e963e54fe06 100644
> > --- a/arch/arm/Kconfig
> > +++ b/arch/arm/Kconfig
> > @@ -83,7 +83,7 @@ config ARM
> >  	select HARDIRQS_SW_RESEND
> >  	select HAS_IOPORT
> >  	select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT
> > -	select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
> > +	select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6 && BITREVERSE
> >  	select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU && (!PREEMPT_RT || !SMP)
> >  	select HAVE_ARCH_KFENCE if MMU && !XIP_KERNEL
> >  	select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index fe60738e5943..f5bb62c2ba9c 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -150,7 +150,7 @@ config ARM64
> >  	select HAVE_ACPI_APEI if (ACPI && EFI)
> >  	select HAVE_ALIGNED_STRUCT_PAGE
> >  	select HAVE_ARCH_AUDITSYSCALL
> > -	select HAVE_ARCH_BITREVERSE
> > +	select HAVE_ARCH_BITREVERSE if BITREVERSE
> >  	select HAVE_ARCH_COMPILER_H
> >  	select HAVE_ARCH_HUGE_VMALLOC
> >  	select HAVE_ARCH_HUGE_VMAP
> > diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> > index 3b042dbb2c41..6c3444e31c0e 100644
> > --- a/arch/loongarch/Kconfig
> > +++ b/arch/loongarch/Kconfig
> > @@ -115,7 +115,7 @@ config LOONGARCH
> >  	select HAS_IOPORT
> >  	select HAVE_ALIGNED_STRUCT_PAGE if 64BIT
> >  	select HAVE_ARCH_AUDITSYSCALL
> > -	select HAVE_ARCH_BITREVERSE if 64BIT
> > +	select HAVE_ARCH_BITREVERSE if 64BIT && BITREVERSE
> >  	select HAVE_ARCH_JUMP_LABEL
> >  	select HAVE_ARCH_JUMP_LABEL_RELATIVE
> >  	select HAVE_ARCH_KASAN if 64BIT
> > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> > index 4364f3dba688..7e1494e0dbfa 100644
> > --- a/arch/mips/Kconfig
> > +++ b/arch/mips/Kconfig
> > @@ -2026,7 +2026,7 @@ config CPU_MIPSR6
> >  	default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
> >  	select CPU_HAS_RIXI
> >  	select CPU_HAS_DIEI if !CPU_DIEI_BROKEN
> > -	select HAVE_ARCH_BITREVERSE
> > +	select HAVE_ARCH_BITREVERSE if BITREVERSE
> >  	select MIPS_ASID_BITS_VARIABLE
> >  	select MIPS_SPRAM
> >  
> > diff --git a/lib/Kconfig b/lib/Kconfig
> > index 00a9509636c1..d8e7e89ae320 100644
> > --- a/lib/Kconfig
> > +++ b/lib/Kconfig
> > @@ -58,6 +58,7 @@ config BITREVERSE
> >  config HAVE_ARCH_BITREVERSE
> >  	bool
> >  	default n
> > +	depends on BITREVERSE
> >  	help
> >  	  This option enables the use of hardware bit-reversal instructions on
> >  	  architectures which support such operations.
> > -- 
> > 2.51.0

WARNING: multiple messages have this Message-ID (diff)
From: Yury Norov <ynorov@nvidia.com>
To: Paul Walmsley <pjw@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	Yury Norov <yury.norov@gmail.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Arnd Bergmann <arnd@arndb.de>, Eric Biggers <ebiggers@kernel.org>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Jesper Dangaard Brouer <hawk@kernel.org>,
	John Fastabend <john.fastabend@gmail.com>,
	Stanislav Fomichev <sdf@fomichev.me>,
	Jinjie Ruan <ruanjinjie@huawei.com>,
	linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-arch@vger.kernel.org, netdev@vger.kernel.org,
	bpf@vger.kernel.org
Subject: Re: [PATCH v2 1/5] arch: select HAVE_ARCH_BITREVERSE conditionally on BITREVERSE
Date: Tue, 19 May 2026 18:20:34 -0400	[thread overview]
Message-ID: <agziMgYIg96fTVst@yury> (raw)
In-Reply-To: <agKPkFq6kuarikAJ@yury>

Ping again?

On Mon, May 11, 2026 at 10:25:20PM -0400, Yury Norov wrote:
> Ping?
> 
> On Wed, May 06, 2026 at 01:52:02PM -0400, Yury Norov wrote:
> > Architectures may have bit reversal instructions, but if the API not
> > needed, the corresponding option should not be selected because it may
> > lead to generating the unneeded code.
> > 
> > Signed-off-by: Yury Norov <ynorov@nvidia.com>
> > ---
> >  arch/arm/Kconfig       | 2 +-
> >  arch/arm64/Kconfig     | 2 +-
> >  arch/loongarch/Kconfig | 2 +-
> >  arch/mips/Kconfig      | 2 +-
> >  lib/Kconfig            | 1 +
> >  5 files changed, 5 insertions(+), 4 deletions(-)
> > 
> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > index 71fc5dd4123f..0e963e54fe06 100644
> > --- a/arch/arm/Kconfig
> > +++ b/arch/arm/Kconfig
> > @@ -83,7 +83,7 @@ config ARM
> >  	select HARDIRQS_SW_RESEND
> >  	select HAS_IOPORT
> >  	select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT
> > -	select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
> > +	select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6 && BITREVERSE
> >  	select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU && (!PREEMPT_RT || !SMP)
> >  	select HAVE_ARCH_KFENCE if MMU && !XIP_KERNEL
> >  	select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index fe60738e5943..f5bb62c2ba9c 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -150,7 +150,7 @@ config ARM64
> >  	select HAVE_ACPI_APEI if (ACPI && EFI)
> >  	select HAVE_ALIGNED_STRUCT_PAGE
> >  	select HAVE_ARCH_AUDITSYSCALL
> > -	select HAVE_ARCH_BITREVERSE
> > +	select HAVE_ARCH_BITREVERSE if BITREVERSE
> >  	select HAVE_ARCH_COMPILER_H
> >  	select HAVE_ARCH_HUGE_VMALLOC
> >  	select HAVE_ARCH_HUGE_VMAP
> > diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> > index 3b042dbb2c41..6c3444e31c0e 100644
> > --- a/arch/loongarch/Kconfig
> > +++ b/arch/loongarch/Kconfig
> > @@ -115,7 +115,7 @@ config LOONGARCH
> >  	select HAS_IOPORT
> >  	select HAVE_ALIGNED_STRUCT_PAGE if 64BIT
> >  	select HAVE_ARCH_AUDITSYSCALL
> > -	select HAVE_ARCH_BITREVERSE if 64BIT
> > +	select HAVE_ARCH_BITREVERSE if 64BIT && BITREVERSE
> >  	select HAVE_ARCH_JUMP_LABEL
> >  	select HAVE_ARCH_JUMP_LABEL_RELATIVE
> >  	select HAVE_ARCH_KASAN if 64BIT
> > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> > index 4364f3dba688..7e1494e0dbfa 100644
> > --- a/arch/mips/Kconfig
> > +++ b/arch/mips/Kconfig
> > @@ -2026,7 +2026,7 @@ config CPU_MIPSR6
> >  	default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
> >  	select CPU_HAS_RIXI
> >  	select CPU_HAS_DIEI if !CPU_DIEI_BROKEN
> > -	select HAVE_ARCH_BITREVERSE
> > +	select HAVE_ARCH_BITREVERSE if BITREVERSE
> >  	select MIPS_ASID_BITS_VARIABLE
> >  	select MIPS_SPRAM
> >  
> > diff --git a/lib/Kconfig b/lib/Kconfig
> > index 00a9509636c1..d8e7e89ae320 100644
> > --- a/lib/Kconfig
> > +++ b/lib/Kconfig
> > @@ -58,6 +58,7 @@ config BITREVERSE
> >  config HAVE_ARCH_BITREVERSE
> >  	bool
> >  	default n
> > +	depends on BITREVERSE
> >  	help
> >  	  This option enables the use of hardware bit-reversal instructions on
> >  	  architectures which support such operations.
> > -- 
> > 2.51.0

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2026-05-19 22:20 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-06 17:52 Yury Norov
2026-05-06 17:52 ` Yury Norov
2026-05-06 17:52 ` [PATCH v2 1/5] arch: select HAVE_ARCH_BITREVERSE conditionally on BITREVERSE Yury Norov
2026-05-06 17:52   ` Yury Norov
2026-05-06 21:37   ` sashiko-bot
2026-05-12  2:25   ` Yury Norov
2026-05-12  2:25     ` Yury Norov
2026-05-19 22:20     ` Yury Norov [this message]
2026-05-19 22:20       ` Yury Norov
2026-06-09  1:26   ` Jinjie Ruan
2026-06-09  1:26     ` Jinjie Ruan
2026-05-06 17:52 ` [PATCH v2 2/5] lib/bitrev: Introduce GENERIC_BITREVERSE Yury Norov
2026-05-06 17:52   ` Yury Norov
2026-05-06 21:49   ` sashiko-bot
2026-06-09  1:53   ` Jinjie Ruan
2026-06-09  1:53     ` Jinjie Ruan
2026-05-06 17:52 ` [PATCH v2 3/5] bitops: Define generic___bitrev8/16/32 for reuse Yury Norov
2026-05-06 17:52   ` Yury Norov
2026-05-06 17:52 ` [PATCH v2 4/5] arch/riscv: Add bitrev.h file to support rev8 and brev8 Yury Norov
2026-05-06 17:52   ` Yury Norov
2026-05-06 22:23   ` sashiko-bot
2026-06-09  1:38   ` Jinjie Ruan
2026-06-09  1:38     ` Jinjie Ruan
2026-05-06 17:52 ` [PATCH v2 5/5] MAINTAINERS: BITOPS: include bitrev.[ch] Yury Norov
2026-05-06 17:52   ` Yury Norov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=agziMgYIg96fTVst@yury \
    --to=ynorov@nvidia.com \
    --cc=akpm@linux-foundation.org \
    --cc=alex@ghiti.fr \
    --cc=andrew+netdev@lunn.ch \
    --cc=aou@eecs.berkeley.edu \
    --cc=arnd@arndb.de \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=ebiggers@kernel.org \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=john.fastabend@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=palmer@dabbelt.com \
    --cc=pjw@kernel.org \
    --cc=ruanjinjie@huawei.com \
    --cc=sdf@fomichev.me \
    --cc=yury.norov@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.