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? Thanks, Bart.