Hello, On Thu, Jun 02, 2022 at 09:35:43AM -0400, Waiman Long wrote: > @@ -2011,9 +2076,16 @@ void blk_cgroup_bio_start(struct bio *bio) > } > bis->cur.ios[rwd]++; > > + if (!READ_ONCE(bis->lnode.next)) { > + struct llist_head *lhead = per_cpu_ptr(blkcg->lhead, cpu); > + > + llist_add(&bis->lnode, lhead); > + percpu_ref_get(&bis->blkg->refcnt); Hmm... what guarantees that more than one threads race here? llist assumes that there's a single writer for a given llist_node and the ref count would be off too, right? Thanks. -- tejun