Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1640178 > unrolled thread

[PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7()

Started byAndrew Jeffery <andrew@aj.id.au>
First post2017-05-12 06:00 +0200
Last post2017-05-18 19:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7() Andrew Jeffery <andrew@aj.id.au> - 2017-05-12 06:00 +0200
    Re: [PATCH] powerpc: Tweak copy selection parameter in  __copy_tofrom_user_power7() Anton Blanchard <anton@samba.org> - 2017-05-18 19:10 +0200

#1640178 — [PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7()

FromAndrew Jeffery <andrew@aj.id.au>
Date2017-05-12 06:00 +0200
Subject[PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7()
Message-ID<tG9Ue-75O-5@gated-at.bofh.it>
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

[toc] | [next] | [standalone]


#1644758 — Re: [PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7()

FromAnton Blanchard <anton@samba.org>
Date2017-05-18 19:10 +0200
SubjectRe: [PATCH] powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7()
Message-ID<tIx61-5FV-1@gated-at.bofh.it>
In reply to#1640178
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
>  

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web