Messages in this thread | | | Date | Mon, 14 May 2001 23:48:07 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH] filemap.c fixes |
| |
On Mon, 14 May 2001, Rik van Riel wrote:
> On Mon, 14 May 2001, Daniel Phillips wrote: > > > > How about: > > > > > + if (PageActive(page)) > > > + SetPageReferenced(page); > > > + else > > > + activate_page(page); > > Fine with me ...
Now, please explain to me why it's not just a simple
SetPageReferenced(page);
and then just moving it lazily from one queue to another..
Advantage: fast and robust. Very simple.
Disadvantage: lazy queue movement. But we're already doing that for other things (ie page_launder() already has the logic to move pages with counts and references to the active list). So this is nothing new.
The advantage of doing the work lazily is not just simplicity: it's actually much _faster_ to delay the work until later, because in many cases the work never needs to be done at all (ie we might not be low on memory, or the page ends up being moved for other reasons anyway).
Comments?
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |