Skip to contentSkip to conversation

Add cpu_relax in idle spin loop for no-hlt kernel option

PATCH New Fenghua Yu 1 participant 1 message Dec 4, 2004

lore
Share & tools
lore

Fenghua Yu

author
#0 lore raw

PATCH 1/1 Add cpu_relax in idle spin loop for no-hlt kernel option

If given no-hlt kernel option, ia32 idle loop turns out to be a spin loop. Add cpu_relax() in this spin loop because IA32 SDM recommends that a PAUSE instruction be put in all spin loops.

The patch is against 2.6.9 kernel.

arch/i386/kernel/process.c +2 -0
diff -Nurp a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
@@ -97,6 +97,8 @@ void default_idle(void)
 		else
 			local_irq_enable();
 	}
+	else
+		cpu_relax();
 }
 
 /*