[PATCH] x86_64: Add cpu_relax() to busy loops in PM timer code
authorAndi Kleen <ak@suse.de>
Sat, 25 Mar 2006 15:32:04 +0000 (16:32 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 25 Mar 2006 17:14:39 +0000 (09:14 -0800)
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/kernel/pmtimer.c

index 5c51d10408a677695c9f2d2d8cd0e5d69571c760..ee5ee4891f3d3b0e9ad958de6c5880989aa57540 100644 (file)
@@ -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);
 }