MQ-Deadline Scheduler Optimized For Much Better Scalability
Days after delivering a nice boost to Linux I/O performance, Linux storage expert Jens Axboe has tackled another storage-related bottleneck within the kernel.
Poor scalability out of the multi-queue deadline I/O scheduler (mq-deadline) has long been known but Axboe has stepped up to address this poor spot for Linux.
Jens Axboe has overcome the significant locking contention within MQ-Deadline by serializing the dispatch of requests and serializing the request insertion. As a result he's seeing much lower locking contention on both a null block device and an NVMe drive with many hardware queues. With his patches he's seeing up to a 106~112% improvement over the current MQ-Deadline performance.
The work was posted yesterday as a "request for comments" for kernel developers. Those using the MQ-Deadline I/O scheduler and wanting to learn more or test out the two patches can see this linux-block thread for the details.
Poor scalability out of the multi-queue deadline I/O scheduler (mq-deadline) has long been known but Axboe has stepped up to address this poor spot for Linux.
Jens Axboe has overcome the significant locking contention within MQ-Deadline by serializing the dispatch of requests and serializing the request insertion. As a result he's seeing much lower locking contention on both a null block device and an NVMe drive with many hardware queues. With his patches he's seeing up to a 106~112% improvement over the current MQ-Deadline performance.
The work was posted yesterday as a "request for comments" for kernel developers. Those using the MQ-Deadline I/O scheduler and wanting to learn more or test out the two patches can see this linux-block thread for the details.
16 Comments