From: Andi Kleen Date: Sat, 25 Mar 2006 15:32:04 +0000 (+0100) Subject: [PATCH] x86_64: Add cpu_relax() to busy loops in PM timer code X-Git-Tag: v2.6.17-rc1~669 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c36cd16f78a5dd740a619ef8445e35a73484d58b;p=linux-2.6 [PATCH] x86_64: Add cpu_relax() to busy loops in PM timer code Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds --- diff --git a/arch/x86_64/kernel/pmtimer.c b/arch/x86_64/kernel/pmtimer.c index 5c51d10408..ee5ee4891f 100644 --- a/arch/x86_64/kernel/pmtimer.c +++ b/arch/x86_64/kernel/pmtimer.c @@ -86,7 +86,7 @@ static unsigned pmtimer_wait_tick(void) for (a = b = inl(pmtmr_ioport) & ACPI_PM_MASK; a == b; b = inl(pmtmr_ioport) & ACPI_PM_MASK) - ; + cpu_relax(); return b; } @@ -97,6 +97,7 @@ void pmtimer_wait(unsigned us) a = pmtimer_wait_tick(); do { b = inl(pmtmr_ioport); + cpu_relax(); } while (cyc2us(b - a) < us); }