On 08/22/2017 11:55 PM, 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? > Yes, please. I've come across this several times now, and am always tempted to introduce this flag. Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)