Messages in this thread Patch in this message | | | Date | Fri, 4 Jul 2008 18:02:26 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | memcg: lru scan fix (Was: 2.6.26-rc8-mm1 |
| |
Since rc5-mm3, memcg easily goes into OOM when limit was low. This is a fix to split-lru to fix OOM.
== Under memcg, active anon tend not to go to inactive anon. This will cause OOM in memcg easily when tons of anon was used at once. This check was lacked in split-lru.
Signed-off-by:KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Index: test-2.6.26-rc8-mm1/mm/vmscan.c =================================================================== --- test-2.6.26-rc8-mm1.orig/mm/vmscan.c +++ test-2.6.26-rc8-mm1/mm/vmscan.c @@ -1501,6 +1501,8 @@ static unsigned long shrink_zone(int pri */ if (scan_global_lru(sc) && inactive_anon_is_low(zone)) shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0); + else if (!scan_global_lru(sc)) + shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0); throttle_vm_writeout(sc->gfp_mask); return nr_reclaimed;
| |