RayDude wrote:The system boots off an NVME, but has a RAID6 arrary. To optimize the kernel for both the NVME and the RAID6 array it's best for me to use a deadline I/O scheduler. deadline doesn't slow the NVME much, but it improves the performance of the HD ARRAY.
You can use different schedulers on different devices if you like.
Put a line like this into /etc/udev/rules.d/10-ioscheduler.rules:
Code: Select all
ACTION=="add|change", KERNEL=="nvme*", ATTR{queue/scheduler}="none"
and the system should automatically use the noop scheduler for all NVMe devices and whatever you select as the default scheduler (e.g. deadline) for all other devices.
You can check which is being used for each device with something like:
Code: Select all
cat /sys/block/nvme0n1/queue/scheduler
substituting the device name as appropriate. It will show a list of available schedulers with the selected one bracketed.
(If you want to try out different schedulers, you can also echo the name of a scheduler that is available in your kernel to the file to change it on the fly.)
Hope this helps,
Stephen