Re: [PATCH 4/4] capture pages freed during direct reclaim for allocation by the reclaimer

Andy Whitcroft
2008-09-04T08:58:09Z

On Wed, Sep 03, 2008 at 04:00:41PM -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?

I think I end up with one extra test that I don't need, but its
probabally much clearer.

> How does page allocator fastpath behavior fare with this pathch?

The fastpath should be unaffected on the allocation side. On the free
side there is an additional check for merging with a buddy under capture
as we merge buddies in __free_one_page.

-apw