struct cfq_data *cfqd = cfqq->cfqd;
struct list_head *list;
- BUG_ON(!cfq_cfqq_on_rr(cfqq));
+ /*
+ * Resorting requires the cfqq to be on the RR list already.
+ */
+ if (!cfq_cfqq_on_rr(cfqq))
+ return;
list_del(&cfqq->cfq_list);
else
cfqq->slice_left = 0;
- if (cfq_cfqq_on_rr(cfqq))
- cfq_resort_rr_list(cfqq, preempted);
+ cfq_resort_rr_list(cfqq, preempted);
if (cfqq == cfqd->active_queue)
cfqd->active_queue = NULL;
cfqq->org_ioprio = cfqq->ioprio;
cfqq->org_ioprio_class = cfqq->ioprio_class;
- if (cfq_cfqq_on_rr(cfqq))
- cfq_resort_rr_list(cfqq, 0);
-
+ cfq_resort_rr_list(cfqq, 0);
cfq_clear_cfqq_prio_changed(cfqq);
}
if (!cfq_class_idle(cfqq))
cfqd->last_end_request = now;
- if (!cfq_cfqq_dispatched(cfqq) && cfq_cfqq_on_rr(cfqq))
- cfq_resort_rr_list(cfqq, 0);
+ cfq_resort_rr_list(cfqq, 0);
if (sync)
RQ_CIC(rq)->last_end_request = now;
/*
* refile between round-robin lists if we moved the priority class
*/
- if ((ioprio_class != cfqq->ioprio_class || ioprio != cfqq->ioprio) &&
- cfq_cfqq_on_rr(cfqq))
+ if ((ioprio_class != cfqq->ioprio_class || ioprio != cfqq->ioprio))
cfq_resort_rr_list(cfqq, 0);
}