Re: [PATCH] x86, efi: change name of efi_no_storage_paranoia parameter to efi_storage_paranoia

joeyli
2013-11-20T08:08:01Z

於 三，2013-11-20 於 15:26 +0900，Yasuaki Ishimatsu 提到：
> (2013/11/19 12:16), Madper Xie wrote:
> >
> > isimatu.yasuaki-+CUm20s59erQFUHtdCDX3A@public.gmane.org writes:
> >
> >> Hi Matt,
> >>
> >> Sorry for late the reply.
> >>
> >>
> >> (2013/11/11 19:54), Matt Fleming wrote:
> >>> On Mon, 11 Nov, at 05:52:59PM, Yasuaki Ishimatsu wrote:
> >>>> Hi Matt,
> >>>>
> >>>> I uses FUJITSU's x86 box.
> >>>> This does not become bricked even if I use all efi variable storage.
> >>>> Thus I want a way to not need to specify efi_no_storage_paranoia
> >>>> parameter.
> >>>
> >>> The efi_no_storage_paranoia parameter was introduced because some
> >>> machines do not initiate garbage collection of the NVRAM until you
> >>> allocate all space - basically it's a switch to turn off the "save 5KB
> >>> of stoarge at all times" workaround that is needed to avoid bricking
> >>> some machines.
> >>>
> >>> The intention of the switch is not to allow you to fill your NVRAM just
> >>> because you can. If that is something you want to do then I think it's
> >>> fair to require you to explicitly turn on efi_no_storage_paranoia. But
> >>> I'm assuming here that you are doing something like writing lots and
> >>> lots of pstore entries and just want to write as many as your variable
> >>> storage will allow? Or are you doing something more fundamental like
> >>> creating BootXXXX entries?
> >>>
> >>> What are you doing to run into the 5KB reserve? How much NVRAM does your
> >>> machine come with?
> >>
> >> I just add boot entry to NVRAM by efibootmgr command. But when Linux boots up,
> >> the remaining NVRAM is less than 5Kbyte. So I cannnot add new entry.
> >>
> > Howdy Yasuaki,
> > If the remaining NVRAM is less than 5Kb, your writing will trigger a
> > NVRAM storage reclamation. However you still failed creating entry. So
> > I'm just curious what itmes occupy lots of nvram storage space.
>
> Even if we got EFI_OUT_OF_RESOURCES while running Linux, gc does not run.
> Trigger of gc is when EFI_OUT_OF_RESOURCES occurs on pre OS environment with
> UEFI. So on my system, if EFI_OUT_OF_RESOURCES occurs by the 5Kbyte threshold,
> we cannot use nvram storage until EFI_OUT_OF_RESOURCES occurs on pre OS
> environment with UEFI.
>
> Thanks,
> Yasuaki Ishimatsu

Can we try to trigger gc by EFI_OUT_OF_RESOURCE in EFI stub kernel or
EFI boot loader to recover NVRAM space? Does work with the BIOS on this
machine?

Thanks a lot!
Joey Lee