linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] vmscan: prevent background aging of anon page in no swap system
@ 2010-08-29 15:43 Minchan Kim
  2010-08-29 15:49 ` Rik van Riel
                   ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: Minchan Kim @ 2010-08-29 15:43 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-mm, LKML, Venkatesh Pallipadi, Ying Han, Minchan Kim,
	Rik van Riel, KOSAKI Motohiro, Johannes Weiner

Ying Han reported that backing aging of anon pages in no swap system
causes unnecessary TLB flush.

When I sent a patch(69c8548175), I wanted this patch but Rik pointed out
and allowed aging of anon pages to give a chance to promote from inactive
to active LRU.

It has a two problem.

1) non-swap system

Never make sense to age anon pages.

2) swap configured but still doesn't swapon

It doesn't make sense to age anon pages until swap-on time.
But it's arguable. If we have aged anon pages by swapon, VM have moved
anon pages from active to inactive. And in the time swapon by admin,
the VM can't reclaim hot pages so we can protect hot pages swapout.

But let's think about it. When does swap-on happen? It depends on admin.
we can't expect it. Nonetheless, we have done aging of anon pages to
protect hot pages swapout. It means we lost run time overhead when
below high watermark but gain hot page swap-[in/out] overhead when VM
decide swapout. Is it true? Let's think more detail.
We don't promote anon pages in case of non-swap system. So even though
VM does aging of anon pages, the pages would be in inactive LRU for a long
time. It means many of pages in there would mark access bit again. So access
bit hot/code separation would be pointless.

This patch prevents unnecessary anon pages demotion in not-swapon and
non-configured swap system. Of course, it could make side effect that
hot anon pages could swap out when admin does swap on.
But I think sooner or later it would be steady state. 
So it's not a big problem.
We could lose someting but gain more thing(TLB flush and unnecessary 
function call to demote anon pages). 

I used total_swap_pages because we want to age anon pages 
even though swap full happens.

Cc: Rik van Riel <riel@redhat.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Reported-by: Ying Han <yinghan@google.com>
Signed-off-by: Minchan Kim <minchan.kim@gmail.com>
---
 mm/vmscan.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 3109ff7..d8fd87d 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2211,7 +2211,7 @@ loop_again:
 			 * Do some background aging of the anon list, to give
 			 * pages a chance to be referenced before reclaiming.
 			 */
-			if (inactive_anon_is_low(zone, &sc))
+			if (total_swap_pages > 0 && inactive_anon_is_low(zone, &sc))
 				shrink_active_list(SWAP_CLUSTER_MAX, zone,
 							&sc, priority, 0);
 
-- 
1.7.0.5

--
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 related	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2010-09-04  1:23 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-29 15:43 [PATCH] vmscan: prevent background aging of anon page in no swap system Minchan Kim
2010-08-29 15:49 ` Rik van Riel
2010-08-29 17:45 ` Ying Han
2010-08-29 20:03   ` Rik van Riel
2010-08-29 20:56     ` Ying Han
2010-08-29 21:23     ` Ying Han
2010-08-29 22:26       ` Rik van Riel
2010-08-30  0:18       ` Minchan Kim
2010-08-30  5:40         ` Ying Han
2010-08-30  6:16           ` Minchan Kim
2010-08-31  0:56             ` KOSAKI Motohiro
2010-08-31  1:10               ` Minchan Kim
2010-08-31  1:18                 ` KOSAKI Motohiro
2010-08-31  1:36                   ` Minchan Kim
2010-08-31  1:41                     ` KOSAKI Motohiro
2010-08-31  0:56           ` KOSAKI Motohiro
2010-08-31  1:23             ` Minchan Kim
2010-08-31  1:38               ` KOSAKI Motohiro
2010-08-31  2:02                 ` Minchan Kim
2010-08-31  2:09                   ` KOSAKI Motohiro
2010-08-31  3:47                     ` Minchan Kim
2010-08-31  2:30               ` Rik van Riel
2010-08-31  3:46                 ` Minchan Kim
2010-09-03 21:06 ` Andrew Morton
2010-09-03 21:23   ` Rik van Riel
2010-09-03 21:45   ` Ying Han
2010-09-03 21:47   ` Ying Han
2010-09-03 21:56     ` Andrew Morton
2010-09-04  1:12       ` Venkatesh Pallipadi

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