On 8/9/21 11:26 PM, Kirill A. Shutemov wrote: > UEFI Specification version 2.9 introduces concept of memory acceptance: > Some Virtual Machine platforms, such as Intel TDX or AMD SEV-SNP, > requiring memory to be accepted before it can be used by the guest. > Accepting happens via a protocol specific for the Virtrual Machine > platform. > > Accepting memory is costly and it makes VMM allocate memory for the > accepted guest physical address range. We don't want to accept all memory > upfront. This could use a bit more explanation. Any VM is likely to *eventually* touch all its memory, so it's not like a VMM has a long-term advantage by delaying this. So, it must have to do with resource use at boot. Is this to help boot times? I had expected this series, but I also expected it to be connected to CONFIG_DEFERRED_STRUCT_PAGE_INIT somehow. Could you explain a bit how this problem is different and demands a totally orthogonal solution? For instance, what prevents us from declaring: "Memory is accepted at the time that its 'struct page' is initialized" ? Then, we use all the infrastructure we already have for DEFERRED_STRUCT_PAGE_INIT. This series isn't too onerous, but I do want to make sure that we're not reinventing the wheel.