linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 00/10] Prevent LRU churning
@ 2011-05-11 17:16 Minchan Kim
  2011-05-11 17:16 ` [PATCH v1 01/10] Make clear description of isolate/putback functions Minchan Kim
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Minchan Kim @ 2011-05-11 17:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-mm, LKML, Johannes Weiner, KAMEZAWA Hiroyuki,
	KOSAKI Motohiro, Mel Gorman, Rik van Riel, Andrea Arcangeli,
	Minchan Kim

There are some places to isolated and putback pages.
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 in migration, let's insert new page into old page's lru position.

[1,2,3/10] is just clean up.
[4,5,6/10] is related to Anti-churning. 
[7,8,9/10] is related to De-churning. 
[10/10] is adding to new tracepoints which is never for merge but just show the effect.

[7/10] is core of in-order putback support but it has a problem on hugepage like
physicall contiguos page stream in my previous RFC version. 
It was already pointed out by Rik. I have another idea to solve it.
Please see description of [7/10].

I test this series in my machine.(1G DRAM, Intel Core 2 Duo)
Test scenario is following as. 

1) Boot up
2) qemu ubuntu start up 
3) Run many applications and switch attached script(which is made by Wu)

I think this scenario is worst case since there are many contigous pages
when mahchine boots up by not aging(ie, not-fragment).

Test result is following as. 
For compaction, it isolated about 20000 pages. Only 10 pages are put backed with
out-of-order(ie, head of LRU)
Others, about 19990 pages are put backed with in-order(ie, position of old page while
migration happens)

Thanks. 

Minchan Kim (10):
  [1/10] Make clear description of isolate/putback functions
  [2/10] compaction: trivial clean up acct_isolated
  [3/10] Change int mode for isolate mode with enum ISOLATE_PAGE_MODE
  [4/10] Add additional isolation mode
  [5/10] compaction: make isolate_lru_page with filter aware
  [6/10] vmscan: make isolate_lru_page with filter aware
  [7/10] In order putback lru core
  [8/10] migration: make in-order-putback aware
  [9/10] compaction: make compaction use in-order putback
  [10/10] add tracepoints

 include/linux/memcontrol.h    |    5 +-
 include/linux/migrate.h       |   40 +++++
 include/linux/mm_types.h      |   16 ++-
 include/linux/swap.h          |   18 ++-
 include/trace/events/vmscan.h |    8 +-
 mm/compaction.c               |   47 +++---
 mm/internal.h                 |    2 +
 mm/memcontrol.c               |    3 +-
 mm/migrate.c                  |  389 ++++++++++++++++++++++++++++++++++++++++-
 mm/swap.c                     |    2 +-
 mm/vmscan.c                   |  115 ++++++++++--
 11 files changed, 590 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] 12+ messages in thread

end of thread, other threads:[~2011-05-11 17:19 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-11 17:16 [PATCH v1 00/10] Prevent LRU churning Minchan Kim
2011-05-11 17:16 ` [PATCH v1 01/10] Make clear description of isolate/putback functions Minchan Kim
2011-05-11 17:16 ` [PATCH v1 02/10] compaction: trivial clean up acct_isolated Minchan Kim
2011-05-11 17:16 ` [PATCH v1 03/10] Change int mode for isolate mode with enum ISOLATE_PAGE_MODE Minchan Kim
2011-05-11 17:16 ` [PATCH v1 04/10] Add additional isolation mode Minchan Kim
2011-05-11 17:16 ` [PATCH v1 05/10] compaction: make isolate_lru_page with filter aware Minchan Kim
2011-05-11 17:16 ` [PATCH v1 06/10] vmscan: " Minchan Kim
2011-05-11 17:16 ` [PATCH v1 07/10] In order putback lru core Minchan Kim
2011-05-11 17:16 ` [PATCH v1 08/10] migration: make in-order-putback aware Minchan Kim
2011-05-11 17:16 ` [PATCH v1 09/10] compaction: make compaction use in-order putback Minchan Kim
2011-05-11 17:16 ` [PATCH v1 10/10] add tracepoints Minchan Kim
2011-05-11 17:18 ` [PATCH v1 00/10] Prevent LRU churning 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).