[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6d6a94c50612182216r15cd99a3p59bbe3d49cb482f0@mail.gmail.com>
Date: Tue, 19 Dec 2006 14:16:58 +0800
From: Aubrey <aubreylee@...il.com>
To: "Nick Piggin" <nickpiggin@...oo.com.au>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [RFC][PATCH] Fix area->nr_free-- went (-1) issue in buddy system
Hi Nick,
Thanks for your reply again, ;-).
On 12/19/06, Nick Piggin <nickpiggin@...oo.com.au> wrote:
>
> This should not happen because the pages are checked to ensure they are
> from the same zone before merging.
How? page_is_buddy() only check if the buddy has the buddy flag and
has the same order.
Where can I find the same zone is checked?
>
> What kind of system do you have? What is the dmesg and the .config?
I'm using the blackfin uclinux. dmesg and .config is attached.
> It could be that the zones are not properly aligned and CONFIG_HOLES_IN_ZONE
> is not set.
I changed the code in paging_init(), see below:
-----------------------------------------
#if 0
zones_size[ZONE_DMA] = (end_mem - PAGE_OFFSET) >> PAGE_SHIFT;
zones_size[ZONE_NORMAL] = 0;
#else
zones_size[ZONE_DMA] = (end_mem/2 - PAGE_OFFSET) >> PAGE_SHIFT;
zones_size[ZONE_NORMAL] = (end_mem/2 - PAGE_OFFSET) >>
PAGE_SHIFT;
#endif
-----------------------------------------
This is only what I did the change. I also suspect the zones are not
properly aligned, But how to align it? I think our system doesn't need
CONFIG_HOLES_IN_ZONE.
Thanks,
-Aubrey
View attachment "dmesg.txt" of type "text/plain" (3321 bytes)
Download attachment "kerne.config" of type "application/x-config" (18016 bytes)
Powered by blists - more mailing lists