Re: [PATCH] resolve duplicate flag no for PG_lazyfree
From: Fengguang Wu <hidden>
Date: 2007-05-14 07:55:42
Also in:
linux-mm, lkml
On Sun, May 13, 2007 at 10:46:30PM -0700, Andrew Morton wrote:
On Mon, 14 May 2007 10:37:18 +0800 Fengguang Wu [off-list ref] wrote:quoted
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 <redacted> --- 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.