On 3/21/24 15:48, Christoph Hellwig wrote:
On Thu, Mar 21, 2024 at 03:46:05PM -0700, Bart Van Assche wrote:
There is an algorithm in the block layer for maintaining fairness
across queues that share a tag set. The sbitmap implementation has
improved so much that we don't need the block layer fairness algorithm
anymore and that we can rely on the sbitmap implementation to guarantee
fairness.
IFF that was true it would be awesome. But do you have proof for that
assertation?
Hi Christoph,
Is the test in this pull request sufficient as evidence that we don't
need the request queue fairness code anymore:
https://github.com/osandov/blktests/pull/135?
That test does the following:
* Create two request queues with a shared tag set and with different
completion times (1 ms and 100 ms).
* Submit I/O to both request queues simultaneously and set the queue
depth for both tests to the number of tags. This creates contention
on tag allocation.
* After I/O finished, check that the fio job with the shortest
completion time submitted the most requests.
Thanks,
Bart.