* [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: [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).