Re: [PATCH v8 2/2] nvme-multipath: implement "queue-depth" iopolicy
From: Chaitanya Kulkarni
Date: Wed Jun 26 2024 - 04:20:01 EST
On 6/25/24 05:26, John Meneghini wrote:
> From: Thomas Song<tsong@xxxxxxxxxxxxxxx>
>
> The round-robin path selector is inefficient in cases where there is a
> difference in latency between paths. In the presence of one or more
> high latency paths the round-robin selector continues to use the high
> latency path equally. This results in a bias towards the highest latency
> path and can cause a significant decrease in overall performance as IOs
> pile on the highest latency path. This problem is acute with NVMe-oF
> controllers.
>
> The queue-depth path selector sends I/O down the path with the lowest
> number of requests in its request queue. Paths with lower latency will
> clear requests more quickly and have less requests queued compared to
> higher latency paths. The goal of this path selector is to make more use
> of lower latency paths which will bring down overall IO latency and
> increase throughput and performance.
>
> Signed-off-by: Thomas Song<tsong@xxxxxxxxxxxxxxx>
> [emilne: patch developed by Thomas Song @ Pure Storage, fixed whitespace
> and compilation warnings, updated MODULE_PARM description, and
> fixed potential issue with ->current_path[] being used]
> Co-developed-by: Ewan D. Milne<emilne@xxxxxxxxxx>
> Signed-off-by: Ewan D. Milne<emilne@xxxxxxxxxx>
> [jmeneghi: various changes and improvements, addressed review comments]
> Co-developed-by: John Meneghini<jmeneghi@xxxxxxxxxx>
> Signed-off-by: John Meneghini<jmeneghi@xxxxxxxxxx>
> Link:https://lore.kernel.org/linux-nvme/20240509202929.831680-1-jmeneghi@xxxxxxxxxx/
> Tested-by: Marco Patalano<mpatalan@xxxxxxxxxx>
> Reviewed-by: Randy Jennings<randyj@xxxxxxxxxxxxxxx>
> Tested-by: Jyoti Rani<jrani@xxxxxxxxxxxxxxx>
> Tested-by: John Meneghini<jmeneghi@xxxxxxxxxx>
> Reviewed-by: Hannes Reinecke<hare@xxxxxxx>
thanks for sharing github link, those scripts are in-general helpful ...
Looks good.
Reviewed-by: Chaitanya Kulkarni <kch@xxxxxxxxxx>
-ck