Hi, > Yes, however, this can be fixed very similar: > > Set sq->parent_sq to NULL here, and add a helper parent_sq(q, sq): > > if (sq->parent_sq) > return sq->parent_sq; > > td_sq = &q->td->service_queue; > return sq == td_sq ? NULL : td_sq; > > And sq_to_tg() need to be changed as well. So far, I'm not sure how many > code changes are required this way. We of course want a simple fix for > stable backport, but we definitely still want this kind of fix in future > release. We preliminarily tried implementing this approach. But the changes are scattered and backport might be complex. So we provide a simple fix first. > Meanwhile, please remove the comment about freeze queue, turns out it > can't protect blk_throtl_bio() becasue q_usage_coutner is not grabbed > yet while issuing bio. As discussed before, we also removed some outdated comments in blk_should_throtl(). We just submitted v2 which includes the changes. We look forward to your feedback and suggestions on the v2 patch. Thanks, Han Guangjiang