Bug 492817 - Unable to set anticipatory as default IO scheduler for kernel parameters
Unable to set anticipatory as default IO scheduler for kernel parameters
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
rawhide
All Linux
low Severity low
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-03-29 20:40 EDT by Dmitriy Pomerantsev
Modified: 2009-03-31 08:28 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-03-31 08:28:48 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
dmesg log (32.83 KB, text/plain)
2009-03-29 20:40 EDT, Dmitriy Pomerantsev
no flags Details

  None (edit)
Description Dmitriy Pomerantsev 2009-03-29 20:40:13 EDT
Created attachment 337187 [details]
dmesg log

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):
kernel-2.6.29-16.fc11.i586

How reproducible:
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.
  
Actual results:
The cfq is IO current scheduler.

Expected results:
The current IO scheduler must be anticipatory.
Comment 1 Dmitriy Pomerantsev 2009-03-29 20:44:49 EDT
Oops, I want to write "and finally ***"io scheduler anticipatory registered (default)"***. But it's too late"...
Comment 2 Jeff Moyer 2009-03-30 15:26:32 EDT
It looks like the anticipatory scheduler is built as a module, for some reason:

CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=m
CONFIG_IOSCHED_DEADLINE=m
CONFIG_IOSCHED_CFQ=y

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!
Comment 3 Dmitriy Pomerantsev 2009-03-31 08:28:48 EDT
> 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.

Note You need to log in before you can comment on or make changes to this bug.