| 1 | ===============
|
| 2 | dm-queue-length
|
| 3 | ===============
|
| 4 |
|
| 5 | dm-queue-length is a path selector module for device-mapper targets,
|
| 6 | which selects a path with the least number of in-flight I/Os.
|
| 7 | The path selector name is 'queue-length'.
|
| 8 |
|
| 9 | Table parameters for each path: [<repeat_count>]
|
| 10 |
|
| 11 | ::
|
| 12 |
|
| 13 | <repeat_count>: The number of I/Os to dispatch using the selected
|
| 14 | path before switching to the next path.
|
| 15 | If not given, internal default is used. To check
|
| 16 | the default value, see the activated table.
|
| 17 |
|
| 18 | Status for each path: <status> <fail-count> <in-flight>
|
| 19 |
|
| 20 | ::
|
| 21 |
|
| 22 | <status>: 'A' if the path is active, 'F' if the path is failed.
|
| 23 | <fail-count>: The number of path failures.
|
| 24 | <in-flight>: The number of in-flight I/Os on the path.
|
| 25 |
|
| 26 |
|
| 27 | Algorithm
|
| 28 | =========
|
| 29 |
|
| 30 | dm-queue-length increments/decrements 'in-flight' when an I/O is
|
| 31 | dispatched/completed respectively.
|
| 32 | dm-queue-length selects a path with the minimum 'in-flight'.
|
| 33 |
|
| 34 |
|
| 35 | Examples
|
| 36 | ========
|
| 37 | In case that 2 paths (sda and sdb) are used with repeat_count == 128.
|
| 38 |
|
| 39 | ::
|
| 40 |
|
| 41 | # echo "0 10 multipath 0 0 1 1 queue-length 0 2 1 8:0 128 8:16 128" \
|
| 42 | dmsetup create test
|
| 43 | #
|
| 44 | # dmsetup table
|
| 45 | test: 0 10 multipath 0 0 1 1 queue-length 0 2 1 8:0 128 8:16 128
|
| 46 | #
|
| 47 | # dmsetup status
|
| 48 | test: 0 10 multipath 2 0 0 0 1 1 E 0 2 1 8:0 A 0 0 8:16 A 0 0
|