Commit ea262f8a authored by Ashish Kalra's avatar Ashish Kalra Committed by Paolo Bonzini

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: default avatarAshish Kalra <ashish.kalra@amd.com>
Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
[mdr: Add some clarifications in commit]
Signed-off-by: default avatarMichael Roth <michael.roth@amd.com>
Message-ID: <20240501085210.2213060-17-michael.roth@amd.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent b2104024
...@@ -3039,7 +3039,13 @@ static void sev_flush_encrypted_page(struct kvm_vcpu *vcpu, void *va) ...@@ -3039,7 +3039,13 @@ static void sev_flush_encrypted_page(struct kvm_vcpu *vcpu, void *va)
void sev_guest_memory_reclaimed(struct kvm *kvm) 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; return;
wbinvd_on_all_cpus(); wbinvd_on_all_cpus();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment