x86: pud_clear: only reload cr3 if necessary
authorJeremy Fitzhardinge <jeremy@goop.org>
Mon, 4 Feb 2008 15:48:02 +0000 (16:48 +0100)
committerIngo Molnar <mingo@elte.hu>
Mon, 4 Feb 2008 15:48:02 +0000 (16:48 +0100)
commitedd6bcd8209c31b91e1fbc112a756475091c483d
tree00495abdaa8343e34d8a6dfbd7825b10e85fd053
parenta67ad9c9f82342a9b320fdad204a490727ef4a18
x86: pud_clear: only reload cr3 if necessary

Rather than unconditionally reloading cr3, only do so if the pud we're
updating is within the active pgd.

This eliminates TLB flushes most of the time.  The
performance-critical uses of pud_clear are during execve and exit, but
in those cases cr3 is referring to some other pagetable.  The only
other use of pud_clear is during a large (1Gbyte+) munmap, and those
are sufficiently rare that a couple of cr3 reloads won't hurt.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/asm-x86/pgtable-3level.h