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
[email protected] +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)