On Tue, May 17, 2011 at 1:11 AM, Johannes Weiner wrote: > On Mon, May 16, 2011 at 05:53:04PM -0700, Ying Han wrote: > > On Fri, May 13, 2011 at 12:20 AM, Johannes Weiner >wrote: > > > > > On Thu, May 12, 2011 at 11:53:37AM -0700, Ying Han wrote: > > > > On Thu, May 12, 2011 at 7:53 AM, Johannes Weiner > > > > wrote: > > > > > > > > > Hi! > > > > > > > > > > Here is a patch series that is a result of the memcg discussions on > > > > > LSF (memcg-aware global reclaim, global lru removal, struct > > > > > page_cgroup reduction, soft limit implementation) and the recent > > > > > feature discussions on linux-mm. > > > > > > > > > > The long-term idea is to have memcgs no longer bolted to the side > of > > > > > the mm code, but integrate it as much as possible such that there > is a > > > > > native understanding of containers, and that the traditional !memcg > > > > > setup is just a singular group. This series is an approach in that > > > > > direction. > > > > > > > This sounds like a good long term plan. Now I would wonder should we take > it > > step by step by doing: > > > > 1. improving the existing soft_limit reclaim from RB-tree based to > link-list > > based, also in a round_robin fashion. > > We can keep the existing APIs but only changing the underlying > > implementation of mem_cgroup_soft_limit_reclaim() > > > > 2. remove the global lru list after the first one being proved to be > > efficient. > > > > 3. then have better integration of memcg reclaim to the mm code. > > I chose to go the other because it did not seem more complex to me and > fixed many things we had planned anyway. Deeper integration, better > soft limit implementation (including better pressure distribution, > enforcement also from direct reclaim, not just kswapd), global lru removal > etc. > That ground work was a bit unwieldy and I think quite some confusion > ensued, but I am currently reorganizing, cleaning up, and documenting. > I expect the next version to be much easier to understand. > > The three steps are still this: > > 1. make traditional reclaim memcg-aware. > > 2. improve soft limit based on 1. > I don't see the soft_limit round-robin implementation on the patch 6/6, maybe I missed it somewhere. I have my patch posted which does the linked-list round-robin across memcgs per-zone , do you have plan to merge them together ? > > 3. remove global lru based on 1. > > > But 1. already effectively disables the global LRU for memcg-enabled > kernels, so 3. can be deferred until we are comfortable with 1. > > Thank you for the details and clarification, and looking forward to your next post. --Ying > Hannes >