Re: [PATCH] resolve duplicate flag no for PG_lazyfree

From: Fengguang Wu
Date: Mon May 14 2007 - 03:55:42 EST


On Sun, May 13, 2007 at 10:46:30PM -0700, Andrew Morton wrote:
> On Mon, 14 May 2007 10:37:18 +0800 Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote:
>
> > PG_lazyfree and PG_booked shares the same bit.
> >
> > Either it is a bug that shall fixed by the following patch, or
> > the situation should be explicitly documented?
> >
> > Signed-off-by: Fengguang Wu <wfg@xxxxxxxxxxxxxxxx>
> > ---
> > include/linux/page-flags.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > --- linux-2.6.21-mm2.orig/include/linux/page-flags.h
> > +++ linux-2.6.21-mm2/include/linux/page-flags.h
> > @@ -91,7 +91,7 @@
> > #define PG_buddy 19 /* Page is free, on buddy lists */
> > #define PG_booked 20 /* Has blocks reserved on-disk */
> >
> > -#define PG_lazyfree 20 /* MADV_FREE potential throwaway */
> > +#define PG_lazyfree 21 /* MADV_FREE potential throwaway */
> >
> > /* PG_owner_priv_1 users should have descriptive aliases */
> > #define PG_checked PG_owner_priv_1 /* Used by some filesystems */
>
> That's an accident: PG_lazyfree got added but the out-of-tree ext4 patches
> didn't get updated.
>
> otoh, the intersection between pages which are PageBooked() and pages which
> are PageLazyFree() should be zreo, so it'd be good to actually formalise
> this reuse within the ext4 patches.
>
> otoh2, PageLazyFree() could have reused PG_owner_priv_1.

otoh3: PG_lazyfree and PG_readahead can reuse the same bit, too.
PG_lazyfree applies to anonymous pages, while PG_readahead applies to
file backed pages.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/