On Tue, 7 Dec 2010 12:29:29 +0530 Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote: > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2010-12-07 15:24:23]: > > An argument to balance_pgdat_for_memcg() or a start point of zonelist[]. > > i.e. > > zone_list = NODE_DATA(victim)->zonelist[0 or 1] > > > > for_each_zone_zonelist(z, zone_list).... > > > > But, this is just an example, we just need to determine where we reclaim > > page from before start walking. > > > > OK, I understand. BTW, I am not against integration with kswapd for > watermark based reclaim, the advantage I see is that as we balance > zone/node watermarks, we also balance per memcg watermark. The cost > would be proportional to the size of memcg's that have allocated from > that zone/node. kswapd is not fast path and already optimized in terms > of when to wake up, so it makes sense to reuse all of that. > But we cannot use balance_pgdat() as it is because we don't need almost all checks in it and I don't want to add hooks into it because it's updated frequently. And, I doubt how cleanly we can do merging. As Ying Han did, adding balance_pgdat_for_memcg() is a clean way for now. kswapd wakeup, sleep routine may be able to be reused. Thanks, -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>