From mboxrd@z Thu Jan 1 00:00:00 1970 From: Glauber Costa Subject: Re: [RFC][PATCH 3/7] memcg: use css_get/put when charging/uncharging kmem Date: Fri, 5 Apr 2013 14:19:40 +0400 Message-ID: <515EA53C.3060403@parallels.com> References: <515BF233.6070308@huawei.com> <515BF284.7060401@huawei.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <515BF284.7060401-hv44wF8Li93QT0dZR+AlfA@public.gmane.org> Sender: cgroups-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Li Zefan Cc: linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, LKML , Cgroups , Tejun Heo , Michal Hocko , KAMEZAWA Hiroyuki , Johannes Weiner On 04/03/2013 01:12 PM, Li Zefan wrote: > Use css_get/put instead of mem_cgroup_get/put. > > We can't do a simple replacement, because here mem_cgroup_put() > is called during mem_cgroup_css_free(), while mem_cgroup_css_free() > won't be called until css refcnt goes down to 0. > > Instead we increment css refcnt in mem_cgroup_css_offline(), and > then check if there's still kmem charges. If not, css refcnt will > be decremented, otherwise the refcnt will be decremented when > kmem charges goes down to 0. That is okay, it should work.