Patchwork [2/2] KVM: X86: Don't block vCPU if there is pending exception

login
register
mail settings
Submitter Wanpeng Li
Date Sept. 13, 2017, 11:04 a.m.
Message ID <1505300641-7292-1-git-send-email-wanpeng.li@hotmail.com>
Download mbox | patch
Permalink /patch/9951073/
State New
Headers show

Comments

Wanpeng Li - Sept. 13, 2017, 11:04 a.m.
From: Wanpeng Li <wanpeng.li@hotmail.com>

Don't block vCPU if there is pending exception.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
---
 arch/x86/kvm/x86.c | 3 +++
 1 file changed, 3 insertions(+)
Paolo Bonzini - Sept. 13, 2017, 9:33 p.m.
On 13/09/2017 13:04, Wanpeng Li wrote:
> From: Wanpeng Li <wanpeng.li@hotmail.com>
> 
> Don't block vCPU if there is pending exception.
> 
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Radim Krčmář <rkrcmar@redhat.com>
> Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
> ---
>  arch/x86/kvm/x86.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 6069af8..1a0dce4 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -8452,6 +8452,9 @@ static inline bool kvm_vcpu_has_events(struct kvm_vcpu *vcpu)
>  	if (vcpu->arch.pv.pv_unhalted)
>  		return true;
>  
> +	if (vcpu->arch.exception.pending)
> +		return true;
> +
>  	if (kvm_test_request(KVM_REQ_NMI, vcpu) ||
>  	    (vcpu->arch.nmi_pending &&
>  	     kvm_x86_ops->nmi_allowed(vcpu)))
> 

Ok for 4.14-rc.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

Paolo

Patch

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 6069af8..1a0dce4 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8452,6 +8452,9 @@  static inline bool kvm_vcpu_has_events(struct kvm_vcpu *vcpu)
 	if (vcpu->arch.pv.pv_unhalted)
 		return true;
 
+	if (vcpu->arch.exception.pending)
+		return true;
+
 	if (kvm_test_request(KVM_REQ_NMI, vcpu) ||
 	    (vcpu->arch.nmi_pending &&
 	     kvm_x86_ops->nmi_allowed(vcpu)))