Re: [PATCH V2 09/20] blk-mq: introduce BLK_MQ_F_SHARED_DEPTH

Ming Lei
2017-08-24T06:52:28Z

On Tue, Aug 22, 2017 at 09:55:57PM +0000, Bart Van Assche wrote:
> On Sat, 2017-08-05 at 14:56 +0800, Ming Lei wrote:
> > + /*
> > + * if there is q->queue_depth, all hw queues share
> > + * this queue depth limit
> > + */
> > + if (q->queue_depth) {
> > + queue_for_each_hw_ctx(q, hctx, i)
> > + hctx->flags |= BLK_MQ_F_SHARED_DEPTH;
> > + }
> > +
> > + if (!q->elevator)
> > + goto exit;
>
> Hello Ming,
>
> It seems very fragile to me to set BLK_MQ_F_SHARED_DEPTH if and only if
> q->queue_depth != 0. Wouldn't it be better to let the block driver tell the
> block layer whether or not there is a queue depth limit across hardware
> queues, e.g. through a tag set flag?

One reason for not doing in that way is because q->queue_depth can be
changed via sysfs interface.

Another reason is that better to not exposing this flag to drivers since
it isn't necessary, that said it is an internal flag actually.

--
Ming