Messages in this thread | | | Date | Thu, 17 May 2012 21:54:25 +0200 | From | Johannes Weiner <> | Subject | Re: [PATCH] mm: consider all swapped back pages in used-once logic |
| |
Hi Michal,
On Thu, May 17, 2012 at 11:13:53AM +0200, Michal Hocko wrote: > [64574746 vmscan: detect mapped file pages used only once] made mapped pages > have another round in inactive list because they might be just short > lived and so we could consider them again next time. This heuristic > helps to reduce pressure on the active list with a streaming IO > worklods. > This patch fixes a regression introduced by this commit for heavy shmem > based workloads because unlike Anon pages, which are excluded from this > heuristic because they are usually long lived, shmem pages are handled > as a regular page cache. > This doesn't work quite well, unfortunately, if the workload is mostly > backed by shmem (in memory database sitting on 80% of memory) with a > streaming IO in the background (backup - up to 20% of memory). Anon > inactive list is full of (dirty) shmem pages when watermarks are > hit. Shmem pages are kept in the inactive list (they are referenced) > in the first round and it is hard to reclaim anything else so we reach > lower scanning priorities very quickly which leads to an excessive swap > out. > > Let's fix this by excluding all swap backed pages (they tend to be long > lived wrt. the regular page cache anyway) from used-once heuristic and > rather activate them if they are referenced.
Yes, the algorithm only makes sense for file cache, which is easy to reclaim. Thanks for the fix!
> CC: Johannes Weiner <hannes@cmpxchg.org> > CC: Andrew Morton <akpm@linux-foundation.org> > CC: Mel Gorman <mel@csn.ul.ie> > CC: Minchan Kim <minchan@kernel.org> > CC: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > CC: Rik van Riel <riel@redhat.com> > CC: stable [2.6.34+] > Signed-off-by: Michal Hocko <mhocko@suse.cz>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
| |