From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx155.postini.com [74.125.245.155]) by kanga.kvack.org (Postfix) with SMTP id 49E0A6B005D for ; Tue, 29 May 2012 12:53:00 -0400 (EDT) Date: Tue, 29 May 2012 11:52:55 -0500 (CDT) From: Christoph Lameter Subject: Re: [PATCH v3 12/28] slab: pass memcg parameter to kmem_cache_create In-Reply-To: <4FC4FAF6.8060900@parallels.com> Message-ID: References: <1337951028-3427-1-git-send-email-glommer@parallels.com> <1337951028-3427-13-git-send-email-glommer@parallels.com> <4FC4F04F.1070401@parallels.com> <4FC4FAF6.8060900@parallels.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org List-ID: To: Glauber Costa 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, David Rientjes , Pekka Enberg On Tue, 29 May 2012, Glauber Costa wrote: > > How do you detect that someone is touching it? > > kmem_alloc_cache will create mem_cgroup_get_kmem_cache. > (protected by static_branches, so won't happen if you don't have at least > non-root memcg using it) > > * Then it detects which memcg the calling process belongs to, > * if it is the root memcg, go back to the allocation as quickly as we > can > * otherwise, in the creation process, you will notice that each cache > has an index. memcg will store pointers to the copies and find them by > the index. > > From this point on, all the code of the caches is reused (except for > accounting the page) Well kmem_cache_alloc cache is the performance critical hotpath. If you are already there and doing all of that then would it not be better to simply count the objects allocated and freed per cgroup? Directly increment and decrement counters in a cgroup? You do not really need to duplicate the kmem_cache structure and do not need to modify allocators if you are willing to take that kind of a performance hit. Put a wrapper around kmem_cache_alloc/free and count things. -- 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