[PATCH 0/3] Support SRAT for movablemem_map boot option.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here, we do two things:
1) patch1 ~ patch2: Prevent memblock from allocating memory in memory
                    to be set as ZONE_MOVABLE.
2) patch3:          Provide movablemem_map=acpi option for users who
                    don't want to specify physical address in kernel
                    commandline. It will use SRAT info, and set all
                    the hotpluggable memory as ZONE_MOVABLE.

After applying these 3 patches, movablemem_map boot option will work like this:

        /*
         * For movablemem_map=acpi:
         *
         * SRAT:                |_____| |_____| |_________| |_________| ......
         * node id:                0       1         1           2
         * hotpluggable:           n       y         y           n
         * movablemem_map:              |_____| |_________|
         *
         *
         * For movablemem_map=nn[KMG]@ss[KMG]:
         *
         * SRAT:                |_____| |_____| |_________| |_________| ......
         * node id:                0       1         1           2
         * user specified:                |__|                 |___|
         * movablemem_map:                |___| |_________|    |______| ......
         *
         * Using movablemem_map, we can prevent memblock from allocating memory
         * on ZONE_MOVABLE at boot time.
         *
         * NOTE: In the second case, SRAT info will be ingored.
         */

NOTE: Using this boot option could cause NUMA performance down. For users who
      don't want to lose NUMA performance, just do not use it now.
      We will improve it all along.

For more info of movablemem_map, please refer to:
      https://lkml.org/lkml/2013/1/14/87


Tang Chen (3):
  acpi, memory-hotplug: Parse SRAT before memblock is ready.
  acpi, memory-hotplug: Extend movablemem_map ranges to the end of
    node.
  acpi, memory-hotplug: Support getting hotplug info from SRAT.

 Documentation/kernel-parameters.txt |   23 ++++++++--
 arch/x86/kernel/setup.c             |   13 ++++--
 arch/x86/mm/numa.c                  |    2 +-
 arch/x86/mm/srat.c                  |   81 +++++++++++++++++++++++++++++++++-
 drivers/acpi/numa.c                 |   23 ++++++----
 include/linux/acpi.h                |    1 +
 include/linux/mm.h                  |    6 +++
 mm/page_alloc.c                     |   56 +++++++++++++++++++++++-
 8 files changed, 179 insertions(+), 26 deletions(-)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]