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 <mwi...@suse.com> > Cc: Benjamin Marzinski <bmarz...@redhat.com> > Cc: Christophe Varoqui <christophe.varo...@opensvc.com> > Cc: DM-DEVEL ML <dm-devel@lists.linux.dev> > Signed-off-by: Xose Vazquez Perez <xose.vazq...@gmail.com> > --- > 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 arn...@infinidat.com. 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