Re: [PATCH] mm/filemap.c: unconditionally call mark_page_accessed

From: Valdis . Kletnieks
Date: Thu Mar 15 2007 - 23:52:10 EST


On Thu, 15 Mar 2007 14:35:17 EDT, Rik van Riel said:
> Valdis.Kletnieks@xxxxxx wrote:
> > On Wed, 14 Mar 2007 22:33:17 BST, Andreas Mohr said:
> >
> >> it'd seem we need some kind of state management here to figure out good
> >> intervals of when to call mark_page_accessed() *again* for this page. E.g.
> >> despite non-changing access patterns you could still call mark_page_accessed()
> >> every 32 calls or so to avoid expiry, but this would need extra helper
> >> variables.
> >
> > What if you did something like
> >
> > if (jiffies%32) {...
> >
> > (Possibly scaling it so the low-order bits change). No need to lock it, as
> > "right most of the time" is close enough.
>
> Bad idea. That way you would only count page accesses if the
> phase of the moon^Wjiffie is just right.

On the other hand, Andreas suggested only marking it once every 32 calls,
but that required a helper variable. Statistically, jiffies%32 should
end up about the same as a helper variable %32.

This of course, if just calling mark_page_accessed() is actually expensive
enough that we don't want to do it unconditionally.

Attachment: pgp00000.pgp
Description: PGP signature