On Fri, May 18, 2007 at 11:28:24PM -0700, Andrew Morton wrote:
On Thu, 17 May 2007 06:47:53 +0800 Fengguang Wu [off-list ref] wrote:
quoted
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.
quoted
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?