Re: [PATCH v3] mm/hotplug: Only respect mem= parameter during boot stage

Jürgen Groß
2020-02-04T07:53:34Z

On 04.02.20 06:06, Baoquan He wrote:
> In commit 357b4da50a62 ("x86: respect memory size limiting via mem=
> parameter") a global varialbe max_mem_size is added to store
> the value parsed from 'mem= ', then checked when memory region is
> added. This truly stops those DIMMs from being added into system memory
> during boot-time.
>
> However, it also limits the later memory hotplug functionality. Any
> DIMM can't be hotplugged any more if its region is beyond the
> max_mem_size. We will get errors like:
>
> [ 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
>
> This will cause issue in a known use case where 'mem=' is added to
> the hypervisor. The memory that lies after 'mem=' boundary will be
> assigned to KVM guests. After commit 357b4da50a62 merged, memory
> can't be extended dynamically if system memory on hypervisor is not
> sufficient.
>
> So fix it by also checking if it's during boot-time restricting to add
> memory. Otherwise, skip the restriction.
>
> And also add this use case to document of 'mem=' kernel parameter.
>
> Fixes: 357b4da50a62 ("x86: respect memory size limiting via mem= parameter")
> Signed-off-by: Baoquan He <bhe@redhat.com>

Reviewed-by: Juergen Gross <jgross@suse.com>

Juergen