NVME Enable BFQ Scheduler at boot?

Hi , I have read an article at Phoronix about BFQ Scheduler low latency performing very well
https://www.phoronix.com/scan.php?page=article&item=linux-420-io&num=1

So I wanted to give it a try

echo bfq > /sys/block/nvme0n1/queue/scheduler
cat /sys/block/sda/queue/iosched/low_latency
1

so it seems that Manjaro has this low latency scheduler enabled...

I have tried to set this at boot but without amy success :frowning:

I have tried kernel parameters , scheduler-rules etc but no luck, It always defaults to none scheduler

Any tips?

I use a udev rule to set a nvme scheduler at boot:
cat /etc/udev/rules.d/60-schedulers.rules

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
# set bfq scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
# set mq-deadline scheduler for non-rotating nvme-disks
ACTION=="add|change", KERNEL=="nvme[0-9]n1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"

it sets the mq-deadline scheduler just fine. Without the udev rule, my system also uses the default "none" for nvme.

you set bfq on nvme, but check low latency on sda - maybe there is your problem?

5 Likes

Thanks! :smiley:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by