Re: [Patch v2] mm/hotplug: Only respect mem= parameter during boot stage
From: Baoquan He
Date: Tue Dec 10 2019 - 04:34:46 EST
On 12/10/19 at 08:24pm, Balbir Singh wrote:
>
>
> On 10/12/19 7:44 pm, Baoquan He wrote:
> > In commit 357b4da50a62 ("x86: respect memory size limiting via mem=
> > parameter") a global varialbe global max_mem_size is added to store
> typo ^^^
> > the value parsed from 'mem= ', then checked when memory region is
> > added. This truly stops those DIMM from being added into system memory
> > during boot-time.
> >
> > However, it also limits the later memory hotplug functionality. Any
> > memory board can't be hot added any more if its region is beyond the
> > max_mem_size. System will print error like below:
> >
> > [ 216.387164] acpi PNP0C80:02: add_memory failed
> > [ 216.389301] acpi PNP0C80:02: acpi_memory_enable_device() error
> > [ 216.392187] acpi PNP0C80:02: Enumeration failure
> >
> > From document of 'mem= ' parameter, it should be a restriction during
> > boot, but not impact the system memory adding/removing after booting.
> >
> > mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory
> > ...
> >
> > So fix it by also checking if it's during boot-time when restrict memory
> > adding. Otherwise, skip the restriction.
> >
>
> The fix looks reasonable, but I don't get the use case. Booting with mem= is
> generally a debug option, is this for debugging memory hotplug + limited memory?
Not really. My understanding is whether 'mem= ' is for debugging or not,
it should only take effect during boot-time. Even though people add
'mem= ' for debugging only, they will have to reboot if they want to do
futher testing, e.g memory hotplug, or any other feature which makes use
of the memory hotplug mechanism to implement their functionality, like
ballon, or pmem.
Thanks
Baoquan