Messages in this thread | | | Date | Mon, 16 Nov 1998 21:48:35 +0100 (CET) | From | Rik van Riel <> | Subject | Re: unexpected paging during large file reads in 2.1.127 |
| |
On Mon, 16 Nov 1998, Stephen C. Tweedie wrote: > On 12 Nov 1998 23:45:42 +0100, Zlatko Calusic <Zlatko.Calusic@CARNet.hr> > said: > > >> Agreed, we should do something about that. > >> > >> > + age_page(page); > >> > + age_page(page); > >> > age_page(page); > > The real cure is to disable page aging in the page cache completely. > Now that we have disabled it for swap, it makes absolutely no sense at > all to keep it in the page cache.
This is not entirely true. There is a major difference between pages in the page cache and pages that can go into swap. The latter kind will always be mapped inside the address space of a program (where it gets proper aging and stuff), while file data could be used by doing a read() where the data never gets mapped into the processes address space.
Now we can get severe problems with readahead when we are evicting just read-in data because it isn't mapped, resulting in us having to read it again and doing double I/O with a badly performing program.
The only reason why it's better than the alternative is because we don't do swap readahead yet...
cheers,
Rik -- slowly getting used to dvorak kbd layout... +-------------------------------------------------------------------+ | Linux memory management tour guide. H.H.vanRiel@phys.uu.nl | | Scouting Vries cubscout leader. http://www.phys.uu.nl/~riel/ | +-------------------------------------------------------------------+
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |