On Sun, Dec 11, 2022 at 05:20:56PM -0500, Waiman Long wrote: > static void blkcg_destroy_blkgs(struct blkcg *blkcg) > { > + /* > + * blkcg_destroy_blkgs() shouldn't be called with all the blkcg > + * references gone. > + */ > + if (WARN_ON_ONCE(!css_tryget(&blkcg->css))) > + return; Wouldn't it make more sense to use percpu_ref_is_zero()? It's not like the obtained extra reference does anything, right? Thanks. -- tejun