Re: [Patch v2] mm/hotplug: Only respect mem= parameter during boot stage
From: Balbir Singh
Date: Tue Dec 10 2019 - 04:41:44 EST
On 10/12/19 8:37 pm, David Hildenbrand wrote:
> On 10.12.19 10:36, David Hildenbrand wrote:
>> On 10.12.19 10:24, 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?
>>
>> Some people/companies use "mem=" along with KVM e.g., to avoid
>> allocating memmaps for guest backing memory and to not expose it to the
>> buddy across kexec's. The excluded physical memory is then memmap into
>
> s/memmap/mmaped/
>
>> the hypervisor process and KVM can deal with that. I can imagine that
>> hotplug might be desirable as well for such use cases.
Makes sense, sounds hacky, but it seems like mem= is no longer a debug
option
Acked-by: Balbir Singh <bsingharora@xxxxxxxxx>
>>
>>>
>>> Balbir
>>>
>>
>>
>
>