Thread (65 messages) 65 messages, 4 authors, 2011-09-29

Re: [patch 02/11] mm: vmscan: distinguish global reclaim from global LRU scanning

From: Johannes Weiner <hidden>
Date: 2011-09-20 08:52:56
Also in: lkml
Subsystem: memory management, memory management - mglru (multi-gen lru), memory management - reclaim, the rest · Maintainers: Andrew Morton, Johannes Weiner, Linus Torvalds

On Mon, Sep 19, 2011 at 03:23:44PM +0200, Michal Hocko wrote:
On Mon 12-09-11 12:57:19, Johannes Weiner wrote:
quoted
The traditional zone reclaim code is scanning the per-zone LRU lists
during direct reclaim and kswapd, and the per-zone per-memory cgroup
LRU lists when reclaiming on behalf of a memory cgroup limit.

Subsequent patches will convert the traditional reclaim code to
reclaim exclusively from the per-memory cgroup LRU lists.  As a
result, using the predicate for which LRU list is scanned will no
longer be appropriate to tell global reclaim from limit reclaim.

This patch adds a global_reclaim() predicate to tell direct/kswapd
reclaim from memory cgroup limit reclaim and substitutes it in all
places where currently scanning_global_lru() is used for that.
I am wondering about vmscan_swappiness. Shouldn't it use global_reclaim
instead?
Thanks for noticing, you are right.  Too many rebases...

Signed-off-by: Johannes Weiner <redacted>
---
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 354f125..c2b0903 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1840,7 +1840,7 @@ static unsigned long shrink_list(enum lru_list lru, unsigned long nr_to_scan,
 
 static int vmscan_swappiness(struct scan_control *sc)
 {
-	if (scanning_global_lru(sc))
+	if (global_reclaim(sc))
 		return vm_swappiness;
 	return mem_cgroup_swappiness(sc->mem_cgroup);
 }

--
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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help