Kernel KVM virtualization development
 help / color / mirror / Atom feed
From: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
To: "yilun.xu@linux.intel.com" <yilun.xu@linux.intel.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"Li, Xiaoyao" <xiaoyao.li@intel.com>,
	"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
	"baolu.lu@linux.intel.com" <baolu.lu@linux.intel.com>,
	"Hunter, Adrian" <adrian.hunter@intel.com>,
	"kas@kernel.org" <kas@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Xu, Yilun" <yilun.xu@intel.com>,
	"artem.bityutskiy@linux.intel.com"
	<artem.bityutskiy@linux.intel.com>,
	"tony.lindgren@linux.intel.com" <tony.lindgren@linux.intel.com>,
	"Mehta, Sohil" <sohil.mehta@intel.com>,
	"Duan, Zhenzhong" <zhenzhong.duan@intel.com>,
	"Gao, Chao" <chao.gao@intel.com>,
	"Fang, Peter" <peter.fang@intel.com>,
	"Maloor, Kishen" <kishen.maloor@intel.com>,
	"x86@kernel.org" <x86@kernel.org>
Subject: Re: [PATCH 5/6] x86/virt/tdx: Make TDX module initialize the extensions
Date: Mon, 24 Aug 2026 17:58:07 +0000	[thread overview]
Message-ID: <e05f49c28a78de961130655a76f415b01774016e.camel@intel.com> (raw)
In-Reply-To: <aox8DgpnSnhZRfCv@yilunxu-OptiPlex-7050>

On Tue, 2026-08-25 at 01:14 +0800, Xu Yilun wrote:
> > If that could technically work, I guess the benefit of the current approach
> > is that it allows to use contiguous physical allocations. Not sure if you
> > think that simpler snippet would actually be that simple in the real world.
> 
> I think there are several simplifications here, let's break down:
> 
>  1. Forget about the 512-page limitation for hpa_list_info, always add 1 page
>     at a time.
>     This can also be applied to current flow. So put it aside.
> 
>  2. The loop strategy:
>     - read total memory size	vs.	- loop on error code
>     - prealloc all memory		  - alloc a page
>     - loop on size			  - memory add
>       - memory add
> 
>     The main saving is that we don't read memory_pool_required_pages any more.
>     Others are similar lines of code.

If we don't read memory_pool_required_pages, then the only real option is to add
1 page at a time. Or I'd think you end up giving extra memory. Unless
memory_pool_required_pages is rounded up to some higher page order? I think no.

But otherwise, if you are going to add pages many at at time, you need to read
memory_pool_required_pages to make sure you are not going to give extra memory.
At that point doing the allocation upfront (before the error code) is simpler.
Hence, the design in this patch.

So I'm not suggesting to change the design in the patch. Just that if 1 and 2
are really slightly simpler, it's worth justifying the design in this patch as
for the purpose of reducing fragmentation. Otherwise it looks unnecessarily
complicated.

> 
>  3. But we'd better keep reading ext_required. I tested when ext_required ==
> 0:
>       - tdh_sys_init() returns TDX_EXT_MEMORY_POOL_REQUIRED,

If we don't config any extensions, tdh_sys_init() returns
TDX_EXT_MEMORY_POOL_REQUIRED? Seems like a bug.

>       - tdh_ext_mem_add() returns TDX_EXT_MEMORY_POOL_NOT_PENDING,
>     So we need a weird return code combination to identify "extensions not
>     required" then skip. And I don't know if the combination is stable,
>     it is not specified in SPEC.
> 
>  4. If we still need to read at least one extensions metadata
>     (ext_required), saving a memory_pool_required_pages read is not
>     significant.
> 
> So generally I don't think the snippet would be that simple.


  parent reply	other threads:[~2026-08-24 17:58 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-21  3:29 [PATCH 0/6] Enable TDX module extensions Xu Yilun
2026-08-21  3:29 ` [PATCH 1/6] x86/virt/tdx: Wrap TDH.SYS.CONFIG/UPDATE operations in helpers Xu Yilun
2026-08-21 20:53   ` Edgecombe, Rick P
2026-08-24  4:52     ` Xu Yilun
2026-08-21  3:29 ` [PATCH 2/6] x86/virt/tdx: Configure add-on features on TDX module init and update Xu Yilun
2026-08-21 14:38   ` Dave Hansen
2026-08-21 21:18     ` Edgecombe, Rick P
2026-08-24  6:37     ` Xu Yilun
2026-08-24 15:15       ` Dave Hansen
2026-08-24 18:34         ` Xu Yilun
2026-08-21 22:01   ` Edgecombe, Rick P
2026-08-21  3:29 ` [PATCH 3/6] x86/virt/tdx: Detect if the extensions initialization is required Xu Yilun
2026-08-21 15:22   ` Kiryl Shutsemau
2026-08-21 22:22     ` Edgecombe, Rick P
2026-08-24 12:16       ` Kiryl Shutsemau
2026-08-21  3:29 ` [PATCH 4/6] x86/virt/tdx: Add extra memory to TDX module for the extensions Xu Yilun
2026-08-21 15:44   ` Kiryl Shutsemau
2026-08-24  9:18     ` Xu Yilun
2026-08-24 12:22       ` Kiryl Shutsemau
2026-08-21  3:29 ` [PATCH 5/6] x86/virt/tdx: Make TDX module initialize " Xu Yilun
2026-08-21 23:55   ` Edgecombe, Rick P
2026-08-24 17:14     ` Xu Yilun
2026-08-24 17:43       ` Edgecombe, Rick P
2026-08-24 17:58       ` Edgecombe, Rick P [this message]
2026-08-21  3:29 ` [PATCH 6/6] x86/virt/tdx: Re-initialize the extensions on runtime TDX module update Xu Yilun
2026-08-22  0:01   ` Edgecombe, Rick P

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=e05f49c28a78de961130655a76f415b01774016e.camel@intel.com \
    --to=rick.p.edgecombe@intel.com \
    --cc=adrian.hunter@intel.com \
    --cc=artem.bityutskiy@linux.intel.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=chao.gao@intel.com \
    --cc=kas@kernel.org \
    --cc=kishen.maloor@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-coco@lists.linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peter.fang@intel.com \
    --cc=sohil.mehta@intel.com \
    --cc=tony.lindgren@linux.intel.com \
    --cc=x86@kernel.org \
    --cc=xiaoyao.li@intel.com \
    --cc=yilun.xu@intel.com \
    --cc=yilun.xu@linux.intel.com \
    --cc=zhenzhong.duan@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox