• Zachary Amsden's avatar
    [PATCH] i386: pte clear optimization · c2c1accd
    Zachary Amsden authored
    When exiting from an address space, no special hypervisor notification of page
    table updates needs to occur; direct page table hypervisors, such as Xen,
    switch to another address space first (init_mm) and unprotects the page tables
    to avoid the cost of trapping to the hypervisor for each pte_clear.  Shadow
    mode hypervisors, such as VMI and lhype don't need to do the extra work of
    calling through paravirt-ops, and can just directly clear the page table
    entries without notifiying the hypervisor, since all the page tables are about
    to be freed.
    
    So introduce native_pte_clear functions which bypass any paravirt-ops
    notification.  This results in a significant performance win for VMI and
    removes some indirect calls from zap_pte_range.
    
    Note the 3-level paging already had a native_pte_clear function, thus
    demanding argument conformance and extra args for the 2-level definition.
    Signed-off-by: default avatarZachary Amsden <zach@vmware.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    c2c1accd
pgtable.h 17.5 KB