提交 f2d0aa5b 编写于 作者: Y Yasunori Goto 提交者: Linus Torvalds

[PATCH] memory hotplug: __GFP_NOWARN is better for __kmalloc_section_memmap()

Add __GFP_NOWARN flag to calling of __alloc_pages() in
__kmalloc_section_memmap().  It can reduce noisy failure message.

In ia64, section size is 1 GB, this means that order 8 pages are necessary
for each section's memmap.  It is often very hard requirement under heavy
memory pressure as you know.  So, __alloc_pages() gives up allocation and
shows many noisy stack traces which means no page for each sections.
(Current my environment shows 32 times of stack trace....)

But, __kmalloc_section_memmap() calls vmalloc() after failure of it, and it
can succeed allocation of memmap.  So, its stack trace warning becomes just
noisy.  I suppose it shouldn't be shown.
Signed-off-by: NYasunori Goto <y-goto@jp.fujitsu.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 969b755a
...@@ -211,7 +211,7 @@ static struct page *__kmalloc_section_memmap(unsigned long nr_pages) ...@@ -211,7 +211,7 @@ static struct page *__kmalloc_section_memmap(unsigned long nr_pages)
struct page *page, *ret; struct page *page, *ret;
unsigned long memmap_size = sizeof(struct page) * nr_pages; unsigned long memmap_size = sizeof(struct page) * nr_pages;
page = alloc_pages(GFP_KERNEL, get_order(memmap_size)); page = alloc_pages(GFP_KERNEL|__GFP_NOWARN, get_order(memmap_size));
if (page) if (page)
goto got_map_page; goto got_map_page;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册