lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Mon, 23 Oct 2006 19:39:33 +0900
From:	Yasunori Goto <y-goto@...fujitsu.com>
To:	Andrew Morton <akpm@...l.org>
Cc:	Dave Hansen <haveblue@...ibm.com>,
	Linux Kernel ML <linux-kernel@...r.kernel.org>,
	Linux Hotplug Memory Support 
	<lhms-devel@...ts.sourceforge.net>
Subject: [Patch](memory hotplug) __GFP_NOWARN is better for __kmalloc_section_memmap()

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@...fujitsu.com>
---
 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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