All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yin, Fengwei" <fengwei.yin@intel.com>
To: <isaku.yamahata@intel.com>, <kvm@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Cc: <isaku.yamahata@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>,
	<erdemaktas@google.com>, Sean Christopherson <seanjc@google.com>,
	Sagi Shahar <sagis@google.com>, Kai Huang <kai.huang@intel.com>,
	<chen.bo@intel.com>, <hang.yuan@intel.com>,
	<tina.zhang@intel.com>, "Li, Xiaoyao" <xiaoyao.li@intel.com>
Subject: Re: [PATCH v8 00/14] KVM TDX: TDP MMU: large page support
Date: Wed, 27 Mar 2024 08:53:50 +0800	[thread overview]
Message-ID: <8f7735aa-517f-4bb3-8e33-d58a27c2a822@intel.com> (raw)
In-Reply-To: <cover.1708933624.git.isaku.yamahata@intel.com>

Hi Isaku,

On 2/26/2024 4:29 PM, isaku.yamahata@intel.com wrote:
> From: Isaku Yamahata <isaku.yamahata@intel.com>
> 
> This patch series is based on "v19 KVM TDX: basic feature support".  It
> implements large page support for TDP MMU by allowing populating of the large
> page and splitting it when necessary.
To test the hugepage for TDX guest, we need to apply Qemu patch
from Xiaoyao:
https://lore.kernel.org/qemu-devel/20231115071519.2864957-4-xiaoyao.li@intel.com/

According to Xiaoyao, it's still under discussion. So he didn't
send updated version patch. For folks want to try this series,
it may be better to mention above link in this cover letter?

Test in my side showed several benchmarks got 10+% performance
gain which is really nice. So:
Tested-by: Yin Fengwei <fengwei.yin@intel.com>


Regards
Yin, Fengwei

> 
> No major changes from v7 instead of rebasing.
> 
> Thanks,
> 
> Changes from v7:
> - Rebased to v19 TDX KVM v6.8-rc5 based patch series
> 
> Changes from v6:
> - Rebased to v18 TDX KVM v6.8-rc1 based patch series
> - use struct tdx_module_args
> - minor improve on comment, commit message
> 
> Changes from v5:
> - Switched to TDX module 1.5 base.
> 
> Chnages from v4:
> - Rebased to v16 TDX KVM v6.6-rc2 base
> 
> Changes from v3:
> - Rebased to v15 TDX KVM v6.5-rc1 base
> 
> Changes from v2:
> - implemented page merging path
> - rebased to TDX KVM v11
> 
> Changes from v1:
> - implemented page merging path
> - rebased to UPM v10
> - rebased to TDX KVM v10
> - rebased to kvm.git queue + v6.1-rc8
> 
> Isaku Yamahata (4):
>    KVM: x86/tdp_mmu: Allocate private page table for large page split
>    KVM: x86/tdp_mmu: Try to merge pages into a large page
>    KVM: TDX: Implement merge pages into a large page
>    KVM: x86/mmu: Make kvm fault handler aware of large page of private
>      memslot
> 
> Sean Christopherson (1):
>    KVM: Add transparent hugepage support for dedicated guest memory
> 
> Xiaoyao Li (9):
>    KVM: TDX: Flush cache based on page size before TDX SEAMCALL
>    KVM: TDX: Pass KVM page level to tdh_mem_page_aug()
>    KVM: TDX: Pass size to reclaim_page()
>    KVM: TDX: Update tdx_sept_{set,drop}_private_spte() to support large
>      page
>    KVM: MMU: Introduce level info in PFERR code
>    KVM: TDX: Pass desired page level in err code for page fault handler
>    KVM: x86/tdp_mmu: Split the large page when zap leaf
>    KVM: x86/tdp_mmu, TDX: Split a large page when 4KB page within it
>      converted to shared
>    KVM: TDX: Allow 2MB large page for TD GUEST
> 
>   Documentation/virt/kvm/api.rst     |   7 +
>   arch/x86/include/asm/kvm-x86-ops.h |   3 +
>   arch/x86/include/asm/kvm_host.h    |  11 ++
>   arch/x86/kvm/mmu/mmu.c             |  38 ++--
>   arch/x86/kvm/mmu/mmu_internal.h    |  30 +++-
>   arch/x86/kvm/mmu/tdp_iter.c        |  37 +++-
>   arch/x86/kvm/mmu/tdp_iter.h        |   2 +
>   arch/x86/kvm/mmu/tdp_mmu.c         | 276 ++++++++++++++++++++++++++---
>   arch/x86/kvm/vmx/common.h          |   6 +-
>   arch/x86/kvm/vmx/tdx.c             | 221 +++++++++++++++++------
>   arch/x86/kvm/vmx/tdx_arch.h        |  21 +++
>   arch/x86/kvm/vmx/tdx_errno.h       |   3 +
>   arch/x86/kvm/vmx/tdx_ops.h         |  56 ++++--
>   arch/x86/kvm/vmx/vmx.c             |   2 +-
>   include/uapi/linux/kvm.h           |   2 +
>   virt/kvm/guest_memfd.c             |  73 +++++++-
>   16 files changed, 672 insertions(+), 116 deletions(-)
> 

  parent reply	other threads:[~2024-03-27  0:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-26  8:29 [PATCH v8 00/14] KVM TDX: TDP MMU: large page support isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 01/14] KVM: Add transparent hugepage support for dedicated guest memory isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 02/14] KVM: TDX: Flush cache based on page size before TDX SEAMCALL isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 03/14] KVM: TDX: Pass KVM page level to tdh_mem_page_aug() isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 04/14] KVM: TDX: Pass size to reclaim_page() isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 05/14] KVM: TDX: Update tdx_sept_{set,drop}_private_spte() to support large page isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 06/14] KVM: MMU: Introduce level info in PFERR code isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 07/14] KVM: TDX: Pass desired page level in err code for page fault handler isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 08/14] KVM: x86/tdp_mmu: Allocate private page table for large page split isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 09/14] KVM: x86/tdp_mmu: Split the large page when zap leaf isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 10/14] KVM: x86/tdp_mmu, TDX: Split a large page when 4KB page within it converted to shared isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 11/14] KVM: x86/tdp_mmu: Try to merge pages into a large page isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 12/14] KVM: TDX: Implement " isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 13/14] KVM: x86/mmu: Make kvm fault handler aware of large page of private memslot isaku.yamahata
2024-02-26  8:29 ` [PATCH v8 14/14] KVM: TDX: Allow 2MB large page for TD GUEST isaku.yamahata
2024-03-27  0:53 ` Yin, Fengwei [this message]
2024-03-27  4:15   ` [PATCH v8 00/14] KVM TDX: TDP MMU: large page support Isaku Yamahata

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=8f7735aa-517f-4bb3-8e33-d58a27c2a822@intel.com \
    --to=fengwei.yin@intel.com \
    --cc=chen.bo@intel.com \
    --cc=erdemaktas@google.com \
    --cc=hang.yuan@intel.com \
    --cc=isaku.yamahata@gmail.com \
    --cc=isaku.yamahata@intel.com \
    --cc=kai.huang@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=sagis@google.com \
    --cc=seanjc@google.com \
    --cc=tina.zhang@intel.com \
    --cc=xiaoyao.li@intel.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.