Re: [PATCH 13/15] blkcg: change blkg reference counting to use percpu_ref

From: Tejun Heo
Date: Fri Aug 31 2018 - 20:32:05 EST


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