linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian
@ 2016-09-25 12:35 Anton Blanchard
  2016-09-25 12:35 ` [PATCH 2/2] powerpc: Set default CPU type to POWER8 for little endian builds Anton Blanchard
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Anton Blanchard @ 2016-09-25 12:35 UTC (permalink / raw)
  To: benh, paulus, mpe, npiggin; +Cc: linuxppc-dev

From: Anton Blanchard <anton@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.

Signed-off-by: Anton Blanchard <anton@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
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] powerpc: Set default CPU type to POWER8 for little endian builds
  2016-09-25 12:35 [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian Anton Blanchard
@ 2016-09-25 12:35 ` Anton Blanchard
  2016-09-25 22:45 ` [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian Benjamin Herrenschmidt
  2016-10-05  2:36 ` [1/2] " Michael Ellerman
  2 siblings, 0 replies; 5+ messages in thread
From: Anton Blanchard @ 2016-09-25 12:35 UTC (permalink / raw)
  To: benh, paulus, mpe, npiggin; +Cc: linuxppc-dev

From: Anton Blanchard <anton@samba.org>

We supported POWER7 CPUs for bootstrapping little endian, but the
target was always POWER8. Now that POWER7 specific issues are
impacting performance, change the default target to POWER8.

Signed-off-by: Anton Blanchard <anton@samba.org>
---
 arch/powerpc/platforms/Kconfig.cputype | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index f32edec..fa06676 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -86,6 +86,7 @@ endchoice
 choice
 	prompt "CPU selection"
 	depends on PPC64
+	default POWER8_CPU if CPU_LITTLE_ENDIAN
 	default GENERIC_CPU
 	help
 	  This will create a kernel which is optimised for a particular CPU.
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian
  2016-09-25 12:35 [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian Anton Blanchard
  2016-09-25 12:35 ` [PATCH 2/2] powerpc: Set default CPU type to POWER8 for little endian builds Anton Blanchard
@ 2016-09-25 22:45 ` Benjamin Herrenschmidt
  2016-09-25 23:07   ` Anton Blanchard
  2016-10-05  2:36 ` [1/2] " Michael Ellerman
  2 siblings, 1 reply; 5+ messages in thread
From: Benjamin Herrenschmidt @ 2016-09-25 22:45 UTC (permalink / raw)
  To: Anton Blanchard, paulus, mpe, npiggin; +Cc: linuxppc-dev

On Sun, 2016-09-25 at 22:35 +1000, Anton Blanchard wrote:
> From: Anton Blanchard <anton@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@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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian
  2016-09-25 22:45 ` [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian Benjamin Herrenschmidt
@ 2016-09-25 23:07   ` Anton Blanchard
  0 siblings, 0 replies; 5+ messages in thread
From: Anton Blanchard @ 2016-09-25 23:07 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: paulus, mpe, npiggin, linuxppc-dev

Hi Ben,

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

I wonder if anyone is still running POWER7 LE, perhaps we could drop it
entirely.

Anton

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian
  2016-09-25 12:35 [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian Anton Blanchard
  2016-09-25 12:35 ` [PATCH 2/2] powerpc: Set default CPU type to POWER8 for little endian builds Anton Blanchard
  2016-09-25 22:45 ` [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian Benjamin Herrenschmidt
@ 2016-10-05  2:36 ` Michael Ellerman
  2 siblings, 0 replies; 5+ messages in thread
From: Michael Ellerman @ 2016-10-05  2:36 UTC (permalink / raw)
  To: Anton Blanchard, benh, paulus, npiggin; +Cc: linuxppc-dev

On Sun, 2016-25-09 at 12:35:40 UTC, Anton Blanchard wrote:
> From: Anton Blanchard <anton@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.
> 
> Signed-off-by: Anton Blanchard <anton@samba.org>

Series applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/8a18cc0c2c36ee49d70a620ac0190d

cheers

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-10-05  2:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-25 12:35 [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian Anton Blanchard
2016-09-25 12:35 ` [PATCH 2/2] powerpc: Set default CPU type to POWER8 for little endian builds Anton Blanchard
2016-09-25 22:45 ` [PATCH 1/2] powerpc: Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little endian Benjamin Herrenschmidt
2016-09-25 23:07   ` Anton Blanchard
2016-10-05  2:36 ` [1/2] " Michael Ellerman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).