[PATCH] powerpc: don't spin on sync

Sonny Rao sonnyrao at us.ibm.com
Sat Jul 12 09:00:26 EST 2008


Push the sync below the secondary smp init hold loop and comment its purpose.
This should speed up boot by reducing global traffic during the single-threaded
portion of boot.

Signed-off-by: Sonny Rao <sonnyrao at us.ibm.com>
Signed-off-by: Milton Miller <miltonm at bga.com>

--- next.git/arch/powerpc/kernel/head_64.S~orig	2008-07-11 17:28:47.000000000 -0500
+++ next.git/arch/powerpc/kernel/head_64.S	2008-07-11 17:31:50.000000000 -0500
@@ -1198,7 +1198,6 @@ _GLOBAL(generic_secondary_smp_init)
 3:	HMT_LOW
 	lbz	r23,PACAPROCSTART(r13)	/* Test if this processor should */
 					/* start.			 */
-	sync
 
 #ifndef CONFIG_SMP
 	b	3b			/* Never go on non-SMP		 */
@@ -1206,6 +1205,8 @@ _GLOBAL(generic_secondary_smp_init)
 	cmpwi	0,r23,0
 	beq	3b			/* Loop until told to go	 */
 
+	sync				/* order paca.run and cur_cpu_spec */
+
 	/* See if we need to call a cpu state restore handler */
 	LOAD_REG_IMMEDIATE(r23, cur_cpu_spec)
 	ld	r23,0(r23)



More information about the Linuxppc-dev mailing list