Re: [PATCH] multipath-tools: replace round-robin path selector with the default for NFINIDAT/InfiniBox

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2025-05-09 at 15:44 +0200, Xose Vazquez Perez wrote:
> round-robin is a basic selector, and only works well under ideal
> conditions,
> 
> A nvme benchmark, round-robin vs queue-depth, shows how bad it is:
> https://marc.info/?l=linux-kernel&m=171931850925572
> https://marc.info/?l=linux-kernel&m=171931852025575
> https://github.com/johnmeneghini/iopolicy/?tab=readme-ov-file#sample-data
> https://people.redhat.com/jmeneghi/ALPSS_2023/NVMe_QD_Multipathing.pdf

All these are about native nvme multipath. None is about dm-multipath.

> The same happens for scsi.

Please support this claim with actual numbers. I'm not saying that it's
wrong (it makes sense that John's argument "the round-robin path
selector is inefficient in cases where there is a difference in latency
between paths" applies to all implementations), but you can't present
numbers for one technology and simply apply them to a different
technology without providing any evidence for the latter.

I'd accept this statement in a weaker form, like "It is reasonable to
assume that the same effects would be measured with dm-multipath over
SCSI devices, too".

> 
> Cc: Martin Wilck <mwilck@xxxxxxxx>
> Cc: Benjamin Marzinski <bmarzins@xxxxxxxxxx>
> Cc: Christophe Varoqui <christophe.varoqui@xxxxxxxxxxx>
> Cc: DM-DEVEL ML <dm-devel@xxxxxxxxxxxxxxx>
> Signed-off-by: Xose Vazquez Perez <xose.vazquez@xxxxxxxxx>
> ---
> Should global keywords be banned in the devices section, or deleted
> from hwtable ???
> dev_loss
> fast_io_fail
> max_sectors_kb
> ...
> 
> They interfere when two, or more, different arrays are connected to
> the same host.
> ---
>  libmultipath/hwtable.c | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> index 081d119c..3ade3669 100644
> --- a/libmultipath/hwtable.c
> +++ b/libmultipath/hwtable.c
> @@ -1125,11 +1125,7 @@ static struct hwentry default_hw[] = {
>  		.pgpolicy      = GROUP_BY_PRIO,
>  		.pgfailback    = 30,
>  		.prio_name     = PRIO_ALUA,
> -		.selector      = "round-robin 0",
> -		.rr_weight     = RR_WEIGHT_PRIO,
>  		.no_path_retry = NO_PATH_RETRY_FAIL,
> -		.minio         = 1,
> -		.minio_rq      = 1,
>  		.fast_io_fail  = 15,
>  	},
>  	/*

This code is from 55da608 ("libmultipath: update INFINIDAT builtin
config"), signed-off by arnony@xxxxxxxxxxxxx. We usually don't change
defaults from explicit vendor recommendations without consent from the
vendor. I've added Arnon to cc, maybe he wants to comment on your
suggestion.

Regards,
Martin





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux