Messages in this thread | | | Date | Tue, 01 Dec 2009 21:00:07 -0500 | From | Rik van Riel <> | Subject | Re: [RFC] high system time & lock contention running large mixed workload |
| |
On 12/01/2009 05:04 AM, Andrea Arcangeli wrote: > On Mon, Nov 30, 2009 at 05:00:29PM -0500, Larry Woodman wrote: > >> Before the splitLRU patch shrink_active_list() would only call >> page_referenced() when reclaim_mapped got set. reclaim_mapped only got >> set when the priority worked its way from 12 all the way to 7. This >> prevented page_referenced() from being called from shrink_active_list() >> until the system was really struggling to reclaim memory. >> > page_referenced should never be called and nobody should touch ptes > until priority went down to 7. This is a regression in splitLRU that > should be fixed. With light VM pressure we should never touch ptes ever. > You appear to have not read the code, either.
The VM should not look at the active anon list much, unless it has a good reason to start evicting anonymous pages. Yes, there was a bug in shrink_list(), but Kosaki and I just posted patches to fix that.
As for page_referenced not being called until priority goes down to 7 - that is one of the root causes the old VM did not scale. The number of pages that need to be scanned to get down to that point is staggeringly huge on systems with 1TB of RAM - a much larger number than we should EVER scan in the pageout code.
There is no way we could go back to that heuristic. It fell apart before and it would continue to fall apart if we reintroduced it.
| |