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)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 27 Sep 2017 11:45:42 +0000 (13:45 +0200)
commit31afb2ea2b10a7d17ce3db4cdb0a12b63b2fe08a
tree6b95d75fe5afe16e396968ba6d99f34e0868af37
parent8b306e2f3c41939ea528e6174c88cfbfff893ce1
KVM: VMX: simplify and fix vmx_vcpu_pi_load

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>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx.c