linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PART4 Patch v2 0/2] memory-hotplug: allow online/offline memory to result movable node
@ 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 ` [PART4 Patch v2 2/2] memory_hotplug: allow online/offline memory to result movable node Wen Congyang
  0 siblings, 2 replies; 7+ messages in thread
From: Wen Congyang @ 2012-11-16 11:58 UTC (permalink / raw)
  To: linux-kernel, linux-mm
  Cc: Rob Landley, Andrew Morton, Yasuaki Ishimatsu, Lai Jiangshan,
	Jiang Liu, KOSAKI Motohiro, Minchan Kim, Mel Gorman,
	David Rientjes, Yinghai Lu, Rusty Russell, Wen Congyang

This patch is part4 of the following patchset:
    https://lkml.org/lkml/2012/10/29/319

Part1 is here:
    https://lkml.org/lkml/2012/10/31/30

Part2 is here:
    https://lkml.org/lkml/2012/10/31/73

Part3 is here:
    https://lkml.org/lkml/2012/11/15/111

Part5 is here:
    https://lkml.org/lkml/2012/10/31/145

Part6 is here:
    https://lkml.org/lkml/2012/10/31/248

You must apply part1-3 before applying this patchset.

Note: part1-3 are in mm tree now. part5 are being reimplemented(We will
post it some days later). part6 is still in discussion.

we need a node which only contains movable memory. This feature is very
important for node hotplug. If a node has normal/highmem, the memory
may be used by the kernel and can't be offlined. If the node only contains
movable memory, we can offline the memory and the node.

Changes from v1 to v2:
1. Add Tested-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
2. Add my Signed-off-by, because I am on the the patch delivery path.

Lai Jiangshan (2):
  numa: add CONFIG_MOVABLE_NODE for movable-dedicated node
  memory_hotplug: allow online/offline memory to result movable node

 drivers/base/node.c      |  6 ++++++
 include/linux/nodemask.h |  4 ++++
 mm/Kconfig               |  8 ++++++++
 mm/memory_hotplug.c      | 16 ++++++++++++++++
 mm/page_alloc.c          |  3 +++
 5 files changed, 37 insertions(+)

-- 
1.8.0

--
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>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PART4 Patch v2 1/2] numa: add CONFIG_MOVABLE_NODE for movable-dedicated node
  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-20 22:25   ` Andrew Morton
  2012-11-16 11:58 ` [PART4 Patch v2 2/2] memory_hotplug: allow online/offline memory to result movable node Wen Congyang
  1 sibling, 1 reply; 7+ messages in thread
From: Wen Congyang @ 2012-11-16 11:58 UTC (permalink / raw)
  To: linux-kernel, linux-mm
  Cc: Rob Landley, Andrew Morton, Yasuaki Ishimatsu, Lai Jiangshan,
	Jiang Liu, KOSAKI Motohiro, Minchan Kim, Mel Gorman,
	David Rientjes, Yinghai Lu, Rusty Russell, Wen Congyang

From: Lai Jiangshan <laijs@cn.fujitsu.com>

All are prepared, we can actually introduce N_MEMORY.
add CONFIG_MOVABLE_NODE make we can use it for movable-dedicated node

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Tested-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
---
 drivers/base/node.c      | 6 ++++++
 include/linux/nodemask.h | 4 ++++
 mm/Kconfig               | 8 ++++++++
 mm/page_alloc.c          | 3 +++
 4 files changed, 21 insertions(+)

diff --git a/drivers/base/node.c b/drivers/base/node.c
index 4c3aa7c..9cdd66f 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -620,6 +620,9 @@ static struct node_attr node_state_attr[] = {
 #ifdef CONFIG_HIGHMEM
 	[N_HIGH_MEMORY] = _NODE_ATTR(has_high_memory, N_HIGH_MEMORY),
 #endif
+#ifdef CONFIG_MOVABLE_NODE
+	[N_MEMORY] = _NODE_ATTR(has_memory, N_MEMORY),
+#endif
 	[N_CPU] = _NODE_ATTR(has_cpu, N_CPU),
 };
 
@@ -630,6 +633,9 @@ static struct attribute *node_state_attrs[] = {
 #ifdef CONFIG_HIGHMEM
 	&node_state_attr[N_HIGH_MEMORY].attr.attr,
 #endif
+#ifdef CONFIG_MOVABLE_NODE
+	&node_state_attr[N_MEMORY].attr.attr,
+#endif
 	&node_state_attr[N_CPU].attr.attr,
 	NULL
 };
diff --git a/include/linux/nodemask.h b/include/linux/nodemask.h
index c6ebdc9..4e2cbfa 100644
--- a/include/linux/nodemask.h
+++ b/include/linux/nodemask.h
@@ -380,7 +380,11 @@ enum node_states {
 #else
 	N_HIGH_MEMORY = N_NORMAL_MEMORY,
 #endif
+#ifdef CONFIG_MOVABLE_NODE
+	N_MEMORY,		/* The node has memory(regular, high, movable) */
+#else
 	N_MEMORY = N_HIGH_MEMORY,
+#endif
 	N_CPU,		/* The node has one or more cpus */
 	NR_NODE_STATES
 };
diff --git a/mm/Kconfig b/mm/Kconfig
index a3f8ddd..957ebd5 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -143,6 +143,14 @@ config NO_BOOTMEM
 config MEMORY_ISOLATION
 	boolean
 
+config MOVABLE_NODE
+	boolean "Enable to assign a node has only movable memory"
+	depends on HAVE_MEMBLOCK
+	depends on NO_BOOTMEM
+	depends on X86_64
+	depends on NUMA
+	default y
+
 # eventually, we can have this option just 'select SPARSEMEM'
 config MEMORY_HOTPLUG
 	bool "Allow for memory hot-add"
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 4054aaf..1b6725a 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -90,6 +90,9 @@ nodemask_t node_states[NR_NODE_STATES] __read_mostly = {
 #ifdef CONFIG_HIGHMEM
 	[N_HIGH_MEMORY] = { { [0] = 1UL } },
 #endif
+#ifdef CONFIG_MOVABLE_NODE
+	[N_MEMORY] = { { [0] = 1UL } },
+#endif
 	[N_CPU] = { { [0] = 1UL } },
 #endif	/* NUMA */
 };
-- 
1.8.0

--
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>

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PART4 Patch v2 2/2] memory_hotplug: allow online/offline memory to result movable node
  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 ` [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:29   ` Andrew Morton
  1 sibling, 1 reply; 7+ messages in thread
From: Wen Congyang @ 2012-11-16 11:58 UTC (permalink / raw)
  To: linux-kernel, linux-mm
  Cc: Rob Landley, Andrew Morton, Yasuaki Ishimatsu, Lai Jiangshan,
	Jiang Liu, KOSAKI Motohiro, Minchan Kim, Mel Gorman,
	David Rientjes, Yinghai Lu, Rusty Russell, Wen Congyang

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).

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Tested-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
---
 mm/memory_hotplug.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index d07c66f..4aceb03 100644
--- 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 */
+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 */
+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 */
 
 /* check which state of node_states will be changed when offline memory */
 static void node_states_check_changes_offline(unsigned long nr_pages,
-- 
1.8.0

--
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>

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PART4 Patch v2 1/2] numa: add CONFIG_MOVABLE_NODE for movable-dedicated node
  2012-11-16 11:58 ` [PART4 Patch v2 1/2] numa: add CONFIG_MOVABLE_NODE for movable-dedicated node Wen Congyang
@ 2012-11-20 22:25   ` Andrew Morton
  2012-11-21  3:27     ` Wen Congyang
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2012-11-20 22:25 UTC (permalink / raw)
  To: Wen Congyang
  Cc: linux-kernel, linux-mm, Rob Landley, Yasuaki Ishimatsu,
	Lai Jiangshan, Jiang Liu, KOSAKI Motohiro, Minchan Kim,
	Mel Gorman, David Rientjes, Yinghai Lu, Rusty Russell

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

> From: Lai Jiangshan <laijs@cn.fujitsu.com>
> 
> All are prepared, we can actually introduce N_MEMORY.
> add CONFIG_MOVABLE_NODE make we can use it for movable-dedicated node

This description is far too short on details.

I grabbed this from the [0/n] email:

: We need a node which only contains movable memory.  This feature is very
: important for node hotplug.  If a node has normal/highmem, the memory may
: be used by the kernel and can't be offlined.  If the node only contains
: movable memory, we can offline the memory and the node.

which helps a bit, but it's still pretty thin.

Why is this option made configurable?  Why not enable it unconditionally?

Please send a patch which adds the Kconfig help text for
CONFIG_MOVABLE_NODE.  Let's make that text nice and detailed.

The name MOVABLE_NODE is not a good one.  It means "a node which is
movable", whereas the concept is actually "a node whcih contains only
movable memory".  I suppose we could change it to something like
CONFIG_MOVABLE_MEMORY_ONLY_NODE or similar.  But I suppose that
CONFIG_MOVABLE_NODE is good enough, as long as it is well-described in
associated comments or help text.  This is not the case at present.

> +#ifdef CONFIG_MOVABLE_NODE
> +	N_MEMORY,		/* The node has memory(regular, high, movable) */
> +#else

I think the comment should be "The node has only movable memory"?


--
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>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PART4 Patch v2 2/2] memory_hotplug: allow online/offline memory to result movable node
  2012-11-16 11:58 ` [PART4 Patch v2 2/2] memory_hotplug: allow online/offline memory to result movable node Wen Congyang
@ 2012-11-20 22:29   ` Andrew Morton
  2012-12-17  2:23     ` Tang Chen
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2012-11-20 22:29 UTC (permalink / raw)
  To: Wen Congyang
  Cc: linux-kernel, linux-mm, Rob Landley, Yasuaki Ishimatsu,
	Lai Jiangshan, Jiang Liu, KOSAKI Motohiro, Minchan Kim,
	Mel Gorman, David Rientjes, Yinghai Lu, Rusty Russell

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>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PART4 Patch v2 1/2] numa: add CONFIG_MOVABLE_NODE for movable-dedicated node
  2012-11-20 22:25   ` Andrew Morton
