From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: Sender: Tejun Heo Date: Fri, 31 Aug 2018 17:31:59 -0700 From: Tejun Heo To: Dennis Zhou Cc: Jens Axboe , Johannes Weiner , Josef Bacik , kernel-team@fb.com, linux-block@vger.kernel.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 13/15] blkcg: change blkg reference counting to use percpu_ref Message-ID: <20180901003159.GK1488037@devbig004.ftw2.facebook.com> References: <20180831015356.69796-1-dennisszhou@gmail.com> <20180831015356.69796-14-dennisszhou@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20180831015356.69796-14-dennisszhou@gmail.com> List-ID: Hello, On Thu, Aug 30, 2018 at 09:53:54PM -0400, Dennis Zhou wrote: > @@ -217,6 +240,10 @@ static struct blkcg_gq *blkg_create(struct blkcg *blkcg, > blkg_get(blkg->parent); > } > > + ret = percpu_ref_init(&blkg->refcnt, __blkg_release, 0, GFP_KERNEL); So, while this would work in some configs, you can't depend on RCU grace period inside percpu_ref. blkg is now percpu-reference counted and rcu protected object - it has to explicitly go through a rcu grace period before release. Thanks. -- tejun