• Andi Kleen's avatar
    KVM: x86: Fix perf timer mode IP reporting · dd60d217
    Andi Kleen authored
    KVM and perf have a special backdoor mechanism to report the IP for interrupts
    re-executed after vm exit. This works for the NMIs that perf normally uses.
    
    However when perf is in timer mode it doesn't work because the timer interrupt
    doesn't get this special treatment. This is common when KVM is running
    nested in another hypervisor which may not implement the PMU, so only
    timer mode is available.
    
    Call the functions to set up the backdoor IP also for non NMI interrupts.
    
    I renamed the functions to set up the backdoor IP reporting to be more
    appropiate for their new use.  The SVM change is only compile tested.
    
    v2: Moved the functions inline.
    For the normal interrupt case the before/after functions are now
    called from x86.c, not arch specific code.
    For the NMI case we still need to call it in the architecture
    specific code, because it's already needed in the low level *_run
    functions.
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    [Removed unnecessary calls from arch handle_external_intr. - Radim]
    Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
    dd60d217
svm.c 177 KB