From: Sean Christopherson <seanjc@google.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
Wanpeng Li <wanpengli@tencent.com>,
Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 00/10] KVM: Clean up 'struct page' / pfn helpers
Date: Fri, 29 Apr 2022 01:04:06 +0000 [thread overview]
Message-ID: <20220429010416.2788472-1-seanjc@google.com> (raw)
Clean up KVM's struct page / pfn helpers to reduce the number of
pfn_to_page() and page_to_pfn() conversions. E.g. kvm_release_pfn_dirty()
makes 6 (if I counted right) calls to pfn_to_page() when releasing a dirty
pfn that backed by a vanilla struct page. That is easily trimmed down to
a single call.
And perhaps more importantly, rename and refactor kvm_is_reserved_pfn() to
try and better reflect what it actually queries, which at this point is
effectively whether or not the pfn is backed by a refcounted page.
Sean Christopherson (10):
KVM: Do not zero initialize 'pfn' in hva_to_pfn()
KVM: Drop bogus "pfn != 0" guard from kvm_release_pfn()
KVM: Don't set Accessed/Dirty bits for ZERO_PAGE
KVM: Avoid pfn_to_page() and vice versa when releasing pages
KVM: nVMX: Use kvm_vcpu_map() to get/pin vmcs12's APIC-access page
KVM: Don't WARN if kvm_pfn_to_page() encounters a "reserved" pfn
KVM: Remove kvm_vcpu_gfn_to_page() and kvm_vcpu_gpa_to_page()
KVM: Take a 'struct page', not a pfn in kvm_is_zone_device_page()
KVM: Rename/refactor kvm_is_reserved_pfn() to
kvm_pfn_to_refcounted_page()
KVM: x86/mmu: Shove refcounted page dependency into
host_pfn_mapping_level()
arch/x86/kvm/mmu/mmu.c | 26 +++++--
arch/x86/kvm/mmu/tdp_mmu.c | 3 +-
arch/x86/kvm/vmx/nested.c | 39 ++++-------
arch/x86/kvm/vmx/vmx.h | 2 +-
include/linux/kvm_host.h | 12 +---
virt/kvm/kvm_main.c | 140 +++++++++++++++++++++++++------------
6 files changed, 131 insertions(+), 91 deletions(-)
base-commit: 2a39d8b39bffdaf1a4223d0d22f07baee154c8f3
--
2.36.0.464.gb9c8b46e94-goog
next reply other threads:[~2022-04-29 1:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-29 1:04 Sean Christopherson [this message]
2022-04-29 1:04 ` [PATCH 01/10] KVM: Do not zero initialize 'pfn' in hva_to_pfn() Sean Christopherson
2022-06-16 14:54 ` Paolo Bonzini
2022-06-16 16:51 ` Sean Christopherson
2022-04-29 1:04 ` [PATCH 02/10] KVM: Drop bogus "pfn != 0" guard from kvm_release_pfn() Sean Christopherson
2022-04-29 1:04 ` [PATCH 03/10] KVM: Don't set Accessed/Dirty bits for ZERO_PAGE Sean Christopherson
2022-04-29 1:04 ` [PATCH 04/10] KVM: Avoid pfn_to_page() and vice versa when releasing pages Sean Christopherson
2022-06-16 15:00 ` Paolo Bonzini
2022-06-16 16:54 ` Sean Christopherson
2022-04-29 1:04 ` [PATCH 05/10] KVM: nVMX: Use kvm_vcpu_map() to get/pin vmcs12's APIC-access page Sean Christopherson
2022-04-29 1:04 ` [PATCH 06/10] KVM: Don't WARN if kvm_pfn_to_page() encounters a "reserved" pfn Sean Christopherson
2022-04-29 1:04 ` [PATCH 07/10] KVM: Remove kvm_vcpu_gfn_to_page() and kvm_vcpu_gpa_to_page() Sean Christopherson
2022-04-29 1:04 ` [PATCH 08/10] KVM: Take a 'struct page', not a pfn in kvm_is_zone_device_page() Sean Christopherson
2022-04-29 1:04 ` [PATCH 09/10] KVM: Rename/refactor kvm_is_reserved_pfn() to kvm_pfn_to_refcounted_page() Sean Christopherson
2022-04-29 1:04 ` [PATCH 10/10] KVM: x86/mmu: Shove refcounted page dependency into host_pfn_mapping_level() Sean Christopherson
2022-06-16 15:21 ` [PATCH 00/10] KVM: Clean up 'struct page' / pfn helpers Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220429010416.2788472-1-seanjc@google.com \
--to=seanjc@google.com \
--cc=jmattson@google.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=vkuznets@redhat.com \
--cc=wanpengli@tencent.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.