diff options
author | Andi Kleen <ak@suse.de> | 2006-03-25 16:32:04 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-25 09:14:39 -0800 |
commit | c36cd16f78a5dd740a619ef8445e35a73484d58b (patch) | |
tree | 891222405ffed9d9a9df2edbb68d2383c6b3b6a0 | |
parent | 6a0f03e0d35c10e07f1160ca75fc9a367931e38b (diff) | |
download | kernel_samsung_crespo-c36cd16f78a5dd740a619ef8445e35a73484d58b.zip kernel_samsung_crespo-c36cd16f78a5dd740a619ef8445e35a73484d58b.tar.gz kernel_samsung_crespo-c36cd16f78a5dd740a619ef8445e35a73484d58b.tar.bz2 |
[PATCH] x86_64: Add cpu_relax() to busy loops in PM timer code
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/x86_64/kernel/pmtimer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86_64/kernel/pmtimer.c b/arch/x86_64/kernel/pmtimer.c index 5c51d10..ee5ee48 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); } |