Patent ID: 8510438

Claim:
A method for measuring latencies caused by processing performed within a common resource rather than due to an amount of work transmitted to the common resource by a computer system, the method comprising: receiving a current latency value from a device coupled to the computer system, wherein (i) the device comprises a queue that maintains entries for IO requests from the computer system that have already been dispatched to and are pending at the common resource, and (ii) the current latency value represents a time of residency of an IO request in the queue prior to receipt of an acknowledgment from the common resource of a completion of processing the IO request; calculating an average latency value, the average latency value being based at least in part on the current latency value; calculating an adjusted capacity size for the queue, the adjusted capacity size being based at least in part on the average latency value; setting the capacity of the queue to the adjusted capacity size; and holding IO requests in a buffer if the capacity of the queue is full in order to reduce an effect of an amount of work transmitted to the common resource by the computer system on current latency values provided by the device.