• Sean Christopherson's avatar
    KVM: Drop KVM's API to allow temporarily unmapping gfn=>pfn cache · 9f87791d
    Sean Christopherson authored
    Drop kvm_gpc_unmap() as it has no users and unclear requirements.  The
    API was added as part of the original gfn_to_pfn_cache support, but its
    sole usage[*] was never merged.  Fold the guts of kvm_gpc_unmap() into
    the deactivate path and drop the API.  Omit acquiring refresh_lock as
    as concurrent calls to kvm_gpc_deactivate() are not allowed (this is
    not enforced, e.g. via lockdep. due to it being called during vCPU
    destruction).
    
    If/when temporary unmapping makes a comeback, the desirable behavior is
    likely to restrict temporary unmapping to vCPU-exclusive mappings and
    require the vcpu->mutex be held to serialize unmap.  Use of the
    refresh_lock to protect unmapping was somewhat specuatively added by
    commit 93984f19 ("KVM: Fully serialize gfn=>pfn cache refresh via
    mutex") to guard against concurrent unmaps, but the primary use case of
    the temporary unmap, nested virtualization[*], doesn't actually need or
    want concurrent unmaps.
    
    [*] https://lore.kernel.org/all/20211210163625.2886-7-dwmw2@infradead.orgSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
    Signed-off-by: default avatarDavid Woodhouse <dwmw@amazon.co.uk>
    9f87791d
pfncache.c 10.6 KB