All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiang Liu <liuj97@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	David Rientjes <rientjes@google.com>
Cc: Jiang Liu <jiang.liu@huawei.com>,
	Wen Congyang <wency@cn.fujitsu.com>, Mel Gorman <mgorman@suse.de>,
	Minchan Kim <minchan@kernel.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Michal Hocko <mhocko@suse.cz>, Jianguo Wu <wujianguo@huawei.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Michel Lespinasse <walken@google.com>,
	Rik van Riel <riel@redhat.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>
Subject: [RFC PATCH v2, part4 08/39] mm: introduce helper function mem_init_print_info() to simplify mem_init()
Date: Sun, 24 Mar 2013 15:24:34 +0800	[thread overview]
Message-ID: <1364109934-7851-9-git-send-email-jiang.liu@huawei.com> (raw)
In-Reply-To: <1364109934-7851-1-git-send-email-jiang.liu@huawei.com>

Introduce helper function mem_init_print_info() to simplify mem_init()
across different architectures, which also unifies the format and
information printed.

Function mem_init_print_info() calculates memory statistics information
without walking each page, so it should be a little faster on some
architectures.

Also introduce another helper get_num_physpages() to kill the global
variable num_physpages.

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Michel Lespinasse <walken@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
---
 include/linux/mm.h |   12 ++++++++++++
 mm/page_alloc.c    |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index c03d029..c225a4f 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1312,6 +1312,7 @@ extern void free_highmem_page(struct page *page);
 #endif
 
 extern void adjust_managed_page_count(struct page *page, long count);
+extern void mem_init_print_info(const char *str);
 
 /* Free the reserved page into the buddy system, so it gets managed. */
 static inline void __free_reserved_page(struct page *page)
@@ -1348,6 +1349,17 @@ static inline unsigned long free_initmem_default(int poison)
 				  poison, "unused kernel");
 }
 
+static inline unsigned long get_num_physpages(void)
+{
+	int nid;
+	unsigned long phys_pages = 0;
+
+	for_each_online_node(nid)
+		phys_pages += node_present_pages(nid);
+
+	return phys_pages;
+}
+
 #ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
 /*
  * With CONFIG_HAVE_MEMBLOCK_NODE_MAP set, an architecture may initialise its
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index ebfb042..577acec 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -59,6 +59,7 @@
 #include <linux/migrate.h>
 #include <linux/page-debug-flags.h>
 
+#include <asm/sections.h>
 #include <asm/tlbflush.h>
 #include <asm/div64.h>
 #include "internal.h"
@@ -5168,6 +5169,57 @@ void free_highmem_page(struct page *page)
 }
 #endif
 
+
+void __init mem_init_print_info(const char *str)
+{
+	unsigned long physpages, codesize, datasize, rosize;
+	unsigned long init_code_size, init_data_size;
+
+	physpages = get_num_physpages();
+	codesize = _etext - _stext;
+	datasize = _edata - _sdata;
+	rosize = __end_rodata - __start_rodata;
+	init_data_size = __init_end - __init_begin;
+	init_code_size = _einittext - _sinittext;
+
+	/*
+	 * Detect special cases and adjust section sizes accordingly:
+	 * 1) .init.* may be embedded into .data sections
+	 * 2) .init.text.* may be out of [__init_begin, __init_end],
+	 *    please refer to arch/tile/kernel/vmlinux.lds.S.
+	 * 3) .rodata.* may be embedded into .text or .data sections.
+	 */
+#define adj_init_size(start, end, size, pos, adj) \
+	if (start <= pos && pos < end && size > adj) \
+		size -= adj;
+
+	adj_init_size(__init_begin, __init_end, init_data_size,
+		     _sinittext, init_code_size);
+	adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
+	adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
+	adj_init_size(_stext, _etext, codesize, __start_rodata, rosize);
+	adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize);
+
+#undef	adj_init_size
+
+	printk("Memory: %luK/%luK available "
+	       "(%luK kernel code, %luK data, %luK rodata, "
+	       "%luK init, %luK bss, %luK reserved"
+#ifdef	CONFIG_HIGHMEM
+	       ", %luK highmem"
+#endif
+	       "%s%s)\n",
+	       nr_free_pages() << (PAGE_SHIFT-10), physpages << (PAGE_SHIFT-10),
+	       codesize >> 10, datasize >> 10, rosize >> 10,
+	       (init_data_size + init_code_size) >> 10,
+	       (__bss_stop - __bss_start) >> 10,
+	       (physpages - totalram_pages) << (PAGE_SHIFT-10),
+#ifdef	CONFIG_HIGHMEM
+	       totalhigh_pages << (PAGE_SHIFT-10),
+#endif
+	       str ? ", " : "", str ? str : "");
+}
+
 /**
  * set_dma_reserve - set the specified number of pages reserved in the first zone
  * @new_dma_reserve: The number of pages to mark reserved
-- 
1.7.9.5


WARNING: multiple messages have this Message-ID (diff)
From: Jiang Liu <liuj97@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>,
	David Rientjes <rientjes@google.com>
Cc: Jiang Liu <jiang.liu@huawei.com>,
	Wen Congyang <wency@cn.fujitsu.com>, Mel Gorman <mgorman@suse.de>,
	Minchan Kim <minchan@kernel.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Michal Hocko <mhocko@suse.cz>, Jianguo Wu <wujianguo@huawei.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Michel Lespinasse <walken@google.com>,
	Rik van Riel <riel@redhat.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>
Subject: [RFC PATCH v2, part4 08/39] mm: introduce helper function mem_init_print_info() to simplify mem_init()
Date: Sun, 24 Mar 2013 15:24:34 +0800	[thread overview]
Message-ID: <1364109934-7851-9-git-send-email-jiang.liu@huawei.com> (raw)
In-Reply-To: <1364109934-7851-1-git-send-email-jiang.liu@huawei.com>

Introduce helper function mem_init_print_info() to simplify mem_init()
across different architectures, which also unifies the format and
information printed.

Function mem_init_print_info() calculates memory statistics information
without walking each page, so it should be a little faster on some
architectures.

Also introduce another helper get_num_physpages() to kill the global
variable num_physpages.

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Michel Lespinasse <walken@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
---
 include/linux/mm.h |   12 ++++++++++++
 mm/page_alloc.c    |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index c03d029..c225a4f 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1312,6 +1312,7 @@ extern void free_highmem_page(struct page *page);
 #endif
 
 extern void adjust_managed_page_count(struct page *page, long count);
+extern void mem_init_print_info(const char *str);
 
 /* Free the reserved page into the buddy system, so it gets managed. */
 static inline void __free_reserved_page(struct page *page)
