It's useless, default path_selector is service-time. And document some aspects of round-robin. Cc: Kiyoshi Ueda <k-ueda@xxxxxxxxxxxxx> Cc: Jun’ichi Nomura <j-nomura@xxxxxxxxxxxxx> Cc: Mike Christie <mchristi@xxxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Cc: Christophe Varoqui <christophe.varoqui@xxxxxxxxxxx> Cc: device-mapper development <dm-devel@xxxxxxxxxx> Signed-off-by: Xose Vazquez Perez <xose.vazquez@xxxxxxxxx> --- libmultipath/hwtable.c | 14 -------------- multipath/multipath.conf.5 | 20 ++++++++++++-------- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c index cc0cfd4..3917d25 100644 --- a/libmultipath/hwtable.c +++ b/libmultipath/hwtable.c @@ -76,7 +76,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = FAILBACK_UNDEF, .no_path_retry = 12, - .minio = 100, .checker_name = HP_SW, .prio_name = PRIO_HP_SW, }, @@ -87,7 +86,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 12, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -97,7 +95,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 12, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -107,7 +104,6 @@ static struct hwentry default_hw[] = { .pgpolicy = MULTIBUS, .pgfailback = FAILBACK_UNDEF, .no_path_retry = 18, - .minio = 100, }, { /* MSA2000 family with new firmware */ @@ -116,7 +112,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 18, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -126,7 +121,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 18, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -137,7 +131,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 12, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -155,7 +148,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 18, - .minio = 100, .prio_name = PRIO_ALUA, }, /* @@ -516,7 +508,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = NO_PATH_RETRY_QUEUE, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -526,7 +517,6 @@ static struct hwentry default_hw[] = { .features = "1 queue_if_no_path", .pgpolicy = MULTIBUS, .pgfailback = 15, - .minio = 15, }, /* * IBM Power Virtual SCSI Devices @@ -573,7 +563,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .flush_on_last_del = FLUSH_ENABLED, - .minio = 128, .dev_loss = MAX_DEV_LOSS_TMO, .prio_name = PRIO_ONTAP, }, @@ -608,7 +597,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_SERIAL, .pgfailback = FAILBACK_UNDEF, .no_path_retry = 30, - .minio = 128, }, /* * SGI @@ -772,7 +760,6 @@ static struct hwentry default_hw[] = { .features = "1 queue_if_no_path", .pgpolicy = MULTIBUS, .pgfailback = FAILBACK_UNDEF, - .minio = 100, }, /* * Intel @@ -796,7 +783,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 12, - .minio = 100, .prio_name = PRIO_ALUA, }, /* diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5 index b34a320..4602f31 100644 --- a/multipath/multipath.conf.5 +++ b/multipath/multipath.conf.5 @@ -7,7 +7,7 @@ .\" .\" ---------------------------------------------------------------------------- . -.TH MULTIPATH.CONF 5 2016-08-07 "Linux" +.TH MULTIPATH.CONF 5 2016-08-09 "Linux" . . .\" ---------------------------------------------------------------------------- @@ -162,7 +162,8 @@ kernel multipath target. There are three selector algorithms: .TP 12 .I "round-robin 0" Loop through every path in the path group, sending the same amount of IO to -each. +each. Some aspects of behavior can be controlled with the attributes: +\fIrr_min_io\fR, \fIrr_min_io_rq\fR and \fIrr_weight\fR. .TP .I "queue-length 0" Send the next bunch of IO down the path with the least amount of outstanding IO. @@ -431,8 +432,9 @@ Default value is: \fBmanual\fR . .TP .B rr_min_io -The number of IO to route to a path before switching to the next in -the same path group. This is only for BIO based multipath. +Number of IO requests to route to a path before switching to the next in the +same path group. This is only for \fIBlock I/O\fR(BIO) based multipath and +only apply to \fIround-robin\fR path_selector. .RS .TP Default value is: \fB1000\fR @@ -441,8 +443,9 @@ Default value is: \fB1000\fR . .TP .B rr_min_io_rq -The number of IO requests to route to a path before switching to the -next in the same path group. This is only for request based multipath. +Number of IO requests to route to a path before switching to the next in the +same path group. This is only for \fIRequest\fR based multipath and +only apply to \fIround-robin\fR path_selector. .RS .TP Default value is: \fB1\fR @@ -465,11 +468,12 @@ Default value is: \fBmax\fR . .TP .B rr_weight -If set to \fIpriorities\fR the multipath configurator will assign -path weights as "path prio * rr_min_io". Possible values are +If set to \fIpriorities\fR the multipath configurator will assign path weights +as "path prio * rr_min_io". Possible values are .I priorities or .I uniform . +Only apply to \fIround-robin\fR path_selector. .RS .TP Default value is: \fBuniform\fR -- 2.7.4 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel