Re: [RFC V6 2/3] arm:add bitrev.h file to support rbit instruction

From: Joe Perches
Date: Thu Nov 13 2014 - 19:05:39 EST


On Thu, 2014-11-13 at 23:53 +0000, Russell King - ARM Linux wrote:
> On Fri, Oct 31, 2014 at 01:42:44PM +0800, Wang, Yalin wrote:
> > This patch add bitrev.h file to support rbit instruction,
> > so that we can do bitrev operation by hardware.
> > Signed-off-by: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx>
> > ---
> > arch/arm/Kconfig | 1 +
> > arch/arm/include/asm/bitrev.h | 21 +++++++++++++++++++++
> > 2 files changed, 22 insertions(+)
> > create mode 100644 arch/arm/include/asm/bitrev.h
> >
> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > index 89c4b5c..be92b3b 100644
> > --- a/arch/arm/Kconfig
> > +++ b/arch/arm/Kconfig
> > @@ -28,6 +28,7 @@ config ARM
> > select HANDLE_DOMAIN_IRQ
> > select HARDIRQS_SW_RESEND
> > select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
> > + select HAVE_ARCH_BITREVERSE if (CPU_V7M || CPU_V7)
>
> Looking at this, this is just wrong. Take a moment to consider what
> happens if we build a kernel which supports both ARMv6 _and_ ARMv7 CPUs.
> What happens if an ARMv6 CPU tries to execute an rbit instruction?
>
> Second point (which isn't obvious from your submissions on-list) is that
> you've loaded the patch system up with patches for other parts of the
> kernel tree for which I am not responsible for. As such, I can't take
> those patches without the sub-tree maintainer acking them. Also, the
> commit text in those patches look weird:
>
> 6fire: Convert byte_rev_table uses to bitrev8
>
> Use the inline function instead of directly indexing the array.
>
> This allows some architectures with hardware instructions for bit
> reversals to eliminate the array.
>
> Signed-off-by: Joe Perches <(address hidden)>
> Signed-off-by: Yalin Wang <(address hidden)>
>
> Why is Joe signing off on these patches?
> Shouldn't his entry be an Acked-by: ?

I didn't sign off on or ack the "add bitrev.h" patch.

I created 2 patches that converted direct uses of byte_rev_table
to that bitrev8 static inline. One of them is already in -next

7a1283d8f5298437a454ec477384dcd9f9f88bac carl9170: Convert byte_rev_table uses to bitrev8

The other hasn't been applied.

https://lkml.org/lkml/2014/10/28/1056

Maybe Takashi Iwai will get around to it one day.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/