Sugeruję użycie udev do ustawienia parametrów dysków SSD. W ten sposób możesz skonfigurować określony harmonogram kolejki, który jest bardziej odpowiedni dla SSD itp. Możesz także zastosować parametry tylko do niektórych urządzeń, w oparciu o wiele parametrów.
Możesz uzyskać określone atrybuty niezbędne do dopasowania urządzeń (np. Model dysku i producenta), wykonując:
udevadm info -a -p /sys/block/sda
i sprawdzanie wszystkich par ATTR dla urządzenia blokowego.
Kolejną korzyścią jest możliwość ustawienia parametrów dysków wtykowych (np. W obudowach lub wnękach hotswap), a ustawienie zostanie zastosowane do wszystkich nowych urządzeń, pod warunkiem, że parametry urządzenia są zgodne.
Oto przykład zastosowania konkretnego harmonogramu dla dysków SSD Intel, pożądanej wartości głowicy readahead (4096 bloków = 2048 kb), a także zastosowania innego harmonogramu dla wszystkich innych dysków SSD:
cat /etc/udev/rules.d/99-ssd.rules
# http://unix.stackexchange.com/a/71409/36574
# Setting specific kernel parameters for a subset of block devices (Intel SSDs)
SUBSYSTEM=="block", ATTRS{model}=="Intel SSDSC*", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{bdi/read_ahead_kb}="2048", ATTR{queue/scheduler}="deadline"
# for all other non-rotational block devices set a scheduler to 'noop' and readahead to 1024KB
SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{bdi/read_ahead_kb}="1024", ATTR{queue/scheduler}="noop"
Po zapisaniu pliku możesz sprawdzić, czy reguła będzie pasować do urządzenia i co udev zrobi za pomocą udevadm:
udevadm test --action=add /sys/block/sda
Spowoduje to wydrukowanie wszystkich reguł, które ładuje udev, co pasuje, co nie pasuje i jakie decyzje podejmą udev po podłączeniu urządzenia.
Mam nadzieję że to pomoże.