All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: copy_oldmem_page using cached addressing
@ 2010-09-08 15:14 ` Cliff Wickman
  0 siblings, 0 replies; 9+ messages in thread
From: Cliff Wickman @ 2010-09-08 15:14 UTC (permalink / raw)
  To: kexec, mingo; +Cc: linux-kernel

From: Cliff Wickman <cpw@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@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;
 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-09-09 11:58 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-08 15:14 [PATCH] x86: copy_oldmem_page using cached addressing Cliff Wickman
2010-09-08 15:14 ` Cliff Wickman
2010-09-08 19:19 ` Eric W. Biederman
2010-09-08 19:19   ` Eric W. Biederman
2010-09-09  7:48   ` Ingo Molnar
2010-09-09  7:48     ` Ingo Molnar
2010-09-08 19:42 ` Andi Kleen
2010-09-08 19:42   ` Andi Kleen
2010-09-09 11:57 ` [tip:x86/mm] x86, kdump: Change copy_oldmem_page() to use " tip-bot for Cliff Wickman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.