On Saturday, 2 May 2020 10:54:02 BST Dale wrote:Michael wrote:I'd be interested to know as a comparison if Nikos' and Dale's I/O unresponsiveness in swapping sees an improvement with the I/O scheduler for spinning drives set to bfq; e.g.: echo bfq > /sys/block/sda/queue/schedulerThis is its setting at the moment. root@fireball / # cat /sys/block/sda/queue/scheduler noop deadline [cfq] root@fireball / #Ahh, you must be on an older kernel? I'm on 5.4.28 here and these are the new kernel scheduler options: # # IO Schedulers # CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y CONFIG_IOSCHED_BFQ=y CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFQ_CGROUP_DEBUG is not set # end of IO Schedulers The BFQ scheduler has a number of tunable parameters via sysctl, like weight, latency and what not, but unless you're into running endless benchmark tests to tune your particular devices, I'd leave it to do its thing with default settings.
I know I can echo it in but where do I set that to that when booting?You can set a local script to switch from other schedulers - the default is mq-deadline - or you can disable the others in the kernel. I don't know if you can pass an option to the kernel line at boot time. I understand this is more effective with slow(er) spinning drives and perhaps old SSDs. NVMe drives won't benefit from it and are better run with the default mq-deadline scheduler.
# cat /etc/sysconfig/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet elevator=cfq" GRUB_DISABLE_RECOVERY="true" It's the 2nd line from the bottom. It may be configurable in menuconfig too. I dunno know yet. I'll try to look. Must make note to upgrade kernel. Batteries will be here Monday. Thanks much. It's on my todo list. Dale :-) :-)