Messages in this thread Patch in this message | | | From | Johannes Weiner <> | Subject | [patch 3/3] mm: keep pages from unevictable mappings off the LRU lists | Date | Sun, 22 Mar 2009 21:13:04 +0100 |
| |
Check if the mapping is evictable when initially adding page cache pages to the LRU lists. If that is not the case, add them to the unevictable list immediately instead of leaving it up to the reclaim code to move them there.
This is useful for ramfs and locked shmem which mark whole mappings as unevictable and we know at fault time already that it is useless to try reclaiming these pages.
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Cc: David Howells <dhowells@redhat.com> Cc: Nick Piggin <npiggin@suse.de> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Rik van Riel <riel@redhat.com> Cc: Peter Zijlstra <peterz@infradead.com> Cc: MinChan Kim <minchan.kim@gmail.com> Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com> --- mm/filemap.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c index 23acefe..8574530 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -506,7 +506,9 @@ int add_to_page_cache_lru(struct page *page, struct address_space *mapping, ret = add_to_page_cache(page, mapping, offset, gfp_mask); if (ret == 0) { - if (page_is_file_cache(page)) + if (mapping_unevictable(mapping)) + add_page_to_unevictable_list(page); + else if (page_is_file_cache(page)) lru_cache_add_file(page); else lru_cache_add_active_anon(page); -- 1.6.2.1.135.gde769
| |