@@ -1348,6 +1349,17 @@ static inline unsigned long free_initmem_default(int poison)
 				  poison, "unused kernel");
 }
 
+static inline unsigned long get_num_physpages(void)
+{
+	int nid;
+	unsigned long phys_pages = 0;
+
+	for_each_online_node(nid)
+		phys_pages += node_present_pages(nid);
+
+	return phys_pages;
+}
+
 #ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
 /*
  * With CONFIG_HAVE_MEMBLOCK_NODE_MAP set, an architecture may initialise its
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index ebfb042..577acec 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -59,6 +59,7 @@
 #include <linux/migrate.h>
 #include <linux/page-debug-flags.h>
 
+#include <asm/sections.h>
 #include <asm/tlbflush.h>
 #include <asm/div64.h>
 #include "internal.h"
@@ -5168,6 +5169,57 @@ void free_highmem_page(struct page *page)
 }
 #endif
 
+
+void __init mem_init_print_info(const char *str)
+{
+	unsigned long physpages, codesize, datasize, rosize;
+	unsigned long init_code_size, init_data_size;
+
+	physpages = get_num_physpages();
+	codesize = _etext - _stext;
+	datasize = _edata - _sdata;
+	rosize = __end_rodata - __start_rodata;
+	init_data_size = __init_end - __init_begin;
+	init_code_size = _einittext - _sinittext;
+
+	/*
+	 * Detect special cases and adjust section sizes accordingly:
+	 * 1) .init.* may be embedded into .data sections
+	 * 2) .init.text.* may be out of [__init_begin, __init_end],
+	 *    please refer to arch/tile/kernel/vmlinux.lds.S.
+	 * 3) .rodata.* may be embedded into .text or .data sections.
+	 */
+#define adj_init_size(start, end, size, pos, adj) \
+	if (start <= pos && pos < end && size > adj) \
+		size -= adj;
+
+	adj_init_size(__init_begin, __init_end, init_data_size,
+		     _sinittext, init_code_size);
+	adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
+	adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
+	adj_init_size(_stext, _etext, codesize, __start_rodata, rosize);
+	adj_init_size(_sdata, _edata, datasize, __start_rodata, rosize);
+
+#undef	adj_init_size
+
+	printk("Memory: %luK/%luK available "
+	       "(%luK kernel code, %luK data, %luK rodata, "
+	       "%luK init, %luK bss, %luK reserved"
+#ifdef	CONFIG_HIGHMEM
+	       ", %luK highmem"
+#endif
+	       "%s%s)\n",
+	       nr_free_pages() << (PAGE_SHIFT-10), physpages << (PAGE_SHIFT-10),
+	       codesize >> 10, datasize >> 10, rosize >> 10,
+	       (init_data_size + init_code_size) >> 10,
+	       (__bss_stop - __bss_start) >> 10,
+	       (physpages - totalram_pages) << (PAGE_SHIFT-10),
+#ifdef	CONFIG_HIGHMEM
+	       totalhigh_pages << (PAGE_SHIFT-10),
+#endif
+	       str ? ", " : "", str ? str : "");
+}
+
 /**
  * set_dma_reserve - set the specified number of pages reserved in the first zone
  * @new_dma_reserve: The number of pages to mark reserved
-- 
1.7.9.5

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

  parent reply	other threads:[~2013-03-24  7:28 UTC|newest]

Thread overview: 177+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-24  7:24 [RFC PATCH v2, part4 00/39] Simplify mem_init() implementations and kill num_physpages Jiang Liu
2013-03-24  7:24 ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 01/39] vmlinux.lds: add comments for global variables and clean up useless declarations Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  9:47   ` Arnd Bergmann
2013-03-24  9:47     ` Arnd Bergmann
2013-03-24  7:24 ` [RFC PATCH v2, part4 02/39] avr32: normalize global variables exported by vmlinux.lds Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 03/39] c6x: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-25 17:56   ` Mark Salter
2013-03-25 17:56     ` Mark Salter
2013-03-26 15:23     ` Jiang Liu
2013-03-26 15:23       ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 04/39] h8300: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 05/39] score: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 06/39] tile: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 07/39] UML: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` Jiang Liu [this message]
2013-03-24  7:24   ` [RFC PATCH v2, part4 08/39] mm: introduce helper function mem_init_print_info() to simplify mem_init() Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 09/39] mm/alpha: prepare for removing num_physpages and " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 09/39] mm: use totalram_pages instead of num_physpages at runtime Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24 12:26   ` Sergei Shtylyov
2013-03-24 12:26     ` Sergei Shtylyov
2013-03-24  7:24 ` [RFC PATCH v2, part4 10/39] mm/alpha: prepare for removing num_physpages and simplify mem_init() Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 10/39] mm/ARM: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 11/39] mm/ARM64: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 11/39] mm/ARM: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 12/39] mm/ARM64: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 12/39] mm/AVR32: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 13/39] " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 13/39] mm/blackfin: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 14/39] " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 14/39] mm/c6x: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 15/39] " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 15/39] mm/cris: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 16/39] " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 16/39] mm/frv: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 17/39] " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 17/39] mm/h8300: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 18/39] " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 18/39] mm/hexagon: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 19/39] " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 19/39] mm/IA64: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 20/39] " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 20/39] mm/m32r: " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:24 ` [RFC PATCH v2, part4 21/39] " Jiang Liu
2013-03-24  7:24   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 21/39] mm/m68k: " Jiang Liu
2013-03-24  7:25 ` Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 22/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 22/39] mm/microblaze: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 23/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 23/39] mm/MIPS: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 24/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 24/39] mm/mn10300: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 25/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 25/39] mm/openrisc: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 26/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 26/39] mm/PARISC: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 27/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 27/39] mm/ppc: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 28/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 28/39] mm/s390: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 29/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 29/39] mm/score: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 30/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 30/39] mm/SH: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 31/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24 12:06   ` Sergei Shtylyov
2013-03-24 12:06     ` Sergei Shtylyov
2013-03-24 12:06     ` Sergei Shtylyov
2013-03-24 12:11     ` Jiang Liu
2013-03-24 12:11       ` Jiang Liu
2013-03-24 12:11       ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 31/39] mm/SPARC: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 32/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 32/39] mm/tile: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 33/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 33/39] mm/um: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 34/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 34/39] mm/unicore32: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 35/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 35/39] mm/x86: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 36/39] " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 36/39] mm/xtensa: " Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 37/39] mm: use totalram_pages instead of num_physpages at runtime Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24 12:27   ` Sergei Shtylyov
2013-03-24 12:27     ` Sergei Shtylyov
2013-03-24  7:25 ` [RFC PATCH v2, part4 37/39] mm/xtensa: prepare for removing num_physpages and simplify mem_init() Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 38/39] mm/hotplug: prepare for removing num_physpages Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  7:25 ` [RFC PATCH v2, part4 39/39] mm: kill global variable num_physpages Jiang Liu
2013-03-24  7:25   ` Jiang Liu
2013-03-24  8:11 ` [RFC PATCH v2, part4 00/39] Simplify mem_init() implementations and kill num_physpages James Bottomley
2013-03-24  8:11   ` James Bottomley
2013-03-25 16:19   ` Jiang Liu
2013-03-25 16:19     ` Jiang Liu
2013-03-25 17:07     ` Vineet Gupta
2013-03-25 17:07       ` Vineet Gupta
2013-03-25 17:07       ` Vineet Gupta
2013-03-25 12:21 ` [RFC PATCH v2, part4 16/39] mm/frv: prepare for removing num_physpages and simplify mem_init() David Howells
2013-03-25 12:21   ` David Howells

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=1364109934-7851-9-git-send-email-jiang.liu@huawei.com \
    --to=liuj97@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=jiang.liu@huawei.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.cz \
    --cc=minchan@kernel.org \
    --cc=riel@redhat.com \
    --cc=rientjes@google.com \
    --cc=walken@google.com \
    --cc=wency@cn.fujitsu.com \
    --cc=wujianguo@huawei.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.