> void blk_mq_kick_requeue_list(struct request_queue *q) > { > - kblockd_mod_delayed_work_on(WORK_CPU_UNBOUND, &q->requeue_work, 0); > + struct blk_mq_hw_ctx *hctx; > + unsigned long i; > + > + queue_for_each_hw_ctx(q, hctx, i) > + kblockd_mod_delayed_work_on(WORK_CPU_UNBOUND, > + &hctx->requeue_work, 0); > } > EXPORT_SYMBOL(blk_mq_kick_requeue_list); > > void blk_mq_delay_kick_requeue_list(struct request_queue *q, > unsigned long msecs) > { > - kblockd_mod_delayed_work_on(WORK_CPU_UNBOUND, &q->requeue_work, > - msecs_to_jiffies(msecs)); > + struct blk_mq_hw_ctx *hctx; > + unsigned long i; > + > + queue_for_each_hw_ctx(q, hctx, i) > + kblockd_mod_delayed_work_on(WORK_CPU_UNBOUND, > + &hctx->requeue_work, > + msecs_to_jiffies(msecs)); > } I'd iplement blk_mq_kick_requeue_list as a wrapper around blk_mq_delay_kick_requeue_list that passes a 0 msec argument. Otherwise looks fine: Reviewed-by: Christoph Hellwig <hch@xxxxxx>