From 0ff55a9698fb703feef6130cd6fdbd0dbd9a2f31 Mon Sep 17 00:00:00 2001 From: Nate Graham Date: Fri, 29 Aug 2025 07:50:16 -0600 Subject: [PATCH] Use BFQ I/O scheduler for spinning disks It offers much better latency in exchange for only a modest reduction in throughput, and only for some workflows. High latency being a defining negative characteristic of spinning disks, this seems like a worthwhile trade-off for us to make for desktop usage. This doesn't change the default I/O schedulers for flash-based storage, as the defaults seem sensibly chosen (`none` for NVMe SSDs and `mq-deadline` for everything else). Related to #258 --- mkosi.extra/usr/lib/udev/rules.d/60-ioschedulers.rules | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 mkosi.extra/usr/lib/udev/rules.d/60-ioschedulers.rules diff --git a/mkosi.extra/usr/lib/udev/rules.d/60-ioschedulers.rules b/mkosi.extra/usr/lib/udev/rules.d/60-ioschedulers.rules new file mode 100644 index 0000000..a74e191 --- /dev/null +++ b/mkosi.extra/usr/lib/udev/rules.d/60-ioschedulers.rules @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL +# SPDX-FileCopyrightText: none + +# Use BFQ I/O scheduler for spinning disks, as it offers much better latency in +# exchange for only a modest reduction in throughput, and only for some workflows +ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"