Linux elevators (Re: BFQ: simple elevator)

2013-03-20 Thread Arlie Stephens
The ongoing thread reminds me of a simple question I've had since I
first read about linux' mutiple I/O schedulers. Why is the choice of
I/O scheduler global to the whole kernel, rather than per-device or
similar? 

Consider a system with both traditional rotating disks and SSDs - not
at all far fetched. An appropriate I/O scheduling algorithm for
rotating disks is likely to do a lot of work that's useless for
SSDs. Why require that the same algorithms be used for both? 

--
Arlie

(Arlie Stephens ar...@worldash.org)


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Linux elevators (Re: BFQ: simple elevator)

2013-03-20 Thread Valdis . Kletnieks
On Wed, 20 Mar 2013 16:05:09 -0700, Arlie Stephens said:
> The ongoing thread reminds me of a simple question I've had since I
> first read about linux' mutiple I/O schedulers. Why is the choice of
> I/O scheduler global to the whole kernel, rather than per-device or
> similar?

They aren't global to the kernel.

On my laptop:

# find /sys/devices/pci* -name 'scheduler' | xargs grep .
/sys/devices/pci:00/:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler:noop
 deadline [cfq]
/sys/devices/pci:00/:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0/queue/scheduler:noop
 deadline [cfq]
# echo noop >| 
/sys/devices/pci:00/:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0/queue/schedule
# find /sys/devices/pci* -name 'scheduler' | xargs grep .
/sys/devices/pci:00/:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler:noop
 deadline [cfq]
/sys/devices/pci:00/:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0/queue/scheduler:[noop]
 deadline cfq

I just changed the scheduler for the CD-ROM.




pgp0_KZpObd65.pgp
Description: PGP signature
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Linux elevators (Re: BFQ: simple elevator)

2013-03-20 Thread Arlie Stephens
On Mar 20 2013, valdis.kletni...@vt.edu wrote:
> On Wed, 20 Mar 2013 16:05:09 -0700, Arlie Stephens said:
> > The ongoing thread reminds me of a simple question I've had since I
> > first read about linux' mutiple I/O schedulers. Why is the choice of
> > I/O scheduler global to the whole kernel, rather than per-device or
> > similar?
> 
> They aren't global to the kernel.

Thanks for the correction. It appears I got wrong (outdated?)
information from some book on kernel development, or perhaps simply
misunderstood what I read. 

When I tried the example you gave, I saw the same thing, even on
the older kernels I'm working with (2.6.32 in particular). 


> 
> On my laptop:
> 
> # find /sys/devices/pci* -name 'scheduler' | xargs grep .
> /sys/devices/pci:00/:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler:noop
>  deadline [cfq]
> /sys/devices/pci:00/:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0/queue/scheduler:noop
>  deadline [cfq]
> # echo noop >| 
> /sys/devices/pci:00/:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0/queue/schedule
> # find /sys/devices/pci* -name 'scheduler' | xargs grep .
> /sys/devices/pci:00/:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler:noop
>  deadline [cfq]
> /sys/devices/pci:00/:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0/queue/scheduler:[noop]
>  deadline cfq
> 
> I just changed the scheduler for the CD-ROM.

--
Arlie

(Arlie Stephens  ar...@worldash.org)

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Linux elevators (Re: BFQ: simple elevator)

2013-03-20 Thread Raymond Jennings
On Wed, Mar 20, 2013 at 4:45 PM, Arlie Stephens  wrote:
> On Mar 20 2013, valdis.kletni...@vt.edu wrote:
>> On Wed, 20 Mar 2013 16:05:09 -0700, Arlie Stephens said:
>> > The ongoing thread reminds me of a simple question I've had since I
>> > first read about linux' mutiple I/O schedulers. Why is the choice of
>> > I/O scheduler global to the whole kernel, rather than per-device or
>> > similar?
>>
>> They aren't global to the kernel.
>
> Thanks for the correction. It appears I got wrong (outdated?)
> information from some book on kernel development, or perhaps simply
> misunderstood what I read.

Yeah, the "global" thing is just the system default.

It's what newly created or discovered block devices will be assigned initially.

> When I tried the example you gave, I saw the same thing, even on
> the older kernels I'm working with (2.6.32 in particular).
>
>
>>
>> On my laptop:
>>
>> # find /sys/devices/pci* -name 'scheduler' | xargs grep .
>> /sys/devices/pci:00/:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler:noop
>>  deadline [cfq]
>> /sys/devices/pci:00/:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0/queue/scheduler:noop
>>  deadline [cfq]
>> # echo noop >| 
>> /sys/devices/pci:00/:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0/queue/schedule
>> # find /sys/devices/pci* -name 'scheduler' | xargs grep .
>> /sys/devices/pci:00/:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler:noop
>>  deadline [cfq]
>> /sys/devices/pci:00/:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0/queue/scheduler:[noop]
>>  deadline cfq
>>
>> I just changed the scheduler for the CD-ROM.
>
> --
> Arlie
>
> (Arlie Stephens  ar...@worldash.org)
>
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies