On Fri, Aug 31, 2018 at 05:31:59PM -0700, Tejun Heo wrote: > 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. > Ah ok. I've made it into a call_rcu which should work. Thanks, Dennis