[PATCH 01/13] nvme: add common helpers to allocate and free tagsets

Chao Leng lengchao at huawei.com
Thu Sep 22 01:02:01 PDT 2022



On 2022/9/22 13:45, Christoph Hellwig wrote:
> On Wed, Sep 21, 2022 at 11:37:08AM +0800, Chao Leng wrote:
>>> +	ctrl->connect_q = blk_mq_init_queue(set);
>>> +        if (IS_ERR(ctrl->connect_q)) {
>>> +		ret = PTR_ERR(ctrl->connect_q);
>>> +		goto out_free_tag_set;
>>> +	}
>> Maybe we should move the connect_q related code to nvme_alloc_admin_tag_set.
>> Thus we don't need to set NVMF_RESERVED_TAGS for tagset,
>> if there are large amount of ns queues, it will save resources.
>> At the same time, it will simplify tagset-based implementation.
>> According to the behavior logic, connect_q is a management resource.
>> However, connect_q use the I/O tagset.
>> As a result, it is difficult to process some logic based on tagset.
> 
> The fabrics connect command needs to be sent on each of the I/O
> queues in addition to the admin queue, which means the admin tag_set
> can't be used.
We can do some special processing in nvme_setup_cmd for connect command to
treat queue mapping.
Do you think that's okay?
> 
> 
> .
> 



More information about the Linux-nvme mailing list