lguest: use ioremap_cache, not ioremap
authorRusty Russell <rusty@rustcorp.com.au>
Fri, 30 May 2008 20:09:40 +0000 (15:09 -0500)
committerRusty Russell <rusty@rustcorp.com.au>
Fri, 30 May 2008 05:09:41 +0000 (15:09 +1000)
Thanks to Jon Corbet & LWN.  Only took me a day to join the dots.

Host->Guest netcat before (with unnecessily large receive buffers):
1073741824 bytes (1.1 GB) copied, 24.7528 seconds, 43.4 MB/s

After:
1073741824 bytes (1.1 GB) copied, 17.6369 seconds, 60.9 MB/s

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
drivers/lguest/lguest_device.c

index 8080249957afb6d747631674d32cdc287319f96c..f4fdf351a7c7fde68e945af79e77ec434ed678b5 100644 (file)
@@ -27,7 +27,7 @@ static unsigned int dev_index;
  * __iomem to quieten sparse. */
 static inline void *lguest_map(unsigned long phys_addr, unsigned long pages)
 {
-       return (__force void *)ioremap(phys_addr, PAGE_SIZE*pages);
+       return (__force void *)ioremap_cache(phys_addr, PAGE_SIZE*pages);
 }
 
 static inline void lguest_unmap(void *addr)