linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc: system call micro optimisation
@ 2006-06-10 15:15 Anton Blanchard
  2006-06-10 22:24 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 2+ messages in thread
From: Anton Blanchard @ 2006-06-10 15:15 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: paulus


In the syscall path we currently have:

       crclr   so
       mfcr    r9

If we shift the crclr up we can avoid a stall on some CPUs.

Signed-off-by: Anton Blanchard <anton@samba.org>
---

Index: kernel/arch/powerpc/kernel/entry_64.S
===================================================================
--- kernel.orig/arch/powerpc/kernel/entry_64.S	2006-04-26 08:03:05.380651922 -0500
+++ kernel/arch/powerpc/kernel/entry_64.S	2006-04-26 08:03:28.076523958 -0500
@@ -59,6 +59,7 @@ system_call_common:
 	beq-	1f
 	ld	r1,PACAKSAVE(r13)
 1:	std	r10,0(r1)
+	crclr	so
 	std	r11,_NIP(r1)
 	std	r12,_MSR(r1)
 	std	r0,GPR0(r1)
@@ -77,7 +78,6 @@ system_call_common:
 	std	r11,GPR11(r1)
 	std	r11,GPR12(r1)
 	std	r9,GPR13(r1)
-	crclr	so
 	mfcr	r9
 	mflr	r10
 	li	r11,0xc01

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

* Re: [PATCH] powerpc: system call micro optimisation
  2006-06-10 15:15 [PATCH] powerpc: system call micro optimisation Anton Blanchard
@ 2006-06-10 22:24 ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 2+ messages in thread
From: Benjamin Herrenschmidt @ 2006-06-10 22:24 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: linuxppc-dev, paulus

On Sun, 2006-06-11 at 01:15 +1000, Anton Blanchard wrote:
> In the syscall path we currently have:
> 
>        crclr   so
>        mfcr    r9
> 
> If we shift the crclr up we can avoid a stall on some CPUs.

Can you maybe have a quick look at the vDSO's ? They might have similar
room for optimisations...

Cheers,
Ben.

> Signed-off-by: Anton Blanchard <anton@samba.org>
> ---
> 
> Index: kernel/arch/powerpc/kernel/entry_64.S
> ===================================================================
> --- kernel.orig/arch/powerpc/kernel/entry_64.S	2006-04-26 08:03:05.380651922 -0500
> +++ kernel/arch/powerpc/kernel/entry_64.S	2006-04-26 08:03:28.076523958 -0500
> @@ -59,6 +59,7 @@ system_call_common:
>  	beq-	1f
>  	ld	r1,PACAKSAVE(r13)
>  1:	std	r10,0(r1)
> +	crclr	so
>  	std	r11,_NIP(r1)
>  	std	r12,_MSR(r1)
>  	std	r0,GPR0(r1)
> @@ -77,7 +78,6 @@ system_call_common:
>  	std	r11,GPR11(r1)
>  	std	r11,GPR12(r1)
>  	std	r9,GPR13(r1)
> -	crclr	so
>  	mfcr	r9
>  	mflr	r10
>  	li	r11,0xc01
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

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

end of thread, other threads:[~2006-06-10 22:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-10 15:15 [PATCH] powerpc: system call micro optimisation Anton Blanchard
2006-06-10 22:24 ` Benjamin Herrenschmidt

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).