[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 9 Sep 2009 10:31:44 +0100
From: Mel Gorman <mel@....ul.ie>
To: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
Cc: akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Subject: Re: mmotm 2009-09-03-16-35 uploaded
On Wed, Sep 09, 2009 at 05:51:35PM +0900, KOSAKI Motohiro wrote:
> > On Wed, Sep 09, 2009 at 05:17:34PM +0900, KOSAKI Motohiro wrote:
> > > > On Wed, Sep 09, 2009 at 09:49:15AM +0900, KOSAKI Motohiro wrote:
> > > > > Hi
> > > > >
> > > > > This release doesn't boot on my ia64 test box.
> > > > > After following two patches reverted, booting was successful.
> > > > >
> > > > > page-allocator-change-migratetype-for-all-pageblocks-within-a-high-order-page-during-__rmqueue_fallback.patch
> > > > > Kamezawa-san's kcore patch series
> > > > >
> > > > >
> > > > > Mel, Kamezawa-san, Can you please gime me any advise?
> > > >
> > > > Can you post a .config, the vanilla dmesg, the dmesg with the page
> > > > allocator patch reverted, the dmesg with Kamezawa-san's patch reverted
> > > > and both reverted please?
> > >
> > > I already attached .config on another mail.
> > > if neither of either revert, the system become hang before output any dmesg.
> >
> > console=uart,io,0x3f8 ?
> >
> > I'm trying to resurrect an ia-64 machine here to reproduce the problem but
> > it's in bad shape :(
>
> I use "console=tty0 console=ttyS0". but serial console also do no output ;)
>
/me slaps self
I think I see the problem. Can you try this patch please?
---
Calculate the number of pageblocks within a range properly
Patch
page-allocator-change-migratetype-for-all-pageblocks-within-a-high-order-page-during-__rmqueue_fallback
is meant to change the pageblock ownership of each pageblock within a
given range. This is necessary when the buddy to be split is of higher
order than the pageblock_order. However, the calculation was wrong
leading to crashes on ia-64 and slightly incorrect behaviour on x86.
This patch corrects the calculation.
Signed-off-by: Mel Gorman <mel@....ul.ie>
---
mm/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 4e0ec94..4326280 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -830,7 +830,7 @@ static int move_freepages_block(struct zone *zone, struct page *page,
static void change_pageblock_range(struct page *pageblock_page,
int start_order, int migratetype)
{
- int nr_pageblocks = 1 << (MAX_ORDER - 1 - start_order);
+ int nr_pageblocks = 1 << (start_order - pageblock_order);
while (nr_pageblocks--) {
set_pageblock_migratetype(pageblock_page, migratetype);
--
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