2019-11-11 17:27:33

by Joao Martins

[permalink] [raw]
Subject: [PATCH v2 0/3] KVM: VMX: Posted Interrupts fixes

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