From: Christoph Lameter Date: Wed, 29 Mar 2006 06:54:38 +0000 (-0800) Subject: [IA64] Prefetch mmap_sem in ia64_do_page_fault() X-Git-Tag: v2.6.17-rc2~99^2 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ffe984917b9cd6ecc19ffbc06f35869d8c18df8;p=linux-2.6 [IA64] Prefetch mmap_sem in ia64_do_page_fault() Take a hint from an x86_64 optimization by Arjan van de Ven and use it for ia64. See a9ba9a3b3897561d01e04cd21433746df46548c0 Prefetch the mmap_sem, which is critical for the performance of the page fault handler. Note: mm may be NULL but I guess that is safe. See 458f935527372499b714bf4f8e646a68bb0f52e3 Signed-off-by: Christoph Lameter Signed-off-by: Tony Luck --- diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c index af7eb087dc..d98ec49570 100644 --- a/arch/ia64/mm/fault.c +++ b/arch/ia64/mm/fault.c @@ -60,6 +60,9 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re struct siginfo si; unsigned long mask; + /* mmap_sem is performance critical.... */ + prefetchw(&mm->mmap_sem); + /* * If we're in an interrupt or have no user context, we must not take the fault.. */