From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx123.postini.com [74.125.245.123]) by kanga.kvack.org (Postfix) with SMTP id DF8F68D0047 for ; Fri, 11 May 2012 15:26:13 -0400 (EDT) Message-ID: <4FAD675B.6020709@parallels.com> Date: Fri, 11 May 2012 16:24:11 -0300 From: Glauber Costa MIME-Version: 1.0 Subject: Re: [PATCH v2 04/29] slub: always get the cache from its page in kfree References: <1336758272-24284-1-git-send-email-glommer@parallels.com> <1336758272-24284-5-git-send-email-glommer@parallels.com> <4FAD531D.6030007@parallels.com> <4FAD566C.3000804@parallels.com> <4FAD585A.4070007@parallels.com> <4FAD5DA2.70803@parallels.com> <4FAD6169.8090409@parallels.com> <4FAD6449.2060201@parallels.com> In-Reply-To: Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Christoph Lameter Cc: linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org, kamezawa.hiroyu@jp.fujitsu.com, Tejun Heo , Li Zefan , Greg Thelen , Suleiman Souhlal , Michal Hocko , Johannes Weiner , devel@openvz.org, Pekka Enberg On 05/11/2012 04:20 PM, Christoph Lameter wrote: > On Fri, 11 May 2012, Glauber Costa wrote: > >>> I see that. But there are other subsystems from slab allocators that do >>> the same. There are also objects that may be used by multiple processes. >> >> This is also true for normal user pages. And then, we do what memcg does: >> first one to touch, gets accounted. I don't think deviating from the memcg >> behavior for user pages makes much sense here. >> >> A cache won't go away while it still have objects, even after the memcg is >> removed (it is marked as dead) > > Ok so we will have some dead pages around that are then repatriated to > the / set? No, they are not repatriated. I actually wrote code for that once in my first series, but it was the general feeling at the time that it was too complicated. (and I only tried for the slub, not slab) So instead, we just keep the cache around, until the objects go away. It will show in slabinfo as dentry(css_id:memcgname)dead For the record, I wrote that code because I found a nice feature, but I totally agree with the complicated part. Also, in normal scenarios, dead caches are not expected to be common. Most of them should go away as memcg dies. >>> Hmmm.. Would be better to have a hierachy there. /proc/slabinfo is more >>> legacy. >> >> I can take a look at that then. Assuming you agree with all the rest, is >> looking into that a pre-requisite for merging, or is something that can be >> deferred for a phase2 ? (We still don't do shrinkers, for instance, so this is >> sure to have a phase2) > > Not a prerequisite for merging but note that I intend to rework the > allocators to extract common code so that they have the same sysfs > interface, error reporting and failure scenarios. We can at that time > also add support for /sys/kernel/slab to memcg. (/sys/memcg//slab/* ?) Yes, that would be a good plan. -- 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: email@kvack.org