The name is misleading and it's not really clear what is "kept". Let's just
name it like the online_type name we expose to user space ("online").

Add some documentation to the types.

Reviewed-by: Wei Yang <richard.weiy...@gmail.com>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Michal Hocko <mho...@kernel.org>
Cc: Oscar Salvador <osalva...@suse.de>
Cc: "Rafael J. Wysocki" <raf...@kernel.org>
Cc: Baoquan He <b...@redhat.com>
Cc: Wei Yang <richard.weiy...@gmail.com>
Signed-off-by: David Hildenbrand <da...@redhat.com>
---
 drivers/base/memory.c          | 9 +++++----
 include/linux/memory_hotplug.h | 6 +++++-
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/base/memory.c b/drivers/base/memory.c
index 6448c9ece2cb..8c5ce42c0fc3 100644
--- a/drivers/base/memory.c
+++ b/drivers/base/memory.c
@@ -216,7 +216,7 @@ static int memory_subsys_online(struct device *dev)
         * attribute and need to set the online_type.
         */
        if (mem->online_type < 0)
-               mem->online_type = MMOP_ONLINE_KEEP;
+               mem->online_type = MMOP_ONLINE;
 
        ret = memory_block_change_state(mem, MEM_ONLINE, MEM_OFFLINE);
 
@@ -251,7 +251,7 @@ static ssize_t state_store(struct device *dev, struct 
device_attribute *attr,
        else if (sysfs_streq(buf, "online_movable"))
                online_type = MMOP_ONLINE_MOVABLE;
        else if (sysfs_streq(buf, "online"))
-               online_type = MMOP_ONLINE_KEEP;
+               online_type = MMOP_ONLINE;
        else if (sysfs_streq(buf, "offline"))
                online_type = MMOP_OFFLINE;
        else {
@@ -262,7 +262,7 @@ static ssize_t state_store(struct device *dev, struct 
device_attribute *attr,
        switch (online_type) {
        case MMOP_ONLINE_KERNEL:
        case MMOP_ONLINE_MOVABLE:
-       case MMOP_ONLINE_KEEP:
+       case MMOP_ONLINE:
                /* mem->online_type is protected by device_hotplug_lock */
                mem->online_type = online_type;
                ret = device_online(&mem->dev);
@@ -342,7 +342,8 @@ static ssize_t valid_zones_show(struct device *dev,
        }
 
        nid = mem->nid;
-       default_zone = zone_for_pfn_range(MMOP_ONLINE_KEEP, nid, start_pfn, 
nr_pages);
+       default_zone = zone_for_pfn_range(MMOP_ONLINE, nid, start_pfn,
+                                         nr_pages);
        strcat(buf, default_zone->name);
 
        print_allowed_zone(buf, nid, start_pfn, nr_pages, MMOP_ONLINE_KERNEL,
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h
index f4d59155f3d4..261dbf010d5d 100644
--- a/include/linux/memory_hotplug.h
+++ b/include/linux/memory_hotplug.h
@@ -47,9 +47,13 @@ enum {
 
 /* Types for control the zone type of onlined and offlined memory */
 enum {
+       /* Offline the memory. */
        MMOP_OFFLINE = -1,
-       MMOP_ONLINE_KEEP,
+       /* Online the memory. Zone depends, see default_zone_for_pfn(). */
+       MMOP_ONLINE,
+       /* Online the memory to ZONE_NORMAL. */
        MMOP_ONLINE_KERNEL,
+       /* Online the memory to ZONE_MOVABLE. */
        MMOP_ONLINE_MOVABLE,
 };
 
-- 
2.24.1

Reply via email to