* [PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7()
@ 2017-05-12 3:58 Andrew Jeffery
2017-05-18 17:08 ` Anton Blanchard
2017-05-30 9:11 ` Michael Ellerman
0 siblings, 2 replies; 3+ messages in thread
From: Andrew Jeffery @ 2017-05-12 3:58 UTC (permalink / raw)
To: linuxppc-dev
Cc: Andrew Jeffery, benh, paulus, mpe, npiggin, anton, linux-kernel
Experiments with the netperf benchmark indicated that the size selecting
VMX-based copies in __copy_tofrom_user_power7() was suboptimal on POWER8.
Measurements showed that parity was in the neighbourhood of 3328 bytes,
rather than greater than 4096. The change gives a 1.5-2.0% improvement in
performance for 4096-byte buffers, reducing the relative time spent in
__copy_tofrom_user_power7() from approximately 7% to approximately 5% in
the TCP_RR benchmark.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
---
arch/powerpc/lib/copyuser_power7.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/lib/copyuser_power7.S b/arch/powerpc/lib/copyuser_power7.S
index a24b4039352c..706b7cc19846 100644
--- a/arch/powerpc/lib/copyuser_power7.S
+++ b/arch/powerpc/lib/copyuser_power7.S
@@ -82,14 +82,14 @@
_GLOBAL(__copy_tofrom_user_power7)
#ifdef CONFIG_ALTIVEC
cmpldi r5,16
- cmpldi cr1,r5,4096
+ cmpldi cr1,r5,3328
std r3,-STACKFRAMESIZE+STK_REG(R31)(r1)
std r4,-STACKFRAMESIZE+STK_REG(R30)(r1)
std r5,-STACKFRAMESIZE+STK_REG(R29)(r1)
blt .Lshort_copy
- bgt cr1,.Lvmx_copy
+ bge cr1,.Lvmx_copy
#else
cmpldi r5,16
--
2.9.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7()
2017-05-12 3:58 [PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7() Andrew Jeffery
@ 2017-05-18 17:08 ` Anton Blanchard
2017-05-30 9:11 ` Michael Ellerman
1 sibling, 0 replies; 3+ messages in thread
From: Anton Blanchard @ 2017-05-18 17:08 UTC (permalink / raw)
To: Andrew Jeffery; +Cc: linuxppc-dev, benh, paulus, mpe, npiggin, linux-kernel
Hi Andrew,
> Experiments with the netperf benchmark indicated that the size
> selecting VMX-based copies in __copy_tofrom_user_power7() was
> suboptimal on POWER8. Measurements showed that parity was in the
> neighbourhood of 3328 bytes, rather than greater than 4096. The
> change gives a 1.5-2.0% improvement in performance for 4096-byte
> buffers, reducing the relative time spent in
> __copy_tofrom_user_power7() from approximately 7% to approximately 5%
> in the TCP_RR benchmark.
Nice work! All our context switch optimisations we've made over
the last year has likely moved the break even point for this.
Acked-by: Anton Blanchard <anton@samba.org>
Anton
> Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
> ---
> arch/powerpc/lib/copyuser_power7.S | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/lib/copyuser_power7.S
> b/arch/powerpc/lib/copyuser_power7.S index a24b4039352c..706b7cc19846
> 100644 --- a/arch/powerpc/lib/copyuser_power7.S
> +++ b/arch/powerpc/lib/copyuser_power7.S
> @@ -82,14 +82,14 @@
> _GLOBAL(__copy_tofrom_user_power7)
> #ifdef CONFIG_ALTIVEC
> cmpldi r5,16
> - cmpldi cr1,r5,4096
> + cmpldi cr1,r5,3328
>
> std r3,-STACKFRAMESIZE+STK_REG(R31)(r1)
> std r4,-STACKFRAMESIZE+STK_REG(R30)(r1)
> std r5,-STACKFRAMESIZE+STK_REG(R29)(r1)
>
> blt .Lshort_copy
> - bgt cr1,.Lvmx_copy
> + bge cr1,.Lvmx_copy
> #else
> cmpldi r5,16
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7()
2017-05-12 3:58 [PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7() Andrew Jeffery
2017-05-18 17:08 ` Anton Blanchard
@ 2017-05-30 9:11 ` Michael Ellerman
1 sibling, 0 replies; 3+ messages in thread
From: Michael Ellerman @ 2017-05-30 9:11 UTC (permalink / raw)
To: Andrew Jeffery, linuxppc-dev
Cc: Andrew Jeffery, linux-kernel, npiggin, paulus, anton
On Fri, 2017-05-12 at 03:58:10 UTC, Andrew Jeffery wrote:
> Experiments with the netperf benchmark indicated that the size selecting
> VMX-based copies in __copy_tofrom_user_power7() was suboptimal on POWER8.
> Measurements showed that parity was in the neighbourhood of 3328 bytes,
> rather than greater than 4096. The change gives a 1.5-2.0% improvement in
> performance for 4096-byte buffers, reducing the relative time spent in
> __copy_tofrom_user_power7() from approximately 7% to approximately 5% in
> the TCP_RR benchmark.
>
> Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
> Acked-by: Anton Blanchard <anton@samba.org>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/a3f952df3c6d205fe3b1e0e4848d3c
cheers
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-05-30 9:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-12 3:58 [PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7() Andrew Jeffery
2017-05-18 17:08 ` Anton Blanchard
2017-05-30 9:11 ` 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).