All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Wen Congyang <wency@cn.fujitsu.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Rob Landley <rob@landley.net>,
	Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	Jiang Liu <jiang.liu@huawei.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Minchan Kim <minchan.kim@gmail.com>, Mel Gorman <mgorman@suse.de>,
	David Rientjes <rientjes@google.com>,
	Yinghai Lu <yinghai@kernel.org>,
	Rusty Russell <rusty@rustcorp.com.au>
Subject: Re: [PART4 Patch v2 2/2] memory_hotplug: allow online/offline memory to result movable node
Date: Tue, 20 Nov 2012 14:29:28 -0800	[thread overview]
Message-ID: <20121120142928.0aaf8fc8.akpm@linux-foundation.org> (raw)
In-Reply-To: <1353067090-19468-3-git-send-email-wency@cn.fujitsu.com>

On Fri, 16 Nov 2012 19:58:10 +0800
Wen Congyang <wency@cn.fujitsu.com> wrote:

> From: Lai Jiangshan <laijs@cn.fujitsu.com>
> 
> Now, memory management can handle movable node or nodes which don't have
> any normal memory, so we can dynamic configure and add movable node by:
> 	online a ZONE_MOVABLE memory from a previous offline node
> 	offline the last normal memory which result a non-normal-memory-node
> 
> movable-node is very important for power-saving,
> hardware partitioning and high-available-system(hardware fault management).
> 
> ...
>
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -589,11 +589,19 @@ static int online_pages_range(unsigned long start_pfn, unsigned long nr_pages,
>  	return 0;
>  }
>  
> +#ifdef CONFIG_MOVABLE_NODE
> +/* when CONFIG_MOVABLE_NODE, we allow online node don't have normal memory */

The comment is hard to understand.  Should it read "When
CONFIG_MOVABLE_NODE, we permit onlining of a node which doesn't have
normal memory"?

> +static bool can_online_high_movable(struct zone *zone)
> +{
> +	return true;
> +}
> +#else /* #ifdef CONFIG_MOVABLE_NODE */
>  /* ensure every online node has NORMAL memory */
>  static bool can_online_high_movable(struct zone *zone)
>  {
>  	return node_state(zone_to_nid(zone), N_NORMAL_MEMORY);
>  }
> +#endif /* #ifdef CONFIG_MOVABLE_NODE */
>  
>  /* check which state of node_states will be changed when online memory */
>  static void node_states_check_changes_online(unsigned long nr_pages,
> @@ -1097,6 +1105,13 @@ check_pages_isolated(unsigned long start_pfn, unsigned long end_pfn)
>  	return offlined;
>  }
>  
> +#ifdef CONFIG_MOVABLE_NODE
> +/* when CONFIG_MOVABLE_NODE, we allow online node don't have normal memory */

Ditto, after replacing "online" with offlining".

> +static bool can_offline_normal(struct zone *zone, unsigned long nr_pages)
> +{
> +	return true;
> +}
> +#else /* #ifdef CONFIG_MOVABLE_NODE */
>  /* ensure the node has NORMAL memory if it is still online */
>  static bool can_offline_normal(struct zone *zone, unsigned long nr_pages)
>  {
> @@ -1120,6 +1135,7 @@ static bool can_offline_normal(struct zone *zone, unsigned long nr_pages)
>  	 */
>  	return present_pages == 0;
>  }
> +#endif /* #ifdef CONFIG_MOVABLE_NODE */

Please, spend more time over the accuracy and completeness of the
changelog and comments?  That will result in better and more
maintainable code.  And it results in *much* more effective code
reviewing.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm@linux-foundation.org>
To: Wen Congyang <wency@cn.fujitsu.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Rob Landley <rob@landley.net>,
	Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	Jiang Liu <jiang.liu@huawei.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Minchan Kim <minchan.kim@gmail.com>, Mel Gorman <mgorman@suse.de>,
	David Rientjes <rientjes@google.com>,
	Yinghai Lu <yinghai@kernel.org>,
	Rusty Russell <rusty@rustcorp.com.au>
Subject: Re: [PART4 Patch v2 2/2] memory_hotplug: allow online/offline memory to result movable node
Date: Tue, 20 Nov 2012 14:29:28 -0800	[thread overview]
Message-ID: <20121120142928.0aaf8fc8.akpm@linux-foundation.org> (raw)
In-Reply-To: <1353067090-19468-3-git-send-email-wency@cn.fujitsu.com>

