]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit3e282a359fe457f13dd0f766f275ca1e78b28271
tree00495abdaa8343e34d8a6dfbd7825b10e85fd053
parentd50f3eafd5392b4968d9808e41de0e196c461d16
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