Messages in this thread | | | Date | Thu, 30 Apr 2009 19:54:39 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] vmscan: evict use-once pages first (v2) |
| |
On Thu, 30 Apr 2009 21:50:34 -0400 Rik van Riel <riel@redhat.com> wrote:
> > Which would cause exactly the problem Elladan saw? > > Yes. It was not noticable in the initial split LRU code, > but after we decided to ignore the referenced bit on active > file pages and deactivate pages regardless, it has gotten > exacerbated. > > That change was very good for scalability, so we should not > undo it. However, we do need to put something in place to > protect the working set from streaming IO. > > > > Currently the kernel has no effective code to protect the > > > page cache working set from streaming IO. Elladan's bug > > > report shows that we do need some kind of protection... > > > > Seems to me that reclaim should treat swapcache-backed mapped mages in > > a similar fashion to file-backed mapped pages? > > Swapcache-backed pages are not on the same set of LRUs as > file-backed mapped pages.
yup.
> Furthermore, there is no streaming IO on the anon LRUs like > there is on the file LRUs. Only the file LRUs need (and want) > use-once replacement, which means that we only need special > protection of the working set for file-backed pages.
OK.
> When we implement working set protection, we might as well > do it for frequently accessed unmapped pages too. There is > no reason to restrict this protection to mapped pages.
Well. Except for empirical observation, which tells us that biasing reclaim to prefer to retain mapped memory produces a better result.
| |