[PATCH 03/13] libmultipath: Add path selection support
John Garry
john.g.garry at oracle.com
Tue Apr 14 06:10:13 PDT 2026
On 14/04/2026 12:43, Nilay Shroff wrote:
>>
>> about the queue-depth iopolicy, why is depth per controller and not
>> per NS (path)? The following does not mention:
>>
>> https://lore.kernel.org/linux-nvme/20240625122605.857462-3-
>> jmeneghi at redhat.com/
>>
>> Is the idea that some controller may have another NS attached and have
>> traffic there, and we need to account according to this also?
>>
> Yes, the idea is that congestion should be evaluated at the controller
> level rather than per-namespace.
> In NVMe, multiple namespaces can be attached to the same controller, and
> all of them share the same
> transport path and I/O queue resources (submission and completion
> queues). As a result, any contention
> or congestion is fundamentally observed at the controller, and not at an
> individual namespace.
>
> If we were to track queue depth per namespace, it could give a
> misleading view of the actual load on
> the underlying path, since multiple namespaces may be contributing to
> the same set of queues. In contrast,
> tracking queue depth per controller provides a more accurate
> representation of the total outstanding I/O
> and the level of congestion on that path.
>
> In a multipath configuration, this allows us to compare controllers
> directly. For example, if one controller
> has a lower queue depth than another, it is likely experiencing less
> contention and may offer lower latency,
> making it a better candidate for forwarding I/O.
ok, thanks for the info. So on this basis I would think that SCSI host
would be where we track requests for scsi-multipath. I need to consider
it more... Hannes, thoughts?
John
More information about the Linux-nvme
mailing list