* [PATCH] mm: hugetlb alloc_fresh_huge_page bogus node loop fix
@ 2006-03-19 8:58 Paul Jackson
2006-03-20 15:37 ` Christoph Lameter
0 siblings, 1 reply; 2+ messages in thread
From: Paul Jackson @ 2006-03-19 8:58 UTC (permalink / raw)
To: Andrew Morton; +Cc: Paul Jackson, linux-kernel, Christoph Lameter
From: Paul Jackson <pj@sgi.com>
Fix bogus node loop in hugetlb.c alloc_fresh_huge_page(),
which was assuming that nodes are numbered contiguously
from 0 to num_online_nodes(). Once the hotplug folks
get this far, that will be false.
Signed-off-by: Paul Jackson <pj@sgi.com>
---
mm/hugetlb.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
--- 2.6.16-rc6-mm2.orig/mm/hugetlb.c 2006-03-18 17:29:46.645251774 -0800
+++ 2.6.16-rc6-mm2/mm/hugetlb.c 2006-03-18 21:43:05.101700297 -0800
@@ -105,7 +105,9 @@ static int alloc_fresh_huge_page(void)
struct page *page;
page = alloc_pages_node(nid, GFP_HIGHUSER|__GFP_COMP|__GFP_NOWARN,
HUGETLB_PAGE_ORDER);
- nid = (nid + 1) % num_online_nodes();
+ nid = next_node(nid, node_online_map);
+ if (nid == MAX_NUMNODES)
+ nid = first_node(node_online_map);
if (page) {
page[1].lru.next = (void *)free_huge_page; /* dtor */
spin_lock(&hugetlb_lock);
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.650.933.1373
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] mm: hugetlb alloc_fresh_huge_page bogus node loop fix
2006-03-19 8:58 [PATCH] mm: hugetlb alloc_fresh_huge_page bogus node loop fix Paul Jackson
@ 2006-03-20 15:37 ` Christoph Lameter
0 siblings, 0 replies; 2+ messages in thread
From: Christoph Lameter @ 2006-03-20 15:37 UTC (permalink / raw)
To: Paul Jackson; +Cc: Andrew Morton, linux-kernel
Acked-by: Christoph Lameter <clameter@sgi.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-03-20 15:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-19 8:58 [PATCH] mm: hugetlb alloc_fresh_huge_page bogus node loop fix Paul Jackson
2006-03-20 15:37 ` Christoph Lameter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome