lkml.org 
[lkml]   [1997]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Time for a pre-patch-2.0.31-3?
> I'd suspect the change at the end of refill_freelist(), and
> try_to_free_page() to be causing some problems - mainly with throwing away
> readahead pages.
>
> The priority GFP_BUFFER now cause page reaping, normally from the
> page-cache in mm/filemap.c/shrink_mmap(). As unmapped pages are not
> aged (and, no, please do not try to age them!), they are easy targets.
> Unfortunately, pages which have been read-ahead are unmapped...

Hmm ... this would explain why the read preformance goes down.
Dave? Is there a simple solution around? Something like switching back
to GFP_ATOMIC for buffer heads, using GFP_BUFFER in refill_freelist
say upto `nr_free_pages > 10' and after this mark use GFP_ATOMIC
for grow_buffers() ? Clearly without loosing the win of swaping
on buffer request :-)

... a compromise is needed.

>
> Previously, refill_freelist() wouldn't grow buffers if there was not
> enough free-memory available, and if the GFP_ATOMIC failed 'bdflush' would
> be run.
>
> Trying running 'top' to find out the highwater of buffers with and without
> the patch.
>
> This is just I guess. I haven't been able to try the patch out.

What's about age_page() in shrink_mmap() mm/filemap.c ... any suggestions
or hints. Is there a fast way to get the age of the pte's?



Werner

\
 
 \ /
  Last update: 2005-03-22 13:39    [W:0.134 / U:0.532 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site