From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965378AbcHBOtL (ORCPT ); Tue, 2 Aug 2016 10:49:11 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:34647 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934982AbcHBMnB (ORCPT ); Tue, 2 Aug 2016 08:43:01 -0400 Date: Tue, 2 Aug 2016 14:42:32 +0200 From: Michal Hocko To: Vladimir Davydov Cc: Andrew Morton , Johannes Weiner , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/3] mm: memcontrol: fix swap counter leak on swapout from offline cgroup Message-ID: <20160802124231.GJ12403@dhcp22.suse.cz> References: <01cbe4d1a9fd9bbd42c95e91694d8ed9c9fc2208.1470057819.git.vdavydov@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01cbe4d1a9fd9bbd42c95e91694d8ed9c9fc2208.1470057819.git.vdavydov@virtuozzo.com> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon 01-08-16 16:26:24, Vladimir Davydov wrote: [...] > +static struct mem_cgroup *mem_cgroup_id_get_active(struct mem_cgroup *memcg) > +{ > + while (!atomic_inc_not_zero(&memcg->id.ref)) > + memcg = parent_mem_cgroup(memcg); > + return memcg; > +} Does this actually work properly? Say we have root -> A so parent is NULL if root (use_hierarchy == false). -- Michal Hocko SUSE Labs