Add an artificial delay to IO requests on a particular device, such that the requests take a minimum of 'latency' milliseconds to complete. Each delay has an associated number of 'lanes' which defines the number of concurrent IO requests that can be processed.
For example, with a single lane delay of 10 ms (-D 10:1), the device will only be able to service a single IO request at a time with each request taking 10 ms to complete. So, if only a single request is submitted every 10 ms, the average latency will be 10 ms; but if more than one request is submitted every 10 ms, the average latency will be more than 10 ms.
Similarly, if a delay of 10 ms is specified to have two lanes (-D 10:2), then the device will be able to service two requests at a time, each with a minimum latency of 10 ms. So, if two requests are submitted every 10 ms, then the average latency will be 10 ms; but if more than two requests are submitted every 10 ms, the average latency will be more than 10 ms.
Also note, these delays are additive. So two invocations of '-D 10:1', is roughly equivalent to a single invocation of '-D 10:2'. This also means, one can specify multiple lanes with differing target latencies. For example, an invocation of '-D 10:1' followed by '-D 25:2' will create 3 lanes on the device; one lane with a latency of 10 ms and two lanes with a 25 ms latency.