On Fri, 16 Nov 2012 19:58:10 +0800
Wen Congyang <wency@cn.fujitsu.com> wrote:

> From: Lai Jiangshan <laijs@cn.fujitsu.com>
> 
> Now, memory management can handle movable node or nodes which don't have
> any normal memory, so we can dynamic configure and add movable node by:
> 	online a ZONE_MOVABLE memory from a previous offline node
> 	offline the last normal memory which result a non-normal-memory-node
> 
> movable-node is very important for power-saving,
> hardware partitioning and high-available-system(hardware fault management).
> 
> ...
>
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -589,11 +589,19 @@ static int online_pages_range(unsigned long start_pfn, unsigned long nr_pages,
>  	return 0;
>  }
>  
> +#ifdef CONFIG_MOVABLE_NODE
> +/* when CONFIG_MOVABLE_NODE, we allow online node don't have normal memory */

The comment is hard to understand.  Should it read "When
CONFIG_MOVABLE_NODE, we permit onlining of a node which doesn't have
normal memory"?

> +static bool can_online_high_movable(struct zone *zone)
> +{
> +	return true;
> +}
> +#else /* #ifdef CONFIG_MOVABLE_NODE */
>  /* ensure every online node has NORMAL memory */
>  static bool can_online_high_movable(struct zone *zone)
>  {
>  	return node_state(zone_to_nid(zone), N_NORMAL_MEMORY);
>  }
> +#endif /* #ifdef CONFIG_MOVABLE_NODE */
>  
>  /* check which state of node_states will be changed when online memory */
>  static void node_states_check_changes_online(unsigned long nr_pages,
> @@ -1097,6 +1105,13 @@ check_pages_isolated(unsigned long start_pfn, unsigned long end_pfn)
>  	return offlined;
>  }
>  
> +#ifdef CONFIG_MOVABLE_NODE
> +/* when CONFIG_MOVABLE_NODE, we allow online node don't have normal memory */

Ditto, after replacing "online" with offlining".

> +static bool can_offline_normal(struct zone *zone, unsigned long nr_pages)
> +{
> +	return true;
> +}
> +#else /* #ifdef CONFIG_MOVABLE_NODE */
>  /* ensure the node has NORMAL memory if it is still online */
>  static bool can_offline_normal(struct zone *zone, unsigned long nr_pages)
>  {
> @@ -1120,6 +1135,7 @@ static bool can_offline_normal(struct zone *zone, unsigned long nr_pages)
>  	 */
>  	return present_pages == 0;
>  }
> +#endif /* #ifdef CONFIG_MOVABLE_NODE */

Please, spend more time over the accuracy and completeness of the
changelog and comments?  That will result in better and more
maintainable code.  And it results in *much* more effective code
reviewing.



  reply	other threads:[~2012-11-20 22:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-16 11:58 [PART4 Patch v2 0/2] memory-hotplug: allow online/offline memory to result movable node Wen Congyang
2012-11-16 11:58 ` Wen Congyang
2012-11-16 11:58 ` [PART4 Patch v2 1/2] numa: add CONFIG_MOVABLE_NODE for movable-dedicated node Wen Congyang
2012-11-16 11:58   ` Wen Congyang
2012-11-20 22:25   ` Andrew Morton
2012-11-20 22:25     ` Andrew Morton
2012-11-21  3:27     ` Wen Congyang
2012-11-21  3:27       ` Wen Congyang
2012-11-16 11:58 ` [PART4 Patch v2 2/2] memory_hotplug: allow online/offline memory to result movable node Wen Congyang
2012-11-16 11:58   ` Wen Congyang
2012-11-20 22:29   ` Andrew Morton [this message]
2012-11-20 22:29     ` Andrew Morton
2012-12-17  2:23     ` Tang Chen
2012-12-17  2:23       ` Tang Chen

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=20121120142928.0aaf8fc8.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=jiang.liu@huawei.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=minchan.kim@gmail.com \
    --cc=rientjes@google.com \
    --cc=rob@landley.net \
    --cc=rusty@rustcorp.com.au \
    --cc=wency@cn.fujitsu.com \
    --cc=yinghai@kernel.org \
    /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.