From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:47938 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727987AbfACAdQ (ORCPT ); Wed, 2 Jan 2019 19:33:16 -0500 From: David Howells In-Reply-To: <20190102233118.GA19202@gmail.com> References: <20190102233118.GA19202@gmail.com> <20181229000400.26333-1-avagin@gmail.com> <20181228235900.21468-1-avagin@gmail.com> <21902.1546467980@warthog.procyon.org.uk> <20190102230655.GA8616@gmail.com> To: Andrei Vagin Cc: dhowells@redhat.com, Alexander Viro , linux-fsdevel@vger.kernel.org, cgroups@vger.kernel.org, Li Zefan Subject: Re: [PATCH vfs/for-next v2] cgroup: fix top cgroup refcnt leak MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <12707.1546475593.1@warthog.procyon.org.uk> Content-Transfer-Encoding: 8BIT Date: Thu, 03 Jan 2019 00:33:13 +0000 Message-ID: <12708.1546475593@warthog.procyon.org.uk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Andrei Vagin wrote: > Here is a reproducer for this problem: > > [root@fc24 ~]# cat fs-vs-cg > set -m > d=$(mktemp -d /tmp/cg.XXXXXX) > for i in `seq 2`; do > mkdir $d/a$i > mount -t cgroup -o none,name=xxxxy xxx $d/a$i > done > mkdir -p $d/a1/test > for i in `seq 2`; do > umount $d/a$i > done > d=$(mktemp -d /tmp/cg.XXXXXX) > for i in `seq 2`; do > mkdir $d/a$i > mount -t cgroup -o none,name=xxxxy xxx $d/a$i > done > rmdir $d/a1/test > for i in `seq 2`; do > umount $d/a$i > done > > You need to execute this script twice and it will stuck on a second > attmept. This causes: percpu ref (css_release) <= 0 (0) after switching to atomic without your patch and: percpu ref (css_release) <= 0 (-2) after switching to atomic with your patch, both followed by: WARNING: CPU: 0 PID: 0 at lib/percpu-refcount.c:155 percpu_ref_switch_to_atomic_rcu+0x90/0x1a0 on Al's for-next branch. David