Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85f9eebc authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds
Browse files

[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: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 77d910f5
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -148,9 +148,12 @@ static void flush_gart(struct device *dev)
			if (!northbridges[i])
			if (!northbridges[i])
				continue;
				continue;
			/* Make sure the hardware actually executed the flush. */
			/* Make sure the hardware actually executed the flush. */
			do { 
			for (;;) { 
				pci_read_config_dword(northbridges[i], 0x9c, &w);
				pci_read_config_dword(northbridges[i], 0x9c, &w);
			} while (w & 1);
				if (!(w & 1))
					break;
				cpu_relax();
			}
		} 
		} 
		if (!flushed) 
		if (!flushed) 
			printk("nothing to flush?\n");
			printk("nothing to flush?\n");