Я пытаюсь установить другие правила в UDEV, чтобы изменить планировщик в зависимости от типа вставленного USB-носителя. Для обычных флеш-накопителей планировщик должен быть NOOP, но для моего USB-жесткого диска с фактическим вращающимся жестким диском внутри он должен быть установлен на BFQ.
Однако это всегда не удается, потому что каждое запоминающее устройство USB получает атрибут ROTATIONAL = 1 в UDEV, поэтому выбор на этом основании невозможен.
Итак, это не работает:
# set scheduler for USB flash disks
ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{removable}=="1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none"
# set scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
Есть предложения?
Я использую Ubuntu 19.10
Исправлено путем назначения BFQ планировщиком по умолчанию и определения правил для нестандартных носителей, поэтому только вращающиеся носители теперь используют настройку по умолчанию.
# set scheduler for NVMe
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
# set scheduler for SSD and eMMC
ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{removable}=="0", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none"
# set scheduler for USB flash disks
ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{removable}=="1", ATTR{queue/scheduler}="none"