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>
next prev 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: linkBe 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.