• Zachary Amsden's avatar
    [PATCH] MM: page allocation hooks for VMI backend · c119ecce
    Zachary Amsden authored
    The VMI backend uses explicit page type notification to track shadow page
    tables.  The allocation of page table roots is especially tricky.  We need to
    clone the root for non-PAE mode while it is protected under the pgd lock to
    correctly copy the shadow.
    
    We don't need to allocate pgds in PAE mode, (PDPs in Intel terminology) as
    they only have 4 entries, and are cached entirely by the processor, which
    makes shadowing them rather simple.
    
    For base page table level allocation, pmd_populate provides the exact hook
    point we need.  Also, we need to allocate pages when splitting a large page,
    and we must release pages before returning the page to any free pool.
    
    Despite being required with these slightly odd semantics for VMI, Xen also
    uses these hooks to determine the exact moment when page tables are created or
    released.
    
    AK: All nops for other architectures
    Signed-off-by: default avatarZachary Amsden <zach@vmware.com>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Cc: Andi Kleen <ak@suse.de>
    Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Chris Wright <chrisw@sous-sol.org>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    c119ecce
paravirt.c 13.8 KB