logo
Published on KernelTrap (http://kerneltrap.org)

Modular IO Schedulers

By Jeremy
Created Nov 26 2007 - 17:23

Adrian Bunk posted a patch [1] to make Linux IO schedulers a non-modular option, which would require one IO scheduler to be selected at compile time. He suggested, "there isn't any big advantage and doesn't seem to be much usage of modular schedulers." He added that removing the option to make IO schedulers modular would save 2kB on each kernel image. Jens Axboe did not like the patch, "big nack, I use it all the time for testing. Just because you don't happen to use it is not a reason to remove it." When Adrian noted that no distros seemed to be making IO schedulers available as modules, Jens suggested that this was a mistake and quipped, "it's been a long time since I considered a distro .config a benchmark/guideline of any sort."

Adrian went on to ask for the technical reasons for continuing to support four different IO schedulers, expressing concern that it could lead to bugs in individual schedulers going unreported. Jens explained that he was aiming for the perfect IO scheduler, but at this time different IO schedulers offer better results for different workloads, "with some hard work and testing, we should be able to get rid of [the anticipatory scheduler]. It still beats cfq for some of the workloads that deadline is good at, so not quite yet." Arjan van de Ven offered, "there is at least one technical reason to need more than one: certain types of storage (both big EMC boxes as well as solid state disks) don't behave like disks and have no seek penalty; any cpu time spent on avoiding seeks is wasted on those, so for these devices one really wants to use a different IO scheduler, one which is much lighter weight". Jens then acknowledged, "there's always a risk with 'duplication', like several drivers for the same hardware. I'm not disputing that."


From: Jens Axboe <jens.axboe@...>
Subject: Re: [2.6 patch] make I/O schedulers non-modular
 [1]Date: Nov 25, 12:21 pm 2007

On Sun, Nov 25 2007, Adrian Bunk wrote:
> There isn't any big advantage and doesn't seem to be much usage of 
> modular schedulers.
> 
> OTOH, the overhead made the kernel image of an x86 defconfig (that 
> doesn't use modular schedulers) bigger by nearly 2 kB.

Big nack, I use it all the time for testing. Just because you don't
happen to use it is not a reason to remove it.

-- 
Jens Axboe

-

From: Adrian Bunk <bunk@...> Subject: Re: [2.6 patch] make I/O schedulers non-modular [1]Date: Nov 25, 12:31 pm 2007 On Sun, Nov 25, 2007 at 05:21:07PM +0100, Jens Axboe wrote: > On Sun, Nov 25 2007, Adrian Bunk wrote: > > There isn't any big advantage and doesn't seem to be much usage of > > modular schedulers. > > > > OTOH, the overhead made the kernel image of an x86 defconfig (that > > doesn't use modular schedulers) bigger by nearly 2 kB. > > Big nack, I use it all the time for testing. OK. > Just because you don't > happen to use it is not a reason to remove it. s/you/you and all distributions you checked/ > Jens Axboe cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -
From: Jens Axboe <jens.axboe@...> Subject: Re: [2.6 patch] make I/O schedulers non-modular [1]Date: Nov 25, 12:45 pm 2007 On Sun, Nov 25 2007, Adrian Bunk wrote: > On Sun, Nov 25, 2007 at 05:21:07PM +0100, Jens Axboe wrote: > > On Sun, Nov 25 2007, Adrian Bunk wrote: > > > There isn't any big advantage and doesn't seem to be much usage of > > > modular schedulers. > > > > > > OTOH, the overhead made the kernel image of an x86 defconfig (that > > > doesn't use modular schedulers) bigger by nearly 2 kB. > > > > Big nack, I use it all the time for testing. > > OK. > > > Just because you don't > > happen to use it is not a reason to remove it. > > s/you/you and all distributions you checked/ Well they should make them modules (two of them, that is). It's been a long time since I considered a distro .config a benchmark/guideline of any sort. -- Jens Axboe -
From: Adrian Bunk <bunk@...> Subject: Re: [2.6 patch] make I/O schedulers non-modular [1]Date: Nov 25, 12:56 pm 2007 On Sun, Nov 25, 2007 at 05:45:32PM +0100, Jens Axboe wrote: > On Sun, Nov 25 2007, Adrian Bunk wrote: > > On Sun, Nov 25, 2007 at 05:21:07PM +0100, Jens Axboe wrote: > > > On Sun, Nov 25 2007, Adrian Bunk wrote: > > > > There isn't any big advantage and doesn't seem to be much usage of > > > > modular schedulers. > > > > > > > > OTOH, the overhead made the kernel image of an x86 defconfig (that > > > > doesn't use modular schedulers) bigger by nearly 2 kB. > > > > > > Big nack, I use it all the time for testing. > > > > OK. > > > > > Just because you don't > > > happen to use it is not a reason to remove it. > > > > s/you/you and all distributions you checked/ > > Well they should make them modules (two of them, that is). >... Is there any technical reason why we need 4 different schedulers at all? I have the gut feeling that the usual thing happens and people e.g. not report some cfq problems because as works for them... > Jens Axboe cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -
From: Arjan van de Ven <arjan@...> Subject: Re: [2.6 patch] make I/O schedulers non-modular [1]Date: Nov 25, 7:27 pm 2007 On Sun, 25 Nov 2007 17:56:54 +0100 Adrian Bunk <bunk@kernel.org> wrote: > Is there any technical reason why we need 4 different schedulers at > all? > there is at least one technical reason to need more than one: certain types of storage (both big EMC boxes as well as solid state disks) don't behave like disks and have no seek penalty; any cpu time spent on avoiding seeks is wasted on those, so for these devices one really wants to use a different IO scheduler, one which is much lighter weight -


Related links:


Source URL:
http://kerneltrap.org/Linux/Modular_IO_Schedulers