BLK-MQ Support For OpenZFS Pending As Latest Performance Optimization

Tony Hutter opened up the pull request at the end of last week for blk-mq support. Utilizing blk-mq allows for queuing and submitting I/O requests to block devices simultaneously. With modern multi-core CPUs and speedy storage devices, BLK-MQ can lead to very real benefits.
This change for the Zvol block driver allows for multiple queues on different processor cores rather than having a single request queue, which in turn can provide dramatic improvements in multi-threaded I/O workloads. The benchmarks range from a 6% to 252% improvement. Some of the non-O_DIRECT tests show a rather large improvement but in general many of the tests show a 14~24% improvement in throughput.
More details for those interested in blk-mq support for the OpenZFS Zvol code can see the pull request for all of the details on this pending improvement.
6 Comments