linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] Obey mark_page_accessed hint given by filesystems
@ 2013-04-29 16:31 Mel Gorman
  2013-04-29 16:31 ` [PATCH 1/3] mm: pagevec: Defer deciding what LRU to add a page to until pagevec drain time Mel Gorman
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Mel Gorman @ 2013-04-29 16:31 UTC (permalink / raw)
  To: Alexey Lyahkov, Andrew Perepechko, Robin Dong
  Cc: Theodore Tso, Andrew Morton, Hugh Dickins, Rik van Riel,
	Johannes Weiner, Bernd Schubert, David Howells, Trond Myklebust,
	Linux-fsdevel, Linux-ext4, LKML, Linux-mm, Mel Gorman

Andrew Perepechko reported a problem whereby pages are being prematurely
evicted as the mark_page_accessed() hint is ignored for pages that are
currently on a pagevec -- http://www.spinics.net/lists/linux-ext4/msg37340.html .
Alexey Lyahkov and Robin Dong have also reported problems recently that
could be due to hot pages reaching the end of the inactive list too quickly
and be reclaimed.

Rather than addressing this on a per-filesystem basis, this series aims
to fix the mark_page_accessed() interface by deferring what LRU a page
is added to pagevec drain time and allowing mark_page_accessed() to call
SetPageActive on a pagevec page. This opens some important races that
I think should be harmless but needs double checking. The races and the
VM_BUG_ON checks that are removed are all described in patch 2.

This series received only very light testing but it did not immediately
blow up and a debugging patch confirmed that pages are now getting added
to the active file LRU list that would previously have been added to the
inactive list.

 fs/cachefiles/rdwr.c    | 30 ++++++------------------
 fs/nfs/dir.c            |  7 ++----
 include/linux/pagevec.h | 34 +--------------------------
 mm/swap.c               | 61 ++++++++++++++++++++++++-------------------------
 mm/vmscan.c             |  3 ---
 5 files changed, 40 insertions(+), 95 deletions(-)

-- 
1.8.1.4

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-05-03  8:37 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-29 16:31 [RFC PATCH 0/3] Obey mark_page_accessed hint given by filesystems Mel Gorman
2013-04-29 16:31 ` [PATCH 1/3] mm: pagevec: Defer deciding what LRU to add a page to until pagevec drain time Mel Gorman
2013-04-29 16:50   ` Rik van Riel
2013-05-03  7:51   ` Jan Kara
2013-05-03  8:37     ` Mel Gorman
2013-04-29 16:31 ` [PATCH 2/3] mm: Ensure that mark_page_accessed moves pages to the active list Mel Gorman
2013-04-29 17:12   ` Rik van Riel
2013-04-29 21:53     ` Mel Gorman
2013-05-01  5:41   ` Sam Ben
2013-05-01  8:06     ` Mel Gorman
2013-05-01  8:14       ` Ric Mason
2013-05-01  8:31         ` Mel Gorman
2013-04-29 16:31 ` [PATCH 3/3] mm: Remove lru parameter from __pagevec_lru_add and remove parts of pagevec API Mel Gorman
2013-05-03  8:00   ` Jan Kara
2013-05-01  6:28 ` [RFC PATCH 0/3] Obey mark_page_accessed hint given by filesystems Will Huck
2013-05-01  8:08   ` Mel Gorman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).