[Patch](memory hotplug) __GFP_NOWARN is better for __kmalloc_section_memmap()

From: Yasunori Goto
Date: Mon Oct 23 2006 - 06:40:38 EST


Hello.

This patch adds __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.

This patch is for 2.6.19-rc2. And I tested this patch on PrimeQuest
with high memory pressure environment.

Please apply.

Signed-off-by: Yasunori Goto <y-goto@xxxxxxxxxxxxxx>
---
mm/sparse.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

---

Index: disable_fail_message/mm/sparse.c
===================================================================
--- disable_fail_message.orig/mm/sparse.c 2006-10-17 15:05:26.000000000 +0900
+++ disable_fail_message/mm/sparse.c 2006-10-23 17:11:26.000000000 +0900
@@ -211,7 +211,7 @@ static struct page *__kmalloc_section_me
struct page *page, *ret;
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)
goto got_map_page;


--
Yasunori Goto


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/