Re: [PATCH 1/9] readahead: introduce PG_readahead

Fengguang Wu
2007-05-19T12:30:31Z

On Fri, May 18, 2007 at 11:28:24PM -0700, Andrew Morton wrote:
> On Thu, 17 May 2007 06:47:53 +0800 Fengguang Wu <wfg@mail.ustc.edu.cn> wrote:
>
> > Introduce a new page flag: PG_readahead.
>
> Is there any way in which we can avoid adding a new page flag?
>
> We have the advantage that if the kernel very occasionally gets the wrong
> result for PageReadahead(page), nothing particularly bad will happen, so we
> can do racy things.
>
> >From a quick peek, it appears that PG_readahead is only ever set against
> non-uptodate pages. If true we could perhaps exploit that: say,
> PageReadahead(page) == PG_referenced && !PG_uptodate?

PG_uptodate will flip to 1 before the reader touches the page :(

However, it may be possible to share the same bit with PG_reclaim or PG_booked.
Which one would be preferred?