Re: [PATCH 4/8] lib/lzo: 64-bit CTZ on arm64

From: Markus F.X.J. Oberhumer
Date: Thu Dec 06 2018 - 10:53:07 EST


Acked-by: Markus F.X.J. Oberhumer <markus@xxxxxxxxxxxxx>



On 2018-11-30 15:26, Dave Rodgman wrote:
> From: Matt Sealey <matt.sealey@xxxxxxx>
>
> LZO leaves some performance on the table by not realising that arm64 can
> optimize count-trailing-zeros bit operations.
>
> Add CONFIG_ARM64 to the checked definitions alongside CONFIG_X86_64 to
> enable the use of rbit/clz instructions on full 64-bit quantities.
>
> Link: http://lkml.kernel.org/r/20181127161913.23863-5-dave.rodgman@xxxxxxx
> Signed-off-by: Matt Sealey <matt.sealey@xxxxxxx>
> Signed-off-by: Dave Rodgman <dave.rodgman@xxxxxxx>
> Cc: David S. Miller <davem@xxxxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Cc: Markus F.X.J. Oberhumer <markus@xxxxxxxxxxxxx>
> Cc: Minchan Kim <minchan@xxxxxxxxxx>
> Cc: Nitin Gupta <nitingupta910@xxxxxxxxx>
> Cc: Richard Purdie <rpurdie@xxxxxxxxxxxxxx>
> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx>
> Cc: Sonny Rao <sonnyrao@xxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> lib/lzo/lzodefs.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/lzo/lzodefs.h b/lib/lzo/lzodefs.h
> index c0193f726db0..c8965dc181df 100644
> --- a/lib/lzo/lzodefs.h
> +++ b/lib/lzo/lzodefs.h
> @@ -28,7 +28,7 @@
>
> #if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
> #error "conflicting endian definitions"
> -#elif defined(CONFIG_X86_64)
> +#elif defined(CONFIG_X86_64) || defined(CONFIG_ARM64)
> #define LZO_USE_CTZ64 1
> #define LZO_USE_CTZ32 1
> #elif defined(CONFIG_X86) || defined(CONFIG_PPC)
>

--
Markus Oberhumer, <markus@xxxxxxxxxxxxx>, http://www.oberhumer.com/