On Mon, Jan 23, 2012 at 09:55:07AM +0800, Hillf Danton wrote: > To avoid reduction in performance of reclaimee, checking overreclaim is added > after shrinking lru list, when pages are reclaimed from mem cgroup. > > If over reclaim occurs, shrinking remaining lru lists is skipped, and no more > reclaim for reclaim/compaction. > > Signed-off-by: Hillf Danton <dhillf@xxxxxxxxx> > --- > > --- a/mm/vmscan.c Mon Jan 23 00:23:10 2012 > +++ b/mm/vmscan.c Mon Jan 23 09:57:20 2012 > @@ -2086,6 +2086,7 @@ static void shrink_mem_cgroup_zone(int p > unsigned long nr_reclaimed, nr_scanned; > unsigned long nr_to_reclaim = sc->nr_to_reclaim; > struct blk_plug plug; > + bool memcg_over_reclaimed = false; > > restart: > nr_reclaimed = 0; > @@ -2103,6 +2104,11 @@ restart: > > nr_reclaimed += shrink_list(lru, nr_to_scan, > mz, sc, priority); > + > + memcg_over_reclaimed = !scanning_global_lru(mz) > + && (nr_reclaimed >= nr_to_reclaim); > + if (memcg_over_reclaimed) > + goto out; Since this merge window, scanning_global_lru() is always false when the memory controller is enabled, i.e. most common configurations and distribution kernels. This will with quite likely have bad effects on zone balancing, pressure balancing between anon/file lru etc, while you haven't shown that any workloads actually benefit from this. Submitting patches like this without mentioning a problematic scenario and numbers that demonstrate that the patch improve it is not helpful. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. 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@xxxxxxxxx"> email@xxxxxxxxx </a>