[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48BFEE2C.70303@linux-foundation.org>
Date: Thu, 04 Sep 2008 09:18:20 -0500
From: Christoph Lameter <cl@...ux-foundation.org>
To: Peter Zijlstra <peterz@...radead.org>
CC: Andy Whitcroft <apw@...dowen.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>,
Mel Gorman <mel@....ul.ie>
Subject: Re: [PATCH 4/4] capture pages freed during direct reclaim for allocation
by the reclaimer
Peter Zijlstra wrote:
> On Wed, 2008-09-03 at 16:00 -0500, Christoph Lameter wrote:
>> Andy Whitcroft wrote:
>>
>>>
>>> #ifndef __GENERATING_BOUNDS_H
>>> @@ -208,6 +211,9 @@ __PAGEFLAG(SlubDebug, slub_debug)
>>> */
>>> TESTPAGEFLAG(Writeback, writeback) TESTSCFLAG(Writeback, writeback)
>>> __PAGEFLAG(Buddy, buddy)
>>> +PAGEFLAG(BuddyCapture, buddy_capture) /* A buddy page, but reserved. */
>>> + __SETPAGEFLAG(BuddyCapture, buddy_capture)
>>> + __CLEARPAGEFLAG(BuddyCapture, buddy_capture)
>> Doesnt __PAGEFLAG do what you want without having to explicitly specify
>> __SET/__CLEAR?
>
> PAGEFLAG() __PAGEFLAG()
>
> does TESTPAGEFLAG() double.
>
Usually one either wants the atomic versions or the non atomic versions. This
usage seems to be mainly non atomic plus one use of ClearPageBuddy() in
capture_or_return() (Which raises some questions about how the bit
modifications are serialized. Is there concurrency during free?)
So
__PAGEFLAG(BuddyCapture, buddy_capture)
CLEARPAGEFLAG(BuddyCapture, buddy_capture)
--
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