[PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon Sep 26 08:45:03 AEST 2016


On Sun, 2016-09-25 at 22:35 +1000, Anton Blanchard wrote:
> From: Anton Blanchard <anton at samba.org>
> 
> POWER8 handles unaligned accesses in little endian mode, but commit
> 0b5e6661ac69 ("powerpc: Don't set HAVE_EFFICIENT_UNALIGNED_ACCESS on
> little endian builds") disabled it for all.
> 
> The issue with unaligned little endian accesses is specific to
> POWER7,
> so update the Kconfig check to match. Using the stat() testcase from
> commit a75c380c7129 ("powerpc: Enable DCACHE_WORD_ACCESS on
> ppc64le"),
> performance improves 15% on POWER8.

Hrm.. this should really be a runtime switch...

> Signed-off-by: Anton Blanchard <anton at samba.org>
> ---
>  arch/powerpc/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 0a70c86..04c447d 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -96,7 +96,7 @@ config PPC
>  	select VIRT_TO_BUS if !PPC64
>  	select HAVE_IDE
>  	select HAVE_IOREMAP_PROT
> -	select HAVE_EFFICIENT_UNALIGNED_ACCESS if !CPU_LITTLE_ENDIAN
> +	select HAVE_EFFICIENT_UNALIGNED_ACCESS if
> !(CPU_LITTLE_ENDIAN && POWER7_CPU)
>  	select HAVE_KPROBES
>  	select HAVE_ARCH_KGDB
>  	select HAVE_KRETPROBES


More information about the Linuxppc-dev mailing list