lkml.org 
[lkml]   [2017]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 06/13] mm, memory_hotplug: consider offline memblocks removable
    Date
    From: Michal Hocko <mhocko@suse.com>

    is_pageblock_removable_nolock relies on having zone association to
    examine all the page blocks to check whether they are movable or free.
    This is just wasting of cycles when the memblock is offline. Later patch
    in the series will also change the time when the page is associated with
    a zone so we let's bail out early if the memblock is offline.

    Reported-by: Igor Mammedov <imammedo@redhat.com>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: Michal Hocko <mhocko@suse.com>
    ---
    drivers/base/memory.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/drivers/base/memory.c b/drivers/base/memory.c
    index a6e11fa6406b..ea838f8114b4 100644
    --- a/drivers/base/memory.c
    +++ b/drivers/base/memory.c
    @@ -128,6 +128,9 @@ static ssize_t show_mem_removable(struct device *dev,
    int ret = 1;
    struct memory_block *mem = to_memory_block(dev);

    + if (mem->state != MEM_ONLINE)
    + goto out;
    +
    for (i = 0; i < sections_per_block; i++) {
    if (!present_section_nr(mem->start_section_nr + i))
    continue;
    @@ -135,6 +138,7 @@ static ssize_t show_mem_removable(struct device *dev,
    ret &= is_mem_section_removable(pfn, PAGES_PER_SECTION);
    }

    +out:
    return sprintf(buf, "%d\n", ret);
    }

    --
    2.11.0
    \
     
     \ /
      Last update: 2017-04-21 14:09    [W:5.825 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site