Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755291Ab2HQIEU (ORCPT ); Fri, 17 Aug 2012 04:04:20 -0400 Received: from cantor2.suse.de ([195.135.220.15]:43402 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755147Ab2HQIEJ (ORCPT ); Fri, 17 Aug 2012 04:04:09 -0400 Date: Fri, 17 Aug 2012 10:04:04 +0200 From: Michal Hocko To: Glauber Costa Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, devel@openvz.org, Johannes Weiner , Andrew Morton , kamezawa.hiroyu@jp.fujitsu.com, Christoph Lameter , David Rientjes , Pekka Enberg , Pekka Enberg , Suleiman Souhlal Subject: Re: [PATCH v2 08/11] memcg: disable kmem code when not in use. Message-ID: <20120817080404.GB18600@dhcp22.suse.cz> References: <1344517279-30646-1-git-send-email-glommer@parallels.com> <1344517279-30646-9-git-send-email-glommer@parallels.com> <20120817070241.GA18600@dhcp22.suse.cz> <502DEC32.6070807@parallels.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <502DEC32.6070807@parallels.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1403 Lines: 33 On Fri 17-08-12 11:01:06, Glauber Costa wrote: > On 08/17/2012 11:02 AM, Michal Hocko wrote: > > On Thu 09-08-12 17:01:16, Glauber Costa wrote: > >> We can use jump labels to patch the code in or out when not used. > >> > >> Because the assignment: memcg->kmem_accounted = true is done after the > >> jump labels increment, we guarantee that the root memcg will always be > >> selected until all call sites are patched (see memcg_kmem_enabled). > > > > Not that it would be really important because kmem_accounted goes away And just found out it doesn't go away completely, it just transforms from bool to unsigned log (with flags). The rest still holds... > > in a subsequent patch but I think the wording is a bit misleading here. > > First of all there is no guanratee that kmem_accounted=true is seen > > before atomic_inc(&key->enabled) because there is no memory barrier and > > the lock serves just a leave barrier. But I do not think this is > > important at all because key->enabled is what matters here. Even if > > memcg_kmem_enabled is true we do not consider it if the key is disabled, > > right? > > > > Right. -- Michal Hocko SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/