2005-11-02 00:28:01

by Marcel Holtmann

[permalink] [raw]
Subject: Problem with the default IOSCHED

Hi guys,

by accident I selected the anticipatory IO scheduler as default in my
kernel config, but only the CFQ was built in. The anticipatory and
deadline were only available as modules. This caused an oops at boot.
After selecting CFQ as default schedule and a recompile and reboot
everything was fine again.

Regards

Marcel



2005-11-02 00:32:12

by Randy Dunlap

[permalink] [raw]
Subject: Re: Problem with the default IOSCHED

On Wed, 2 Nov 2005, Marcel Holtmann wrote:

> Hi guys,
>
> by accident I selected the anticipatory IO scheduler as default in my
> kernel config, but only the CFQ was built in. The anticipatory and
> deadline were only available as modules. This caused an oops at boot.
> After selecting CFQ as default schedule and a recompile and reboot
> everything was fine again.

What kernel version? There are already some patches
in 2.6.14-gitN for this kind of problem.
Have you tried the -git updates?

--
~Randy

2005-11-02 00:50:38

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Problem with the default IOSCHED

Hi Randy,

> > by accident I selected the anticipatory IO scheduler as default in my
> > kernel config, but only the CFQ was built in. The anticipatory and
> > deadline were only available as modules. This caused an oops at boot.
> > After selecting CFQ as default schedule and a recompile and reboot
> > everything was fine again.
>
> What kernel version? There are already some patches
> in 2.6.14-gitN for this kind of problem.
> Have you tried the -git updates?

sorry, I forgot to mention that. It is the latest vanilla you can get.

Regards

Marcel


2005-11-02 11:55:44

by Jens Axboe

[permalink] [raw]
Subject: Re: Problem with the default IOSCHED

On Wed, Nov 02 2005, Marcel Holtmann wrote:
> Hi guys,
>
> by accident I selected the anticipatory IO scheduler as default in my
> kernel config, but only the CFQ was built in. The anticipatory and
> deadline were only available as modules. This caused an oops at boot.
> After selecting CFQ as default schedule and a recompile and reboot
> everything was fine again.

Hmm yes, that looks like a bug introduced with the io scheduler
selection reorg. There's really no support in place for requesting this
module out of initrd, I'd rather just make your selection illegal. Does
this work for you?

diff --git a/drivers/block/Kconfig.iosched b/drivers/block/Kconfig.iosched
index 5b90d2f..f3b7753 100644
--- a/drivers/block/Kconfig.iosched
+++ b/drivers/block/Kconfig.iosched
@@ -46,13 +46,13 @@ choice
block devices.

config DEFAULT_AS
- bool "Anticipatory" if IOSCHED_AS
+ bool "Anticipatory" if IOSCHED_AS=y

config DEFAULT_DEADLINE
- bool "Deadline" if IOSCHED_DEADLINE
+ bool "Deadline" if IOSCHED_DEADLINE=y

config DEFAULT_CFQ
- bool "CFQ" if IOSCHED_CFQ
+ bool "CFQ" if IOSCHED_CFQ=y

config DEFAULT_NOOP
bool "No-op"

--
Jens Axboe

2005-11-06 18:57:41

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Problem with the default IOSCHED

Hi Jens,

> > by accident I selected the anticipatory IO scheduler as default in my
> > kernel config, but only the CFQ was built in. The anticipatory and
> > deadline were only available as modules. This caused an oops at boot.
> > After selecting CFQ as default schedule and a recompile and reboot
> > everything was fine again.
>
> Hmm yes, that looks like a bug introduced with the io scheduler
> selection reorg. There's really no support in place for requesting this
> module out of initrd, I'd rather just make your selection illegal. Does
> this work for you?

the patch looks good and please get this out to Linus, because I just
made the same mistake on another machine.

Regards

Marcel