lkml.org 
[lkml]   [2011]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 17/50] memory hotplug: sysfs probe routine should add all memory sections
    Date
    From: Nathan Fontenot <nfont@austin.ibm.com>

    As a follow-on to the recent patches I submitted that allowed for a sysfs
    memory block to span multiple memory sections, we should also update the
    probe routine to online all of the memory sections in a memory block. Without
    this patch the current code will only add a single memory section. I think
    the probe routine should add all of the memory sections in the specified memory
    block so that its behavior is in line with memory hotplug actions through
    the sysfs interfaces.

    This patch applies on top of the previous sysfs memory updates to allow
    a sysfs directory o span multiple memory sections.

    https://lkml.org/lkml/2011/1/20/245

    Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    drivers/base/memory.c | 13 ++++++++++---
    1 files changed, 10 insertions(+), 3 deletions(-)

    diff --git a/drivers/base/memory.c b/drivers/base/memory.c
    index 71b4a32..3da6a43 100644
    --- a/drivers/base/memory.c
    +++ b/drivers/base/memory.c
    @@ -387,12 +387,19 @@ memory_probe_store(struct class *class, struct class_attribute *attr,
    {
    u64 phys_addr;
    int nid;
    - int ret;
    + int i, ret;

    phys_addr = simple_strtoull(buf, NULL, 0);

    - nid = memory_add_physaddr_to_nid(phys_addr);
    - ret = add_memory(nid, phys_addr, PAGES_PER_SECTION << PAGE_SHIFT);
    + for (i = 0; i < sections_per_block; i++) {
    + nid = memory_add_physaddr_to_nid(phys_addr);
    + ret = add_memory(nid, phys_addr,
    + PAGES_PER_SECTION << PAGE_SHIFT);
    + if (ret)
    + break;
    +
    + phys_addr += MIN_MEMORY_BLOCK_SIZE;
    + }

    if (ret)
    count = ret;
    --
    1.7.4.1


    \
     
     \ /
      Last update: 2011-03-16 22:15    [W:0.027 / U:2.368 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site