lkml.org 
[lkml]   [2020]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v3] mm/hotplug: Only respect mem= parameter during boot stage
    From
    Date
    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>
    > ---
    > v2->v3:
    > In discussion of v1 and v2, People have concern about the use case
    > related to the code change. So add the use case into patch log and
    > document of 'mem=' in kernel-parameters.txt.
    >
    > Documentation/admin-guide/kernel-parameters.txt | 13 +++++++++++--
    > mm/memory_hotplug.c | 8 +++++++-
    > 2 files changed, 18 insertions(+), 3 deletions(-)
    >
    > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
    > index ddc5ccdd4cd1..b809767e5f74 100644
    > --- a/Documentation/admin-guide/kernel-parameters.txt
    > +++ b/Documentation/admin-guide/kernel-parameters.txt
    > @@ -2533,13 +2533,22 @@
    > For details see: Documentation/admin-guide/hw-vuln/mds.rst
    >
    > mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory
    > - Amount of memory to be used when the kernel is not able
    > - to see the whole system memory or for test.
    > + Amount of memory to be used in cases as follows:
    > +
    > + 1 for test;
    > + 2 when the kernel is not able to see the whole system memory;
    > + 3 memory that lies after 'mem=' boundary is excluded from
    > + the hypervisor, then assigned to KVM guests.

    I remember that there were more use cases, but forgot where that was
    documented :)

    I do wonder if we want to change that now without anybody complaining.
    Yes, I brought up a possible use case but don't know if it is relevant
    in practice (IOW, nobody complained yet :) ).

    Would like to get Michals opinion on this.

    --
    Thanks,

    David / dhildenb

    \
     
     \ /
      Last update: 2020-02-06 09:57    [W:3.189 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site