[PATCH 14/16] KVM: Skip unnecessary "unmap" if gpc is already valid during refresh

Paolo Bonzini posted 16 patches 3 years, 5 months ago
[PATCH 14/16] KVM: Skip unnecessary "unmap" if gpc is already valid during refresh
Posted by Paolo Bonzini 3 years, 5 months ago
From: Sean Christopherson <seanjc@google.com>

When refreshing a gfn=>pfn cache, skip straight to unlocking if the cache
already valid instead of stuffing the "old" variables to turn the
unmapping outro into a nop.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20221013211234.1318131-15-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 virt/kvm/pfncache.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/virt/kvm/pfncache.c b/virt/kvm/pfncache.c
index 68e2e53eac8a..b408a4b81e74 100644
--- a/virt/kvm/pfncache.c
+++ b/virt/kvm/pfncache.c
@@ -295,9 +295,8 @@ static int __kvm_gpc_refresh(struct gfn_to_pfn_cache *gpc, gpa_t gpa, unsigned l
 		ret = hva_to_pfn_retry(gpc);
 	} else {
 		/* If the HVA\ufffd\ufffd\ufffdPFN mapping was already valid, don't unmap it. */
-		old_pfn = KVM_PFN_ERR_FAULT;
-		old_khva = NULL;
 		ret = 0;
+		goto out_unlock;
 	}
 
  out:
-- 
2.31.1