• James Hogan's avatar
    KVM: MIPS/T&E: Restore host asid on return to host · 91cdee57
    James Hogan authored
    We only need the guest ASID loaded while in guest context, i.e. while
    running guest code and while handling guest exits. We load the guest
    ASID when entering the guest, however we restore the host ASID later
    than necessary, when the VCPU state is saved i.e. vcpu_put() or slightly
    earlier if preempted after returning to the host.
    
    This mismatch is both unpleasant and causes redundant host ASID restores
    in kvm_trap_emul_vcpu_put(). Lets explicitly restore the host ASID when
    returning to the host, and don't bother restoring the host ASID on
    context switch in unless we're already in guest context.
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: "Radim Krčmář" <rkrcmar@redhat.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    91cdee57
trap_emul.c 21.7 KB