All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
To: David Hildenbrand <david@redhat.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linuxppc-dev@lists.ozlabs.org, linux-hyperv@vger.kernel.org,
	Wei Yang <richard.weiyang@gmail.com>,
	Michal Hocko <mhocko@suse.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Michal Hocko <mhocko@kernel.org>,
	Oscar Salvador <osalvador@suse.de>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Baoquan He <bhe@redhat.com>
Subject: Re: [PATCH v3 7/8] mm/memory_hotplug: convert memhp_auto_online to store an online_type
Date: Thu, 19 Mar 2020 18:19:33 +0100	[thread overview]
Message-ID: <CAM9Jb+hBVihQ=TSPoL_WL1tPRnfXTUw=dUw0oGGQkPWWs6gSxw@mail.gmail.com> (raw)
In-Reply-To: <20200319131221.14044-8-david@redhat.com>

> ... and rename it to memhp_default_online_type. This is a preparation
> for more detailed default online behavior.
>
> Reviewed-by: Wei Yang <richard.weiyang@gmail.com>
> Acked-by: Michal Hocko <mhocko@suse.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Michal Hocko <mhocko@kernel.org>
> Cc: Oscar Salvador <osalvador@suse.de>
> Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> Cc: Baoquan He <bhe@redhat.com>
> Cc: Wei Yang <richard.weiyang@gmail.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  drivers/base/memory.c          | 10 ++++------
>  include/linux/memory_hotplug.h |  3 ++-
>  mm/memory_hotplug.c            | 11 ++++++-----
>  3 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/base/memory.c b/drivers/base/memory.c
> index 8a7f29c0bf97..8d3e16dab69f 100644
> --- a/drivers/base/memory.c
> +++ b/drivers/base/memory.c
> @@ -386,10 +386,8 @@ static DEVICE_ATTR_RO(block_size_bytes);
>  static ssize_t auto_online_blocks_show(struct device *dev,
>                                        struct device_attribute *attr, char *buf)
>  {
> -       if (memhp_auto_online)
> -               return sprintf(buf, "online\n");
> -       else
> -               return sprintf(buf, "offline\n");
> +       return sprintf(buf, "%s\n",
> +                      online_type_to_str[memhp_default_online_type]);
>  }
>
>  static ssize_t auto_online_blocks_store(struct device *dev,
> @@ -397,9 +395,9 @@ static ssize_t auto_online_blocks_store(struct device *dev,
>                                         const char *buf, size_t count)
>  {
>         if (sysfs_streq(buf, "online"))
> -               memhp_auto_online = true;
> +               memhp_default_online_type = MMOP_ONLINE;
>         else if (sysfs_streq(buf, "offline"))
> -               memhp_auto_online = false;
> +               memhp_default_online_type = MMOP_OFFLINE;
>         else
>                 return -EINVAL;
>
> diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h
> index 76f3c617a8ab..6d6f85bb66e9 100644
> --- a/include/linux/memory_hotplug.h
> +++ b/include/linux/memory_hotplug.h
> @@ -118,7 +118,8 @@ extern int arch_add_memory(int nid, u64 start, u64 size,
>                            struct mhp_params *params);
>  extern u64 max_mem_size;
>
> -extern bool memhp_auto_online;
> +/* Default online_type (MMOP_*) when new memory blocks are added. */
> +extern int memhp_default_online_type;
>  /* If movable_node boot option specified */
>  extern bool movable_node_enabled;
>  static inline bool movable_node_is_enabled(void)
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index e21a7d53ade5..4efcf8cb9ac5 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -67,17 +67,17 @@ void put_online_mems(void)
>  bool movable_node_enabled = false;
>
>  #ifndef CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE
> -bool memhp_auto_online;
> +int memhp_default_online_type = MMOP_OFFLINE;
>  #else
> -bool memhp_auto_online = true;
> +int memhp_default_online_type = MMOP_ONLINE;
>  #endif
>
>  static int __init setup_memhp_default_state(char *str)
>  {
>         if (!strcmp(str, "online"))
> -               memhp_auto_online = true;
> +               memhp_default_online_type = MMOP_ONLINE;
>         else if (!strcmp(str, "offline"))
> -               memhp_auto_online = false;
> +               memhp_default_online_type = MMOP_OFFLINE;
>
>         return 1;
>  }
> @@ -993,6 +993,7 @@ static int check_hotplug_memory_range(u64 start, u64 size)
>
>  static int online_memory_block(struct memory_block *mem, void *arg)
>  {
> +       mem->online_type = memhp_default_online_type;
>         return device_online(&mem->dev);
>  }
>
> @@ -1065,7 +1066,7 @@ int __ref add_memory_resource(int nid, struct resource *res)
>         mem_hotplug_done();
>
>         /* online pages if requested */
> -       if (memhp_auto_online)
> +       if (memhp_default_online_type != MMOP_OFFLINE)
>                 walk_memory_blocks(start, size, NULL, online_memory_block);
>
>         return ret;
> --

Acked-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>

> 2.24.1
>
>

WARNING: multiple messages have this Message-ID (diff)
From: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
To: David Hildenbrand <david@redhat.com>
Cc: linux-hyperv@vger.kernel.org, Michal Hocko <mhocko@suse.com>,
	Baoquan He <bhe@redhat.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org,
	Wei Yang <richard.weiyang@gmail.com>,
	linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	Michal Hocko <mhocko@kernel.org>,
	linuxppc-dev@lists.ozlabs.org, Oscar Salvador <osalvador@suse.de>
Subject: Re: [PATCH v3 7/8] mm/memory_hotplug: convert memhp_auto_online to store an online_type
Date: Thu, 19 Mar 2020 18:19:33 +0100	[thread overview]
Message-ID: <CAM9Jb+hBVihQ=TSPoL_WL1tPRnfXTUw=dUw0oGGQkPWWs6gSxw@mail.gmail.com> (raw)
In-Reply-To: <20200319131221.14044-8-david@redhat.com>

> ... and rename it to memhp_default_online_type. This is a preparation
> for more detailed default online behavior.
>
> Reviewed-by: Wei Yang <richard.weiyang@gmail.com>
> Acked-by: Michal Hocko <mhocko@suse.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Michal Hocko <mhocko@kernel.org>
> Cc: Oscar Salvador <osalvador@suse.de>
> Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> Cc: Baoquan He <bhe@redhat.com>
> Cc: Wei Yang <richard.weiyang@gmail.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  drivers/base/memory.c          | 10 ++++------
>  include/linux/memory_hotplug.h |  3 ++-
>  mm/memory_hotplug.c            | 11 ++++++-----
>  3 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/base/memory.c b/drivers/base/memory.c
> index 8a7f29c0bf97..8d3e16dab69f 100644
> --- a/drivers/base/memory.c
> +++ b/drivers/base/memory.c
> @@ -386,10 +386,8 @@ static DEVICE_ATTR_RO(block_size_bytes);
>  static ssize_t auto_online_blocks_show(struct device *dev,
>                                        struct device_attribute *attr, char *buf)
>  {
> -       if (memhp_auto_online)
> -               return sprintf(buf, "online\n");
> -       else
> -               return sprintf(buf, "offline\n");
> +       return sprintf(buf, "%s\n",
> +                      online_type_to_str[memhp_default_online_type]);
>  }
>
>  static ssize_t auto_online_blocks_store(struct device *dev,
> @@ -397,9 +395,9 @@ static ssize_t auto_online_blocks_store(struct device *dev,
>                                         const char *buf, size_t count)
>  {
>         if (sysfs_streq(buf, "online"))
> -               memhp_auto_online = true;
> +               memhp_default_online_type = MMOP_ONLINE;
>         else if (sysfs_streq(buf, "offline"))
> -               memhp_auto_online = false;
> +               memhp_default_online_type = MMOP_OFFLINE;
>         else
>                 return -EINVAL;
>
> diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h
> index 76f3c617a8ab..6d6f85bb66e9 100644
> --- a/include/linux/memory_hotplug.h
> +++ b/include/linux/memory_hotplug.h
> @@ -118,7 +118,8 @@ extern int arch_add_memory(int nid, u64 start, u64 size,
>                            struct mhp_params *params);
>  extern u64 max_mem_size;
>
> -extern bool memhp_auto_online;
> +/* Default online_type (MMOP_*) when new memory blocks are added. */
> +extern int memhp_default_online_type;
>  /* If movable_node boot option specified */
>  extern bool movable_node_enabled;
>  static inline bool movable_node_is_enabled(void)
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index e21a7d53ade5..4efcf8cb9ac5 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -67,17 +67,17 @@ void put_online_mems(void)
>  bool movable_node_enabled = false;
>
>  #ifndef CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE
> -bool memhp_auto_online;
> +int memhp_default_online_type = MMOP_OFFLINE;
>  #else
> -bool memhp_auto_online = true;
> +int memhp_default_online_type = MMOP_ONLINE;
>  #endif
>
>  static int __init setup_memhp_default_state(char *str)
>  {
>         if (!strcmp(str, "online"))
> -               memhp_auto_online = true;
> +               memhp_default_online_type = MMOP_ONLINE;
>         else if (!strcmp(str, "offline"))
> -               memhp_auto_online = false;
> +               memhp_default_online_type = MMOP_OFFLINE;
>
>         return 1;
>  }
> @@ -993,6 +993,7 @@ static int check_hotplug_memory_range(u64 start, u64 size)
>
>  static int online_memory_block(struct memory_block *mem, void *arg)
>  {
> +       mem->online_type = memhp_default_online_type;
>         return device_online(&mem->dev);
>  }
>
> @@ -1065,7 +1066,7 @@ int __ref add_memory_resource(int nid, struct resource *res)
>         mem_hotplug_done();
>
>         /* online pages if requested */
> -       if (memhp_auto_online)
> +       if (memhp_default_online_type != MMOP_OFFLINE)
>                 walk_memory_blocks(start, size, NULL, online_memory_block);
>
>         return ret;
> --

Acked-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>

> 2.24.1
>
>

  reply	other threads:[~2020-03-19 17:19 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-19 13:12 [PATCH v3 0/8] mm/memory_hotplug: allow to specify a default online_type David Hildenbrand
2020-03-19 13:12 ` David Hildenbrand
2020-03-19 13:12 ` [PATCH v3 1/8] drivers/base/memory: rename MMOP_ONLINE_KEEP to MMOP_ONLINE David Hildenbrand
2020-03-19 13:12   ` David Hildenbrand
2020-03-19 16:28   ` Pankaj Gupta
2020-03-19 16:28     ` Pankaj Gupta
2020-03-19 16:28     ` Pankaj Gupta
2020-03-19 13:12 ` [PATCH v3 2/8] drivers/base/memory: map MMOP_OFFLINE to 0 David Hildenbrand
2020-03-19 13:12   ` David Hildenbrand
2020-03-19 16:29   ` Pankaj Gupta
2020-03-19 16:29     ` Pankaj Gupta
2020-03-19 16:29     ` Pankaj Gupta
2020-03-19 13:12 ` [PATCH v3 3/8] drivers/base/memory: store mapping between MMOP_* and string in an array David Hildenbrand
2020-03-19 13:12   ` David Hildenbrand
2020-03-19 16:33   ` Pankaj Gupta
2020-03-19 16:33     ` Pankaj Gupta
2020-03-19 16:33     ` Pankaj Gupta
2020-03-20  7:36   ` Baoquan He
2020-03-20  7:36     ` Baoquan He
2020-03-20  9:50     ` David Hildenbrand
2020-03-20  9:50       ` David Hildenbrand
2020-03-20  9:59       ` Baoquan He
2020-03-20  9:59         ` Baoquan He
2020-03-19 13:12 ` [PATCH v3 4/8] powernv/memtrace: always online added memory blocks David Hildenbrand
2020-03-19 13:12   ` David Hildenbrand
2020-03-19 13:12 ` [PATCH v3 5/8] hv_balloon: don't check for memhp_auto_online manually David Hildenbrand
2020-03-19 13:12   ` David Hildenbrand
2020-03-19 13:12 ` [PATCH v3 6/8] mm/memory_hotplug: unexport memhp_auto_online David Hildenbrand
2020-03-19 13:12   ` David Hildenbrand
2020-03-19 16:52   ` Pankaj Gupta
2020-03-19 16:52     ` Pankaj Gupta
2020-03-19 16:52     ` Pankaj Gupta
2020-03-19 13:12 ` [PATCH v3 7/8] mm/memory_hotplug: convert memhp_auto_online to store an online_type David Hildenbrand
2020-03-19 13:12   ` David Hildenbrand
2020-03-19 17:19   ` Pankaj Gupta [this message]
2020-03-19 17:19     ` Pankaj Gupta
2020-03-19 17:19     ` Pankaj Gupta
2020-03-19 13:12 ` [PATCH v3 8/8] mm/memory_hotplug: allow to specify a default online_type David Hildenbrand
2020-03-19 13:12   ` David Hildenbrand
2020-03-19 17:26   ` Pankaj Gupta
2020-03-19 17:26     ` Pankaj Gupta
2020-03-19 17:26     ` Pankaj Gupta
2020-03-20 10:01 ` [PATCH v3 0/8] " Baoquan He
2020-03-20 10:01   ` Baoquan He

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAM9Jb+hBVihQ=TSPoL_WL1tPRnfXTUw=dUw0oGGQkPWWs6gSxw@mail.gmail.com' \
    --to=pankaj.gupta.linux@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=bhe@redhat.com \
    --cc=david@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mhocko@kernel.org \
    --cc=mhocko@suse.com \
    --cc=osalvador@suse.de \
    --cc=rafael@kernel.org \
    --cc=richard.weiyang@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.