cachyos has announced that they will start using kyber as the default io scheduler for nvme.
That made me dig into this topic a little deeper. I always used io scheduler “none” for nvme or ssd. But it looks like that kyber has some benefits for fast nvme. I found this interesting article:
In the conclusion they say:
"In this paper, we investigate if the Linux I/O schedulers fit modern
NVMe SSDs. Our results show that BFQ and MQ-Deadline have
significantly high CPU overhead and scalability issues caused by
locking. Thus, we suggest that BFQ and MQ-Deadline should not
be used with these SSDs. Kyber has lower CPU overhead than BFQ
and MQ-Deadline with near-linear scalability and thus is the best fit
of these SSDs. However, the parameters of Kyber need to be tuned
carefully or Kyber harms the performance."
I am not yet clear which kyber parameters they are talking about, but I have decided to give it a try.
I am just throwing this out here for anybody who is interested.
It’s a little bit of a joke right now. Cachy does good things, don’t get me wrong, but honestly, on some aspects of their performance seeking journey they miss the goal and act … silly.
I am not so sure if they are missing the goal here. From what I have read so far kyber is a very good - probably the best - low latency io scheduler for nvme devices.
The liquorix kernel is doing the same by the way:
"Optimized Disk I/O: Uses Kyber for multiqueue devices and BFQ for single queue devices, providing best responsiveness under high IO."