Re: [PATCH 04/33] readahead: page flag PG_readahead

Wu Fengguang
2006-05-26T07:06:46Z

On Thu, May 25, 2006 at 09:23:11AM -0700, Andrew Morton wrote:
> Wu Fengguang <wfg@mail.ustc.edu.cn> wrote:
> >
> > An new page flag PG_readahead is introduced as a look-ahead mark, which
> > reminds the caller to give the adaptive read-ahead logic a chance to do
> > read-ahead ahead of time for I/O pipelining.
> >
> > It roughly corresponds to `ahead_start' of the stock read-ahead logic.
> >
>
> This isn't a very revealing description of what this flag does.

Updated to:

An new page flag PG_readahead is introduced.

It acts as a look-ahead mark, which tells the page reader:
Hey, it's time to invoke the adaptive read-ahead logic!
For the sake of I/O pipelining, don't wait until it runs out of
cached pages. ;-)

> > +#define __SetPageReadahead(page) __set_bit(PG_readahead, &(page)->flags)
>
> uh-oh. This is extremly risky. Needs extensive justification, please.

Ok, removed the ugly __ :-)

Wu