Also, the "udevadm test /sys/block/sda" shows that the rule was loaded.
Issue resolved, thank you VERY much for the help guys!
]]>% cat /etc/udev/rules.d/60-scheduler.rules
# Set deadline scheduler for non-rotational disks
ACTION=="add|change", KERNEL=="sd[a-z]", TEST!="queue/rotational", ATTR{queue/scheduler}="deadline"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
Edit: When you run udevadm test /sys/block/sda does it tell you that it is applying the rule? Mine outputs this:
# udevadm test /sys/block/sda
...whole bunch of shit...
ATTR '/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler' writing 'deadline' /etc/udev/rules.d/60-schedulers.rules:3
...whole bunch more shit...
# mkinitcpio -p linux
but that didn't resolve the problem. My rootfs is on the SSD and my /home is on a 2TB regular HDD if that helps. Basically trying to set the SSD to deadline at boot while leaving the regular HDD set to cfq.
Also, my SSD with root (/dev/sda) is displaying "0" and my HDD (/dev/sdb) is showing "1"
]]># mkinitcpio -p linux
I'm not sure if this should be necessary, but could be if your rootfs is on the ssd
]]>First off, I created a new rules file....
vi /etc/udev/rules.d/60-schedulers.rules
Then I added..
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
Saved the file, rebooted, then checked the scheduler with....
cat /sys/block/sdX/queue/scheduler
but it is still showing the default cfg, so I have to change it manually each time after boot.
Anyone know what the issue is here? Has something changed recently or am I doing something wrong? Any help would be greatly appreciated!
]]>