• Zachary Amsden's avatar
    [PATCH] i386: paravirt CPU hypercall batching mode · 9226d125
    Zachary Amsden authored
    The VMI ROM has a mode where hypercalls can be queued and batched.  This turns
    out to be a significant win during context switch, but must be done at a
    specific point before side effects to CPU state are visible to subsequent
    instructions.  This is similar to the MMU batching hooks already provided.
    The same hooks could be used by the Xen backend to implement a context switch
    multicall.
    
    To explain a bit more about lazy modes in the paravirt patches, basically, the
    idea is that only one of lazy CPU or MMU mode can be active at any given time.
     Lazy MMU mode is similar to this lazy CPU mode, and allows for batching of
    multiple PTE updates (say, inside a remap loop), but to avoid keeping some
    kind of state machine about when to flush cpu or mmu updates, we just allow
    one or the other to be active.  Although there is no real reason a more
    comprehensive scheme could not be implemented, there is also no demonstrated
    need for this extra complexity.
    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>
    9226d125
paravirt.c 13.8 KB