KVM: SEV: Avoid WBINVD for HVA-based MMU notifications for SNP
With SNP/guest_memfd, private/encrypted memory should not be mappable, and MMU notifications for HVA-mapped memory will only be relevant to unencrypted guest memory. Therefore, the rationale behind issuing a wbinvd_on_all_cpus() in sev_guest_memory_reclaimed() should not apply for SNP guests and can be ignored. Signed-off-by: Ashish Kalra <ashish.kalra@amd.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> [mdr: Add some clarifications in commit] Signed-off-by: Michael Roth <michael.roth@amd.com> Message-ID: <20240501085210.2213060-17-michael.roth@amd.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
b2104024f4
commit
ea262f8a7c
@@ -3039,7 +3039,13 @@ do_wbinvd:
|
||||
|
||||
void sev_guest_memory_reclaimed(struct kvm *kvm)
|
||||
{
|
||||
if (!sev_guest(kvm))
|
||||
/*
|
||||
* With SNP+gmem, private/encrypted memory is unreachable via the
|
||||
* hva-based mmu notifiers, so these events are only actually
|
||||
* pertaining to shared pages where there is no need to perform
|
||||
* the WBINVD to flush associated caches.
|
||||
*/
|
||||
if (!sev_guest(kvm) || sev_snp_guest(kvm))
|
||||
return;
|
||||
|
||||
wbinvd_on_all_cpus();
|
||||
|
||||
Reference in New Issue
Block a user