[PATCH] x86: copy_oldmem_page using cached addressing
Cliff Wickman
cpw at sgi.com
Wed Sep 8 11:14:27 EDT 2010
From: Cliff Wickman <cpw at sgi.com>
The copy of /proc/vmcore to a user buffer proceeds much faster
if the kernel addresses memory as cached.
With this patch we have seen an increase in transfer rate from less than
15MB/s to 80-460MB/s, depending on size of the transfer. This makes
a big difference in time needed to save a system dump.
(Does anyone know of a reason why copy_oldmem_page() would need
to use uncached addresses?)
Diffed against 2.6.36-rc3
Signed-off-by: Cliff Wickman <cpw at sgi.com>
---
arch/x86/kernel/crash_dump_64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linus.current/arch/x86/kernel/crash_dump_64.c
===================================================================
--- linus.current.orig/arch/x86/kernel/crash_dump_64.c
+++ linus.current/arch/x86/kernel/crash_dump_64.c
@@ -34,7 +34,7 @@ ssize_t copy_oldmem_page(unsigned long p
if (!csize)
return 0;
- vaddr = ioremap(pfn << PAGE_SHIFT, PAGE_SIZE);
+ vaddr = ioremap_cache(pfn << PAGE_SHIFT, PAGE_SIZE);
if (!vaddr)
return -ENOMEM;
More information about the kexec
mailing list