Red Hat Bugzilla – Bug 492817
Unable to set anticipatory as default IO scheduler for kernel parameters
Last modified: 2009-03-31 08:28:48 EDT
Created attachment 337187 [details]
Description of problem:
I'm trying to make an anticipatory as my default IO scheduler, but I have nothing when trying to add an option to the kernel boot parameters in the grub.conf. After reboot I see two message "I/O scheduler anticipatory not found" and finally "I/O scheduler anticipatory not found". But it's too late, my hard disk is already initialized and I have cfq as IO scheduler into /sys/block/sda/queue/scheduler
Version-Release number of selected component (if applicable):
Just add "elevator=anticipatory" the the kernel commandline in the /boot/grub/grub.conf
Steps to Reproduce:
1. Add "elevator=anticipatory" the the kernel commandline in the /boot/grub/grub.conf.
2. Reboot your computer.
3. Checkout the dmesg output or /sys/block/sda/queue/scheduler.
The cfq is IO current scheduler.
The current IO scheduler must be anticipatory.
Oops, I want to write "and finally ***"io scheduler anticipatory registered (default)"***. But it's too late"...
It looks like the anticipatory scheduler is built as a module, for some reason:
I'm not sure what the rationale is behind this. You can probably work around the problem by including this module in your initrd.
We can take one of two approaches, as I see it:
1) build in all of the I/O schedulers
2) change mkinitrd to always include the I/O schedulers
I don't see a big problem with doing 1 above, and neither does Dave Jones. So, expect this to be fixed in rawhide.
Thanks for the report!
> I don't see a big problem with doing 1 above, and neither does Dave Jones.
Yes, I think so. I dont like to change a kernel or modify an initrd because it can brake the system after update, but I still can change the scheduler via /sys interface from /etc/rc.d/rc.local.