Re: [PATCH 10/14] blk-mq: initial support for multiple queue maps
From: Bart Van Assche <bvanassche@acm.org>
Date: 2018-10-29 20:25:36
Also in:
linux-scsi, lkml
From: Bart Van Assche <bvanassche@acm.org>
Date: 2018-10-29 20:25:36
Also in:
linux-scsi, lkml
On Mon, 2018-10-29 at 14:09 -0600, Jens Axboe wrote:
hctx->type will be set to the value of the first type. This is all driver private, blk-mq could not care less what the value of the type means. As to the other question, it works just fine since that is the queue that is being accessed. There's no confusion there. I think you're misunderstanding how it's seutp. To use nvme as the example, type 0 would be reads, 1 writes, and 2 pollable queues. If reads and writes share the same set of hardware queues, then type 1 simply doesn't exist in terms of ->flags_to_type() return value. This is purely driven by the driver. That hook is the only decider of where something will go. If we share hctx sets, we share the same hardware queue as well. There is just the one set for that case.
How about adding a comment in blk-mq.h that explains that hardware queues can be shared among different hardware queue types? I think this is nontrivial and deserves a comment. Thanks, Bart.