lkml.org 
[lkml]   [2022]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2 0/7] KVM: x86/mmu: Zap only obsolete roots on "reload"
From
On 2/25/22 19:22, Sean Christopherson wrote:
> For all intents and purposes, this is an x86/mmu series, but it touches
> s390 and common KVM code because KVM_REQ_MMU_RELOAD is currently a generic
> request despite its use being encapsulated entirely within arch code.
>
> The meat of the series is to zap only obsolete (a.k.a. invalid) roots in
> response to KVM marking a root obsolete/invalid due to it being zapped.
> KVM currently drops/zaps all roots, which, aside from being a performance
> hit if the guest is using multiple roots, complicates x86 KVM paths that
> load a new root because it raises the question of what should be done if
> there's a pending KVM_REQ_MMU_RELOAD, i.e. if the path _knows_ that any
> root it loads will be obliterated.
>
> Paolo, I'm hoping you can squash patch 01 with your patch it "fixes".
>
> I'm also speculating that this will be applied after my patch to remove
> KVM_REQ_GPC_INVALIDATE, otherwise the changelog in patch 06 will be
> wrong.

Queued, thanks.

Paolo

> v2:
> - Collect reviews. [Claudio, Janosch]
> - Rebase to latest kvm/queue.
>
> v1: https://lore.kernel.org/all/20211209060552.2956723-1-seanjc@google.com
>
> Sean Christopherson (7):
> KVM: x86: Remove spurious whitespaces from kvm_post_set_cr4()
> KVM: x86: Invoke kvm_mmu_unload() directly on CR4.PCIDE change
> KVM: Drop kvm_reload_remote_mmus(), open code request in x86 users
> KVM: x86/mmu: Zap only obsolete roots if a root shadow page is zapped
> KVM: s390: Replace KVM_REQ_MMU_RELOAD usage with arch specific request
> KVM: Drop KVM_REQ_MMU_RELOAD and update vcpu-requests.rst
> documentation
> KVM: WARN if is_unsync_root() is called on a root without a shadow
> page
>
> Documentation/virt/kvm/vcpu-requests.rst | 7 +-
> arch/s390/include/asm/kvm_host.h | 2 +
> arch/s390/kvm/kvm-s390.c | 8 +--
> arch/s390/kvm/kvm-s390.h | 2 +-
> arch/x86/include/asm/kvm_host.h | 2 +
> arch/x86/kvm/mmu.h | 1 +
> arch/x86/kvm/mmu/mmu.c | 83 ++++++++++++++++++++----
> arch/x86/kvm/x86.c | 10 +--
> include/linux/kvm_host.h | 4 +-
> virt/kvm/kvm_main.c | 5 --
> 10 files changed, 90 insertions(+), 34 deletions(-)
>
>
> base-commit: f4bc051fc91ab9f1d5225d94e52d369ef58bec58

\
 
 \ /
  Last update: 2022-03-01 18:09    [W:0.121 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site