linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/8] Prevent LRU churing
@ 2011-04-26 16:25 Minchan Kim
  2011-04-26 16:25 ` [RFC 1/8] Only isolate page we can handle Minchan Kim
                   ` (7 more replies)
  0 siblings, 8 replies; 52+ messages in thread
From: Minchan Kim @ 2011-04-26 16:25 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-mm, LKML, Christoph Lameter, Johannes Weiner,
	KAMEZAWA Hiroyuki, Minchan Kim

There are some places to isolated and putback.
For example, compaction does it for getting contiguous page.
The problem is that if we isolate page in the middle of LRU and putback it, 
we lose LRU history as putback_lru_page inserts the page into head of LRU list. 
It means we can evict working set pages.
This problem is discussed at LSF/MM.

This patch is for solving the problem as two methods.

 * anti-churning
   when we isolate page on LRU list, let's not isolate page we can't handle
 * de-churning
   when we putback page on LRU list, let's insert isolate page into previous lru position.

[1,2,3/8] is related to anti-churing.
[4,5/8] is things I found during making this series and 
it's not dependent on this series so it could be merged. 
[6,7,8/8] is related to de-churing. 
[6/8] is core of in-order putback support but it has a problem on hugepage like
physicall contiguos page stream. It's pointed out by Rik. I have another idea to 
solve it. It is written down on description of [6/8]. Please look at it.

It's just RFC so I need more time to make code clearness and test and get data.
But before futher progress, I hope listen about approach, design, 
review the code(ex, locking, naming and so on) or anyting welcome. 

This patches are based on mmotm-2011-04-14-15-08 and my simple test is passed.

Thanks. 

Minchan Kim (8):
  [1/8] Only isolate page we can handle
  [2/8] compaction: make isolate_lru_page with filter aware
  [3/8] vmscan: make isolate_lru_page with filter aware
  [4/8] Make clear description of putback_lru_page
  [5/8] compaction: remove active list counting
  [6/8] In order putback lru core
  [7/8] migration: make in-order-putback aware
  [8/8] compaction: make compaction use in-order putback

 include/linux/migrate.h  |    6 ++-
 include/linux/mm_types.h |    7 +++
 include/linux/swap.h     |    5 ++-
 mm/compaction.c          |   27 ++++++---
 mm/internal.h            |    2 +
 mm/memcontrol.c          |    2 +-
 mm/memory-failure.c      |    2 +-
 mm/memory_hotplug.c      |    2 +-
 mm/mempolicy.c           |    4 +-
 mm/migrate.c             |  133 +++++++++++++++++++++++++++++++++++++---------
 mm/swap.c                |    2 +-
 mm/vmscan.c              |  110 ++++++++++++++++++++++++++++++++++----
 12 files changed, 247 insertions(+), 55 deletions(-)

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

end of thread, other threads:[~2011-05-09  3:21 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-26 16:25 [RFC 0/8] Prevent LRU churing Minchan Kim
2011-04-26 16:25 ` [RFC 1/8] Only isolate page we can handle Minchan Kim
2011-04-27  7:54   ` KAMEZAWA Hiroyuki
2011-04-27  8:12     ` Minchan Kim
2011-04-27  8:13   ` Minchan Kim
2011-04-28 10:26   ` Mel Gorman
2011-04-26 16:25 ` [RFC 2/8] compaction: make isolate_lru_page with filter aware Minchan Kim
2011-04-27  7:55   ` KAMEZAWA Hiroyuki
2011-04-28  8:48   ` Johannes Weiner
2011-04-29 15:15     ` Minchan Kim
2011-05-01  7:27       ` KOSAKI Motohiro
2011-04-28 10:31   ` Mel Gorman
2011-04-26 16:25 ` [RFC 3/8] vmscan: " Minchan Kim
2011-04-27  8:03   ` KAMEZAWA Hiroyuki
2011-04-27 23:18     ` Minchan Kim
2011-04-28  8:54     ` Johannes Weiner
2011-04-28  9:10       ` KAMEZAWA Hiroyuki
2011-04-28 10:26         ` Johannes Weiner
2011-04-28 10:35   ` Mel Gorman
2011-04-29 15:18     ` Minchan Kim
2011-04-26 16:25 ` [RFC 4/8] Make clear description of putback_lru_page Minchan Kim
2011-04-27  8:11   ` KAMEZAWA Hiroyuki
2011-04-27 23:20     ` Minchan Kim
2011-04-28  8:45       ` Johannes Weiner
2011-05-01 13:13         ` KOSAKI Motohiro
2011-05-01 15:10           ` Minchan Kim
2011-04-26 16:25 ` [RFC 5/8] compaction: remove active list counting Minchan Kim
2011-04-27  8:15   ` KAMEZAWA Hiroyuki
2011-04-27 23:42     ` Minchan Kim
2011-04-28  9:02       ` Johannes Weiner
2011-04-28  8:58   ` Johannes Weiner
2011-04-29 15:19     ` Minchan Kim
2011-04-28 10:50   ` Mel Gorman
2011-04-29 15:25     ` Minchan Kim
2011-05-01 13:19       ` KOSAKI Motohiro
2011-05-01 15:09         ` Minchan Kim
2011-04-26 16:25 ` [RFC 6/8] In order putback lru core Minchan Kim
2011-04-27  4:20   ` Minchan Kim
2011-04-27  8:34   ` KAMEZAWA Hiroyuki
2011-04-27 23:43     ` Minchan Kim
2011-04-27 23:46   ` Rik van Riel
2011-04-27 23:59     ` Minchan Kim
2011-04-28 11:06   ` Mel Gorman
2011-04-29 15:47     ` Minchan Kim
2011-05-01 13:47     ` KOSAKI Motohiro
2011-05-01 15:29       ` Minchan Kim
2011-05-09  3:21         ` KOSAKI Motohiro
2011-04-26 16:25 ` [RFC 7/8] migration: make in-order-putback aware Minchan Kim
2011-04-26 16:25 ` [RFC 8/8] compaction: make compaction use in-order putback Minchan Kim
2011-04-27  4:22   ` Minchan Kim
2011-04-27  8:39   ` KAMEZAWA Hiroyuki
2011-04-27  9:08     ` Minchan Kim

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).