[PATCH] x86_64: Use cpu_relax in poll loop in GART IOMMU
The code waits for the GART to clear the TLB flush bit. Use cpu_relax in this time to allow hypervisors to yield the CPU in this time. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
77d910f557
commit
85f9eebccd
|
@ -148,9 +148,12 @@ static void flush_gart(struct device *dev)
|
|||
if (!northbridges[i])
|
||||
continue;
|
||||
/* Make sure the hardware actually executed the flush. */
|
||||
do {
|
||||
for (;;) {
|
||||
pci_read_config_dword(northbridges[i], 0x9c, &w);
|
||||
} while (w & 1);
|
||||
if (!(w & 1))
|
||||
break;
|
||||
cpu_relax();
|
||||
}
|
||||
}
|
||||
if (!flushed)
|
||||
printk("nothing to flush?\n");
|
||||
|
|
Loading…
Reference in New Issue