KVM: VMX: simplify and fix vmx_vcpu_pi_load
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 6 Jun 2017 10:57:06 +0000 (12:57 +0200)
committerpopcornmix <popcornmix@gmail.com>
Fri, 6 Oct 2017 12:06:51 +0000 (13:06 +0100)
commit0a33acbf5a0fb4697a3b01e3ab8d5563ddca62e9
tree3d116b93683afa7b6d1cc8ec1a22485957878246
parentc4a7b2eda3f398dd3e2d9981ddacc7c9745efe52
KVM: VMX: simplify and fix vmx_vcpu_pi_load

commit 31afb2ea2b10a7d17ce3db4cdb0a12b63b2fe08a upstream.

The simplify part: do not touch pi_desc.nv, we can set it when the
VCPU is first created.  Likewise, pi_desc.sn is only handled by
vmx_vcpu_pi_load, do not touch it in __pi_post_block.

The fix part: do not check kvm_arch_has_assigned_device, instead
check the SN bit to figure out whether vmx_vcpu_pi_put ran before.
This matches what the previous patch did in pi_post_block.

Cc: Huangweidong <weidong.huang@huawei.com>
Cc: Gonglei <arei.gonglei@huawei.com>
Cc: wangxin <wangxinxin.wang@huawei.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Tested-by: Longpeng (Mike) <longpeng2@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kvm/vmx.c