@ 2012-11-21  3:27     ` Wen Congyang
  0 siblings, 0 replies; 7+ messages in thread
From: Wen Congyang @ 2012-11-21  3:27 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-kernel, linux-mm, Rob Landley, Yasuaki Ishimatsu,
	Lai Jiangshan, Jiang Liu, KOSAKI Motohiro, Minchan Kim,
	Mel Gorman, David Rientjes, Yinghai Lu, Rusty Russell

At 11/21/2012 06:25 AM, Andrew Morton Wrote:
> On Fri, 16 Nov 2012 19:58:09 +0800
> Wen Congyang <wency@cn.fujitsu.com> wrote:
> 
>> From: Lai Jiangshan <laijs@cn.fujitsu.com>
>>
>> All are prepared, we can actually introduce N_MEMORY.
>> add CONFIG_MOVABLE_NODE make we can use it for movable-dedicated node
> 
> This description is far too short on details.
> 
> I grabbed this from the [0/n] email:
> 
> : We need a node which only contains movable memory.  This feature is very
> : important for node hotplug.  If a node has normal/highmem, the memory may
> : be used by the kernel and can't be offlined.  If the node only contains
> : movable memory, we can offline the memory and the node.
> 
> which helps a bit, but it's still pretty thin.
> 
> Why is this option made configurable?  Why not enable it unconditionally?
> 
> Please send a patch which adds the Kconfig help text for
> CONFIG_MOVABLE_NODE.  Let's make that text nice and detailed.
> 
> The name MOVABLE_NODE is not a good one.  It means "a node which is
> movable", whereas the concept is actually "a node whcih contains only
> movable memory".  I suppose we could change it to something like
> CONFIG_MOVABLE_MEMORY_ONLY_NODE or similar.  But I suppose that
> CONFIG_MOVABLE_NODE is good enough, as long as it is well-described in
> associated comments or help text.  This is not the case at present.
> 
>> +#ifdef CONFIG_MOVABLE_NODE
>> +	N_MEMORY,		/* The node has memory(regular, high, movable) */
>> +#else
> 
> I think the comment should be "The node has only movable memory"?

No, the comment is right. In the kernel, we need the following two
mask:
1. the node contains memory that the kernel can use(N_HIGH_MEMORY)
2. the node contains memory (N_MEMORY)

There is no code need the mask: the node contains only movable memory
now.

Thanks
Wen Congyang

> 
> 
> 

--
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>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PART4 Patch v2 2/2] memory_hotplug: allow online/offline memory to result movable node
  2012-11-20 22:29   ` Andrew Morton
@ 2012-12-17  2:23     ` Tang Chen
  0 siblings, 0 replies; 7+ messages in thread
From: Tang Chen @ 2012-12-17  2:23 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Wen Congyang, linux-kernel, linux-mm, Rob Landley,
	Yasuaki Ishimatsu, Lai Jiangshan, Jiang Liu, KOSAKI Motohiro,
	Minchan Kim, Mel Gorman, David Rientjes, Yinghai Lu,
	Rusty Russell

[-- Attachment #1: Type: text/plain, Size: 3009 bytes --]

Hi Andrew,

So sorry for such a long delay. I missed this one.
Please check the attached patch if you still need it.
All comments are followed.

Thanks. :)

On 11/21/2012 06:29 AM, Andrew Morton wrote:
> 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 from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-memory_hotplug-allow-online-offline-memory-to-result.patch --]
[-- Type: text/x-patch; name="0002-memory_hotplug-allow-online-offline-memory-to-result.patch", Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-12-17  2:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PART4 Patch v2 1/2] numa: add CONFIG_MOVABLE_NODE for movable-dedicated node Wen Congyang
2012-11-20 22:25   ` Andrew Morton
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-20 22:29   ` Andrew Morton
2012-12-17  2:23     ` Tang Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).