public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Min Xu" <min.m.xu@intel.com>
To: "Ni, Ray" <ray.ni@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>
Cc: "Gao, Jiaqi" <jiaqi.gao@intel.com>,
	"Wang, Jian J" <jian.j.wang@intel.com>,
	"Gao, Liming" <gaoliming@byosoft.com.cn>,
	"Bi, Dandan" <dandan.bi@intel.com>,
	"Aktas, Erdem" <erdemaktas@google.com>,
	"James Bottomley" <jejb@linux.ibm.com>,
	"Yao, Jiewen" <jiewen.yao@intel.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>
Subject: Re: [edk2-devel] [PATCH V2 14/14] MdeModulePkg: Pool and page functions accept memory when OOM occurs
Date: Tue, 30 Aug 2022 08:08:56 +0000	[thread overview]
Message-ID: <PH0PR11MB5064320D7DA3E22AA2C27896C5799@PH0PR11MB5064.namprd11.prod.outlook.com> (raw)
In-Reply-To: <MWHPR11MB1631BF35502DC45EFEFFCBEC8C799@MWHPR11MB1631.namprd11.prod.outlook.com>

On August 30, 2022 3:44 PM, Ni Ray wrote:
> > On August 30, 2022 3:12 PM, Ni Ray wrote:
> > >
> > > I saw the justification of this is to support different size of
> > > Linux kernel images.
> > > But that's after TD DXE driver.
> > > For code running before TD DXE driver, the memory needs is
> > > predicable, right?
> > That's right. The memory before loading linux kernel is predicable.
> > To support different size of linux kernel, there are hot discussions
> > in EDK2/QEMU/LinuxKernel communities. There is a summary of the
> > discussion in this link https://edk2.groups.io/g/devel/message/92332
> >
> > I am also nervous to change in the fundamental memory allocation
> > service (MdeModulePkg/Core/Dxe/Mem).
> > Another option is that in current stage we accept memories under 4G
> > and so that we can drop this patch (Pool and page functions accept
> > memory when OOM occurs).
> >
> > What's your thoughts?
> 
> Do you mean:
> Accepting 4G memory in ResetVector and accepting more memory in TD DXE
> driver through MP protocol?
The unaccepted-memory-region is described in TdHob which is passed by QEMU. It includes the start address and size of the unaccepted-memory-region. Accepting memories under 4G is to accept the memories which start-address and size is under 4G. If an unaccept-memory-region is cross 4G, then it is split into 2 parts. We accept the lower part and leave the higher part as unaccepted.

> 
> Does that need more time in ResetVector?
TDVF accepts memories in SEC phase to make sure there are enough memories for PEI/DXE. Of course it costs more time to accept more memories.

> Is memory range to be accepted by ResetVector in a different meta data
> record than the memory ranges to be accepted by TD DXE driver?
The unaccept-memory-region information is recorded first in TdHob (which is passed from QEMU). 
Before jumping to DXE phase the accepted and unaccepted memory region information are recorded in the HOBs which are transferred to DXE. 
In DXE these information will be recorded in mGcdMemorySpaceMap which will be used by the EdkiiMemoryAcceptProtocol.

Thanks
Min

  reply	other threads:[~2022-08-30  8:09 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-27  6:21 [PATCH V2 00/14] Introduce Lazy-accept for Tdx guest Min Xu
2022-08-27  6:21 ` [PATCH V2 01/14] MdeModulePkg: Add PrePiHob.h Min Xu
2022-09-01 15:47   ` Gerd Hoffmann
2022-09-01 23:34     ` Min Xu
2022-09-04 11:34     ` Min Xu
2022-09-07  5:30       ` Gerd Hoffmann
2022-09-07 23:56         ` [edk2-devel] " Min Xu
2022-08-27  6:21 ` [PATCH V2 02/14] MdePkg: Increase EFI_RESOURCE_MAX_MEMORY_TYPE Min Xu
2022-08-27  6:21 ` [PATCH V2 03/14] OvmfPkg: Use EFI_RESOURCE_MEMORY_UNACCEPTED which defined in MdeModulePkg Min Xu
2022-08-27  6:21 ` [PATCH V2 04/14] MdePkg: Add UEFI Unaccepted memory definition Min Xu
2022-08-27  6:21 ` [PATCH V2 05/14] MdeModulePkg: Update Dxe to handle unaccepted memory type Min Xu
2022-08-27  6:21 ` [PATCH V2 06/14] ShellPkg: Update shell command memmap to show unaccepted memory Min Xu
2022-09-01 15:50   ` Gerd Hoffmann
2022-08-27  6:21 ` [PATCH V2 07/14] OvmfPkg: Add PCD and DEFINEs for Lazy Accept page Min Xu
2022-09-01 15:56   ` Gerd Hoffmann
2022-09-01 23:33     ` [edk2-devel] " Min Xu
2022-09-02  5:30       ` Gerd Hoffmann
2022-08-27  6:21 ` [PATCH V2 08/14] OvmfPkg: Add MaxAcceptedMemoryAddress in TDX work area Min Xu
2022-08-27  6:21 ` [PATCH V2 09/14] OvmfPkg: Introduce lazy accept in PlatformInitLib and PlatformPei Min Xu
2022-08-27  6:21 ` [PATCH V2 10/14] OvmfPkg: Update ConstructFwHobList for lazy accept Min Xu
2022-08-27  6:21 ` [PATCH V2 11/14] MdePkg: The prototype definition of EdkiiMemoryAcceptProtocol Min Xu
2022-09-01 15:57   ` Gerd Hoffmann
2022-08-27  6:21 ` [PATCH V2 12/14] OvmfPkg: Realize EdkiiMemoryAcceptProtocol in TdxDxe Min Xu
2022-09-01 15:58   ` Gerd Hoffmann
2022-08-27  6:21 ` [PATCH V2 13/14] OvmfPkg: Call gEdkiiMemoryAcceptProtocolGuid to accept pages Min Xu
2022-09-01 15:59   ` Gerd Hoffmann
2022-08-27  6:21 ` [PATCH V2 14/14] MdeModulePkg: Pool and page functions accept memory when OOM occurs Min Xu
2022-08-29 20:47   ` Lendacky, Thomas
2022-08-30  0:29     ` [edk2-devel] " Ni, Ray
2022-08-30  6:00       ` Min Xu
2022-08-30  6:14         ` Ni, Ray
2022-08-30  6:35           ` Min Xu
2022-08-30  7:12             ` Ni, Ray
2022-08-30  7:30               ` Min Xu
2022-08-30  7:43                 ` Ni, Ray
2022-08-30  8:08                   ` Min Xu [this message]
2022-08-30  9:28                     ` Ni, Ray
     [not found]                 ` <17100F9FBCB0C570.28430@groups.io>
2022-08-30  7:47                   ` Ni, Ray
2022-08-30  3:20     ` Min Xu
2022-08-30 14:24       ` Lendacky, Thomas

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-list 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=PH0PR11MB5064320D7DA3E22AA2C27896C5799@PH0PR11MB5064.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /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