powerpc: Tweak copy selection parameter in __copy_tofrom_user_power7()
authorAndrew Jeffery <andrew@aj.id.au>
Fri, 12 May 2017 03:58:10 +0000 (13:28 +0930)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 30 May 2017 04:59:51 +0000 (14:59 +1000)
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>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/lib/copyuser_power7.S

index a24b4039352cc6b6db7d2e58a4ee819a8c0e1bf8..706b7cc1984627278ac490f3ea42ef3cf8127ecf 100644 (file)
 _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