On Tue, Aug 22, 2017 at 08:43:12PM +0000, Bart Van Assche wrote: > On Sat, 2017-08-05 at 14:56 +0800, Ming Lei wrote: > > +static inline bool blk_mq_has_dispatch_rqs(struct blk_mq_hw_ctx *hctx) > > +{ > > + return !list_empty_careful(&hctx->dispatch); > > +} > > + > > +static inline void blk_mq_add_rq_to_dispatch(struct blk_mq_hw_ctx *hctx, > > + struct request *rq) > > +{ > > + spin_lock(&hctx->lock); > > + list_add(&rq->queuelist, &hctx->dispatch); > > + blk_mq_hctx_set_dispatch_busy(hctx); > > + spin_unlock(&hctx->lock); > > +} > > + > > +static inline void blk_mq_add_list_to_dispatch(struct blk_mq_hw_ctx *hctx, > > + struct list_head *list) > > +{ > > + spin_lock(&hctx->lock); > > + list_splice_init(list, &hctx->dispatch); > > + blk_mq_hctx_set_dispatch_busy(hctx); > > + spin_unlock(&hctx->lock); > > +} > > + > > +static inline void blk_mq_add_list_to_dispatch_tail(struct blk_mq_hw_ctx *hctx, > > + struct list_head *list) > > +{ > > + spin_lock(&hctx->lock); > > + list_splice_tail_init(list, &hctx->dispatch); > > + blk_mq_hctx_set_dispatch_busy(hctx); > > + spin_unlock(&hctx->lock); > > +} > > + > > +static inline void blk_mq_take_list_from_dispatch(struct blk_mq_hw_ctx *hctx, > > + struct list_head *list) > > +{ > > + spin_lock(&hctx->lock); > > + list_splice_init(&hctx->dispatch, list); > > + spin_unlock(&hctx->lock); > > +} > > Same comment for this patch: these helper functions are so short that I'm not > sure it is useful to introduce these helper functions. It will become long in the following patches. -- Ming