• P
    context_tracking: avoid irq_save/irq_restore on guest entry and exit · d0e536d8
    Paolo Bonzini 提交于
    guest_enter and guest_exit must be called with interrupts disabled,
    since they take the vtime_seqlock with write_seq{lock,unlock}.
    Therefore, it is not necessary to check for exceptions, nor to
    save/restore the IRQ state, when context tracking functions are
    called by guest_enter and guest_exit.
    
    Split the body of context_tracking_entry and context_tracking_exit
    out to __-prefixed functions, and use them from KVM.
    
    Rik van Riel has measured this to speed up a tight vmentry/vmexit
    loop by about 2%.
    
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: NRik van Riel <riel@redhat.com>
    Tested-by: NRik van Riel <riel@redhat.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    d0e536d8
context_tracking.c 6.3 KB