Skip to content

RFC Prevent LRU churing

Minchan Kim linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest8 patches 43 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8Only isolate page we can handleinclude/linux/swap.h mm/compaction.c mm/memcontrol.c +1 more+24 -94 replies
2/8compaction: make isolate_lru_page with filter awaremm/compaction.c+1 -15 replies
3/8vmscan: make isolate_lru_page with filter awaremm/vmscan.c+6 -57 replies
4/8Make clear description of putback_lru_pagemm/migrate.c mm/vmscan.c+3 -35 replies
5/8compaction: remove active list countingmm/compaction.c+2 -29 replies
6/8In order putback lru coreinclude/linux/migrate.h include/linux/mm_types.h include/linux/swap.h +6 more+129 -810 replies
7/8migration: make in-order-putback awareinclude/linux/migrate.h mm/compaction.c mm/memory-failure.c +3 more+78 -310 replies
8/8compaction: make compaction use in-order putbackmm/compaction.c+15 -73 replies

Reviews trailers per patch

5 of 8 patches have a Reviewed-by or Acked-by.

PatchKAMEZAWA HiroyukiJohannes WeinerMel GormanKOSAKI Motohiro
1/8R-b
2/8R-b A-b A-b R-b
3/8R-b A-b
4/8R-b A-b R-b
5/8R-b
6/8
7/8
8/8

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v1 thread

Cover letter [RFC 0/8] Prevent LRU churing

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 [email protected]. 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:"[email protected]"> [email protected] </a>