Re: [PATCH 06/45] FS-Cache: Recruit a couple of page flags forcache management [ver #41]

From: Andrew Morton
Date: Fri Nov 21 2008 - 03:17:36 EST


On Thu, 20 Nov 2008 14:42:10 +0000 David Howells <dhowells@xxxxxxxxxx> wrote:

> Recruit a couple of page flags to aid in cache management. The following extra
> flags are defined:
>
> (1) PG_fscache (PG_private_2)
>
> The marked page is backed by a local cache and is pinning resources in the
> cache driver.
>
> (2) PG_fscache_write (PG_owner_priv_2)
>
> The marked page is being written to the local cache. The page may not be
> modified whilst this is in progress.
>
> If PG_fscache is set, then things that checked for PG_private will now also
> check for that. This includes things like truncation and page invalidation.
> The function page_has_private() had been added to make the checks for both
> PG_private and PG_private_2 at the same time.
>
> ...
>
> index 74b9d90..da467b2 100644
> --- a/include/linux/page-flags.h
> +++ b/include/linux/page-flags.h
> @@ -79,9 +79,11 @@ enum pageflags {
> PG_active,
> PG_slab,
> PG_owner_priv_1, /* Owner use. If pagecache, fs may use*/
> + PG_owner_priv_2, /* Owner use. fs may use in pagecache */
> PG_arch_1,
> PG_reserved,
> PG_private, /* If pagecache, has fs-private data */
> + PG_private_2, /* If pagecache, has fs aux data */
> PG_writeback, /* Page is under writeback */

ow, that hurt. Every time someone does this I ask "how many are left"
but nobody seems to know how to work it out.

How many are left?

> - if (PagePrivate(page) &&
> + if (page_has_private(page) &&

I'd suggest that we make PagePrivate() go away completely, to prevent
accidental usages from sneaking back in. If that's practical.

--
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/