Hey,
This mini-series addresses two bugs plus a small cleanup:
1) Considering PID.PIR as opposed to just PID.ON for pending interrupt checks
in the direct yield code path;
2) Not changing NDST in vmx_vcpu_pi_load(), which addresses a regression.
Prior to this, we would observe Win2K12 guests hanging momentarily.
3) Small cleanup to streamline PIR checks with a common helper.
The cleanup is done last to simplify backports.
Joao
v2:
* Fixed missing Tb/Rb tags;
* Fixed broken Sob chains (on first two patches)
* Only test PID.PIR if PID.SN=1 (third patch)
Joao Martins (3):
KVM: VMX: Consider PID.PIR to determine if vCPU has pending interrupts
KVM: VMX: Do not change PID.NDST when loading a blocked vCPU
KVM: VMX: Introduce pi_is_pir_empty() helper
arch/x86/kvm/vmx/vmx.c | 21 +++++++++++++++++++--
arch/x86/kvm/vmx/vmx.h | 11 +++++++++++
2 files changed, 30 insertions(+), 2 deletions(-)
--
2.11.0