Back to home page

OSCL-LXR

 
 

    


0001 ===============
0002 dm-queue-length
0003 ===============
0004 
0005 dm-queue-length is a path selector module for device-mapper targets,
0006 which selects a path with the least number of in-flight I/Os.
0007 The path selector name is 'queue-length'.
0008 
0009 Table parameters for each path: [<repeat_count>]
0010 
0011 ::
0012 
0013         <repeat_count>: The number of I/Os to dispatch using the selected
0014                         path before switching to the next path.
0015                         If not given, internal default is used. To check
0016                         the default value, see the activated table.
0017 
0018 Status for each path: <status> <fail-count> <in-flight>
0019 
0020 ::
0021 
0022         <status>: 'A' if the path is active, 'F' if the path is failed.
0023         <fail-count>: The number of path failures.
0024         <in-flight>: The number of in-flight I/Os on the path.
0025 
0026 
0027 Algorithm
0028 =========
0029 
0030 dm-queue-length increments/decrements 'in-flight' when an I/O is
0031 dispatched/completed respectively.
0032 dm-queue-length selects a path with the minimum 'in-flight'.
0033 
0034 
0035 Examples
0036 ========
0037 In case that 2 paths (sda and sdb) are used with repeat_count == 128.
0038 
0039 ::
0040 
0041   # echo "0 10 multipath 0 0 1 1 queue-length 0 2 1 8:0 128 8:16 128" \
0042     dmsetup create test
0043   #
0044   # dmsetup table
0045   test: 0 10 multipath 0 0 1 1 queue-length 0 2 1 8:0 128 8:16 128
0046   #
0047   # dmsetup status
0048   test: 0 10 multipath 2 0 0 0 1 1 E 0 2 1 8:0 A 0 0 8:16 A 0 0