[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5C09459B.5090201@oberhumer.com>
Date: Thu, 6 Dec 2018 16:51:55 +0100
From: "Markus F.X.J. Oberhumer" <markus@...rhumer.com>
To: Dave Rodgman <dave.rodgman@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>
Cc: "herbert@...dor.apana.org.au" <herbert@...dor.apana.org.au>,
"davem@...emloft.net" <davem@...emloft.net>,
Matt Sealey <Matt.Sealey@....com>,
"nitingupta910@...il.com" <nitingupta910@...il.com>,
"minchan@...nel.org" <minchan@...nel.org>,
"sergey.senozhatsky.work@...il.com"
<sergey.senozhatsky.work@...il.com>,
"sonnyrao@...gle.com" <sonnyrao@...gle.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
nd <nd@....com>, "sfr@...b.auug.org.au" <sfr@...b.auug.org.au>
Subject: Re: [PATCH 3/8] lib/lzo: enable 64-bit CTZ on Arm
I think that LZO_USE_CTZ64 should only be defined for ARM64 and
not for 32-bit ARM.
On 2018-11-30 15:26, Dave Rodgman wrote:
> From: Matt Sealey <matt.sealey@....com>
>
> ARMv6 Thumb state introduced an RBIT instruction which, combined with CLZ
> as present in ARMv5, introduces an extremely fast path for counting
> trailing zeroes.
>
> Enable the use of the GCC builtin for this on ARMv6+ with
> CONFIG_THUMB2_KERNEL to ensure we get the 'new' instruction usage.
>
> We do not bother enabling LZO_USE_CTZ64 support for ARMv5 as the builtin
> code path does the same thing as the LZO_USE_CTZ32 code, only with more
> register pressure.
>
> Link: http://lkml.kernel.org/r/20181127161913.23863-4-dave.rodgman@arm.com
> Signed-off-by: Matt Sealey <matt.sealey@....com>
> Signed-off-by: Dave Rodgman <dave.rodgman@....com>
> Cc: David S. Miller <davem@...emloft.net>
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Cc: Herbert Xu <herbert@...dor.apana.org.au>
> Cc: Markus F.X.J. Oberhumer <markus@...rhumer.com>
> Cc: Minchan Kim <minchan@...nel.org>
> Cc: Nitin Gupta <nitingupta910@...il.com>
> Cc: Richard Purdie <rpurdie@...nedhand.com>
> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
> Cc: Sonny Rao <sonnyrao@...gle.com>
> Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
> ---
> lib/lzo/lzodefs.h | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/lib/lzo/lzodefs.h b/lib/lzo/lzodefs.h
> index e1b3cf6459a9..c0193f726db0 100644
> --- a/lib/lzo/lzodefs.h
> +++ b/lib/lzo/lzodefs.h
> @@ -33,9 +33,14 @@
> #define LZO_USE_CTZ32 1
> #elif defined(CONFIG_X86) || defined(CONFIG_PPC)
> #define LZO_USE_CTZ32 1
> -#elif defined(CONFIG_ARM) && (__LINUX_ARM_ARCH__ >= 5)
> +#elif defined(CONFIG_ARM)
> +#if (__LINUX_ARM_ARCH__ >= 5)
> #define LZO_USE_CTZ32 1
> #endif
> +#if (__LINUX_ARM_ARCH__ >= 6) && defined(CONFIG_THUMB2_KERNEL)
> +#define LZO_USE_CTZ64 1
> +#endif
> +#endif
>
> #define M1_MAX_OFFSET 0x0400
> #define M2_MAX_OFFSET 0x0800
>
--
Markus Oberhumer, <markus@...rhumer.com>, http://www.oberhumer.com/
Powered by blists - more mailing lists