On Tue, Nov 30, 2021 at 09:17:29AM +0800, Yu Kuai wrote: > Prepare to reintroduce tg_drain_bios(), which will iterate until > throtl_rb_first() return NULL. > > Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx> > --- > block/blk-throttle.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/block/blk-throttle.c b/block/blk-throttle.c > index 39bb6e68a9a2..f7244190cb2f 100644 > --- a/block/blk-throttle.c > +++ b/block/blk-throttle.c > @@ -502,7 +502,6 @@ throtl_rb_first(struct throtl_service_queue *parent_sq) > struct rb_node *n; > > n = rb_first_cached(&parent_sq->pending_tree); > - WARN_ON_ONCE(!n); > if (!n) > return NULL; > return rb_entry_tg(n); > @@ -521,8 +520,10 @@ static void update_min_dispatch_time(struct throtl_service_queue *parent_sq) > struct throtl_grp *tg; > > tg = throtl_rb_first(parent_sq); > - if (!tg) > + if (!tg) { > + WARN_ON_ONCE(1); > return; if (WARN_ON_ONCE(!tg)) return; > tg = throtl_rb_first(parent_sq); > - if (!tg) > + if (!tg) { > + WARN_ON_ONCE(1); > break; > + } Same here.