RE: [PATCHv7 00/14] mm, x86/cc: Implement support for unaccepted memory
From: Yao, Jiewen
Date: Mon Jul 18 2022 - 22:49:04 EST
Hey
I posted my comment on Bugzilla https://bugzilla.tianocore.org/show_bug.cgi?id=3987
Let's achieve EDKII/UEFI related discussion there.
Thank you
Yao, Jiewen
> -----Original Message-----
> From: Dionna Amalie Glaze <dionnaglaze@xxxxxxxxxx>
> Sent: Tuesday, July 19, 2022 7:32 AM
> To: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>; Peter Gonda <pgonda@xxxxxxxxxx>;
> Borislav Petkov <bp@xxxxxxxxx>; Lutomirski, Andy <luto@xxxxxxxxxx>;
> Christopherson,, Sean <seanjc@xxxxxxxxxx>; Andrew Morton <akpm@linux-
> foundation.org>; Rodel, Jorg <jroedel@xxxxxxx>; Andi Kleen
> <ak@xxxxxxxxxxxxxxx>; Kuppuswamy Sathyanarayanan
> <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>; David Rientjes
> <rientjes@xxxxxxxxxx>; Vlastimil Babka <vbabka@xxxxxxx>; Tom Lendacky
> <thomas.lendacky@xxxxxxx>; Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Peter
> Zijlstra <peterz@xxxxxxxxxxxxx>; Paolo Bonzini <pbonzini@xxxxxxxxxx>; Ingo
> Molnar <mingo@xxxxxxxxxx>; Varad Gautam <varad.gautam@xxxxxxxx>;
> Dario Faggioli <dfaggioli@xxxxxxxx>; Hansen, Dave <dave.hansen@xxxxxxxxx>;
> Mike Rapoport <rppt@xxxxxxxxxx>; David Hildenbrand <david@xxxxxxxxxx>;
> Marcelo Cerri <marcelo.cerri@xxxxxxxxxxxxx>; tim.gardner@xxxxxxxxxxxxx;
> Khalid ElMously <khalid.elmously@xxxxxxxxxxxxx>; Cox, Philip
> <philip.cox@xxxxxxxxxxxxx>; the arch/x86 maintainers <x86@xxxxxxxxxx>;
> Linux Memory Management List <linux-mm@xxxxxxxxx>; linux-
> coco@xxxxxxxxxxxxxxx; linux-efi <linux-efi@xxxxxxxxxxxxxxx>; LKML <linux-
> kernel@xxxxxxxxxxxxxxx>; Yao, Jiewen <jiewen.yao@xxxxxxxxx>
> Subject: Re: [PATCHv7 00/14] mm, x86/cc: Implement support for unaccepted
> memory
>
> > I've talked with our firmware expert today and I think we have a problem
> > with the approach when kernel declaries support of unaccepted memory.
> >
>
> Is this Jiewen Yao? I've been trying to design the UEFI spec change
> with him. The bootloader problem he commented with this morning was
> something I wasn't fully considering.
>
> > This apporach doesn't work if we include bootloader into the picture: if
> > EBS() called by bootloader we still cannot know if target kernel supports
> > unaccepted memory and we return to the square 1.
> >
> > I think we should make it obvious from a kernel image if it supports
> > unaccepted memory (with UTS_VERSION or other way).
> >
> > Any comments?
>
> Is this binary parsing trick already used in EDK2? If not, I wouldn't
> want to introduce an ABI-solidifying requirement like that.
>
> A bit more cumbersome, but more flexible way to enable the feature is
> an idea I had in a meeting today:
> Make unaccepted memory support a feature-enabling EFI driver installed
> to the EFI system partition.
>
> * The first time you boot (setup mode), you install an EFI driver that
> just sets a feature Pcd to true (using a custom protocol as Ard had
> suggested above).
> * The second time you boot, if the feature Pcd is true, then the UEFI
> is free to not accept memory and use the unaccepted memory type. The
> bootloader will run after unaccepted memory has been allowed already,
> so there is no accept-all event.
>
> The default behavior will be to accept all memory when GetMemoryMap is
> called unless the feature pcd is set to true.
>
> We can then say this driver isn't needed once some new generation of
> this technology comes along and we can require unaccepted memory
> support as part of that technology's baseline, or we manage to update
> the UEFI spec to have GetMemoryMapEx which has unaccepted memory
> support baked in and the bootloaders all know to use it.
>
> The cloud experience will be, "is boot slow? Install this EFI driver
> from the cloud service provider" to tell the UEFI to enable unaccepted
> memory.
>
> --
> -Dionna Glaze, PhD (she/her)