On Wed 11-03-20 13:30:22, David Hildenbrand wrote:
> The name is misleading. Let's just name it like the online_type name we
> expose to user space ("online").

I would disagree the name is misleading. It just says that you want to
online and keep the zone type. Nothing I would insist on though.

> Add some documentation to the types.
> 
> 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

-- 
Michal Hocko
SUSE Labs

Reply via email to