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 b74616b..11cf498 100644 --- a/libmultipath/hwtable.c +++ b/libmultipath/hwtable.c @@ -79,7 +79,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, }, @@ -90,7 +89,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 12, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -100,7 +98,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 12, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -110,7 +107,6 @@ static struct hwentry default_hw[] = { .pgpolicy = MULTIBUS, .pgfailback = FAILBACK_UNDEF, .no_path_retry = 18, - .minio = 100, }, { /* MSA2000 family with new firmware */ @@ -119,7 +115,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 18, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -129,7 +124,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 18, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -140,7 +134,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 12, - .minio = 100, .prio_name = PRIO_ALUA, }, { @@ -158,7 +151,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_PRIO, .pgfailback = -FAILBACK_IMMEDIATE, .no_path_retry = 18, - .minio = 100, .prio_name = PRIO_ALUA, }, /* @@ -520,7 +512,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, }, { @@ -530,7 +521,6 @@ static struct hwentry default_hw[] = { .features = "1 queue_if_no_path", .pgpolicy = MULTIBUS, .pgfailback = FAILBACK_UNDEF, - .minio = 15, }, /* * IBM Power Virtual SCSI Devices @@ -577,7 +567,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, }, @@ -612,7 +601,6 @@ static struct hwentry default_hw[] = { .pgpolicy = GROUP_BY_SERIAL, .pgfailback = FAILBACK_UNDEF, .no_path_retry = 30, - .minio = 128, }, /* * SGI @@ -776,7 +764,6 @@ static struct hwentry default_hw[] = { .features = "1 queue_if_no_path", .pgpolicy = MULTIBUS, .pgfailback = FAILBACK_UNDEF, - .minio = 100, }, /* * Intel @@ -800,7 +787,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 55fde22..fd4b1f2 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" . . .\" ---------------------------------------------------------------------------- @@ -163,7 +163,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. @@ -433,8 +434,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 @@ -443,8 +445,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 @@ -467,11 +470,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