lkml.org 
[lkml]   [2012]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC V3 PATCH 00/25] memory,numa: introduce MOVABLE-dedicated node and online_movable for hotplug
    Date

    A) Introduction:

    This patchset adds MOVABLE-dedicated node and online_movable for memory-management.

    It is used for anti-fragmentation(hugepage, big-order allocation...),
    hot-removal-of-memory(virtualization, power-conserve, move memory between systems
    to make better utilities of memories).

    B) User Interface:

    When users(big system manager) need config some node/memory as MOVABLE:
    1 Use kernelcore_max_addr=XX when boot
    2 Use movable_online hotplug action when running
    We may introduce some more convenient interface, such as
    movable_node=NODE_LIST boot option.

    C) Patches

    Patch1-3 Fix problems of the current code.(all related with hotplug)
    Patch4 cleanup for node_state_attr
    Patch5 introduce N_MEMORY
    Patch6-18 use N_MEMORY instead N_HIGH_MEMORY.
    The patches are separated by subsystem,
    *these conversions was(must be) checked carefully*.
    Patch18 also changes the node_states initialization
    Patch19 Add config to allow MOVABLE-dedicated node
    Patch20-24 Add kernelcore_max_addr
    Patch25 Add online_movable and online_kernel


    D) changes
    change V3-v2:
    Proper nodemask management

    change V2-V1:

    The original V1 patchset of MOVABLE-dedicated node is here:
    http://comments.gmane.org/gmane.linux.kernel.mm/78122

    The new V2 adds N_MEMORY and a notion of "MOVABLE-dedicated node".
    And fix some related problems.

    The orignal V1 patchset of "add online_movable" is here:
    https://lkml.org/lkml/2012/7/4/145

    The new V2 discards the MIGRATE_HOTREMOVE approach, and use a more straight
    implementation(only 1 patch).


    Lai Jiangshan (21):
    page_alloc.c: don't subtract unrelated memmap from zone's present
    pages
    memory_hotplug: fix missing nodemask management
    slub, hotplug: ignore unrelated node's hot-adding and hot-removing
    node: cleanup node_state_attr
    node_states: introduce N_MEMORY
    cpuset: use N_MEMORY instead N_HIGH_MEMORY
    procfs: use N_MEMORY instead N_HIGH_MEMORY
    memcontrol: use N_MEMORY instead N_HIGH_MEMORY
    oom: use N_MEMORY instead N_HIGH_MEMORY
    mm,migrate: use N_MEMORY instead N_HIGH_MEMORY
    mempolicy: use N_MEMORY instead N_HIGH_MEMORY
    hugetlb: use N_MEMORY instead N_HIGH_MEMORY
    vmstat: use N_MEMORY instead N_HIGH_MEMORY
    kthread: use N_MEMORY instead N_HIGH_MEMORY
    init: use N_MEMORY instead N_HIGH_MEMORY
    vmscan: use N_MEMORY instead N_HIGH_MEMORY
    page_alloc: use N_MEMORY instead N_HIGH_MEMORY change the node_states
    initialization
    hotplug: update nodemasks management
    numa: add CONFIG_MOVABLE_NODE for movable-dedicated node
    page_alloc: add kernelcore_max_addr
    mm, memory-hotplug: add online_movable and online_kernel

    Yasuaki Ishimatsu (4):
    x86: get pg_data_t's memory from other node
    x86: use memblock_set_current_limit() to set memblock.current_limit
    memblock: limit memory address from memblock
    memblock: compare current_limit with end variable at
    memblock_find_in_range_node()

    Documentation/cgroups/cpusets.txt | 2 +-
    Documentation/kernel-parameters.txt | 9 ++
    Documentation/memory-hotplug.txt | 24 +++-
    arch/x86/kernel/setup.c | 4 +-
    arch/x86/mm/init_64.c | 4 +-
    arch/x86/mm/numa.c | 8 +-
    drivers/base/memory.c | 19 ++-
    drivers/base/node.c | 28 +++--
    fs/proc/kcore.c | 2 +-
    fs/proc/task_mmu.c | 4 +-
    include/linux/cpuset.h | 2 +-
    include/linux/memblock.h | 1 +
    include/linux/memory.h | 2 +
    include/linux/memory_hotplug.h | 13 ++-
    include/linux/nodemask.h | 5 +
    init/main.c | 2 +-
    kernel/cpuset.c | 32 +++---
    kernel/kthread.c | 2 +-
    mm/Kconfig | 8 ++
    mm/hugetlb.c | 24 ++--
    mm/memblock.c | 10 +-
    mm/memcontrol.c | 18 ++--
    mm/memory_hotplug.c | 232 ++++++++++++++++++++++++++++++++---
    mm/mempolicy.c | 12 +-
    mm/migrate.c | 2 +-
    mm/oom_kill.c | 2 +-
    mm/page_alloc.c | 96 +++++++++------
    mm/page_cgroup.c | 2 +-
    mm/slub.c | 4 +-
    mm/vmscan.c | 4 +-
    mm/vmstat.c | 4 +-
    31 files changed, 437 insertions(+), 144 deletions(-)

    --
    1.7.4.4



    \
     
     \ /
      Last update: 2012-08-06 12:01    [W:0.039 / U:272.428 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site