Re: [PATCH V2 11/20] blk-mq: introduce helpers for operating ->dispatch list

Ming Lei
2017-08-24T06:57:24Z

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