@@ -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,7 +520,7 @@ 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 (WARN_ON_ONCE(!tg))
return;
parent_sq->first_pending_disptime = tg->disptime;
@@ -1090,7 +1089,7 @@ static int throtl_select_dispatch(struct throtl_service_queue *parent_sq)
break;
tg = throtl_rb_first(parent_sq);
- if (!tg)
+ if (WARN_ON_ONCE(!tg))
break;
if (time_before(jiffies, tg->disptime))
Prepare to reintroduce tg_drain_bios(), which will iterate until throtl_rb_first() return NULL. Signed-off-by: Yu Kuai <yukuai3@huawei.com> --- block/blk-throttle.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)