linux/arch/x86/kvm/vmx
Sean Christopherson 45af1bb99b KVM: VMX: Clean up PI pre/post-block WARNs
Move the WARN sanity checks out of the PI descriptor update loop so as
not to spam the kernel log if the condition is violated and the update
takes multiple attempts due to another writer.  This also eliminates a
few extra uops from the retry path.

Technically not checking every attempt could mean KVM will now fail to
WARN in a scenario that would have failed before, but any such failure
would be inherently racy as some other agent (CPU or device) would have
to concurrent modify the PI descriptor.

Add a helper to handle the actual write and more importantly to document
why the write may need to be retried.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20211208015236.1616697-4-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-12-09 09:30:47 -05:00
..
capabilities.h KVM: X86: Add parameter huge_page_level to kvm_init_shadow_ept_mmu() 2021-12-08 04:25:12 -05:00
evmcs.c KVM: nVMX: Filter out all unsupported controls when eVMCS was activated 2021-09-22 10:33:15 -04:00
evmcs.h x86/kvm: Always inline evmcs_write64() 2021-09-15 15:51:46 +02:00
nested.c KVM: nVMX: Implement Enlightened MSR Bitmap feature 2021-12-08 09:06:05 -05:00
nested.h KVM: nVMX: Introduce 'EVMPTR_MAP_PENDING' post-migration state 2021-06-17 13:09:49 -04:00
pmu_intel.c kvm: x86: Convert return type of *is_valid_rdpmc_ecx() to bool 2021-11-11 10:56:19 -05:00
posted_intr.c KVM: VMX: Clean up PI pre/post-block WARNs 2021-12-09 09:30:47 -05:00
posted_intr.h KVM: VMX: Use boolean returns for Posted Interrupt "test" helpers 2021-12-08 04:24:55 -05:00
sgx.c KVM: x86: SGX must obey the KVM_INTERNAL_ERROR_EMULATION protocol 2021-10-25 06:48:25 -04:00
sgx.h KVM: VMX: Enable SGX virtualization for SGX1, SGX2 and LC 2021-04-20 04:18:56 -04:00
vmcs.h KVM: x86: Clean up redundant ROL16(val, n) macro definition 2021-08-13 03:35:16 -04:00
vmcs12.c KVM: x86: Clean up redundant ROL16(val, n) macro definition 2021-08-13 03:35:16 -04:00
vmcs12.h KVM: x86: Clean up redundant ROL16(val, n) macro definition 2021-08-13 03:35:16 -04:00
vmcs_shadow_fields.h KVM: Fix some out-dated function names in comment 2020-01-21 13:57:27 +01:00
vmenter.S KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw 2021-02-04 05:27:32 -05:00
vmx.c KVM: nVMX: Ensure vCPU honors event request if posting nested IRQ fails 2021-12-09 09:30:46 -05:00
vmx.h KVM: nVMX: Track whether changes in L0 require MSR bitmap for L2 to be rebuilt 2021-12-08 09:06:04 -05:00
vmx_ops.h KVM: x86: Move declaration of kvm_spurious_fault() to x86.h 2021-08-13 03:35:16 -04:00