]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "svm: Fix AVIC incomplete IPI emulation"
authorSuthikulpanit, Suravee <Suravee.Suthikulpanit@amd.com>
Wed, 20 Mar 2019 08:12:28 +0000 (08:12 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Apr 2019 13:37:31 +0000 (15:37 +0200)
commita871ce81b2336392f705e255b2ca4d6cd6427c69
tree10df4ab0741861975425ea4a86f069255c915294
parent6e9263c00eb739bc29f98f7433d3b33a8d1d72c9
Revert "svm: Fix AVIC incomplete IPI emulation"

This reverts commit 1e20ef4a9b4b5048f04b78031066decb9ebd7a7c.

As Oren Twaig pointed out the old discussion:

  https://patchwork.kernel.org/patch/8292231/

that the change coud potentially cause an extra IPI to be sent to
the destination vcpu because the AVIC hardware already set the IRR bit
before the incomplete IPI #VMEXIT with id=1 (target vcpu is not running).
Since writting to ICR and ICR2 will also set the IRR. If something triggers
the destination vcpu to get scheduled before the emulation finishes, then
this could result in an additional IPI.

Also, the issue mentioned in the commit 1e20ef4a9b4b was misdiagnosed.

Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reported-by: Oren Twaig <oren@scalemp.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm.c