I am attaching the CSCAN scheduler patch for 2.6.16.2 kernel. - Vishal On 4/5/06, Vishal Patil <[email protected]> wrote: > The two queues are used for sorting purposes ONLY. There is the > dispatch queue to which the requests are moved from one of the queues > and the request is processes of the dispatch queue. > > Example: > > Current request = 40 > Q1 = 55 58 67 72 > Q2 = 10 23 38 > > Assuming no other request arrives, these will be pushed on the > dispatch queue in the following order > 55 58 67 72 10 23 38 > > I hope this clears things up. > > Also I have found that the patch that I had submitted earlier has few > bugs in it. I am going to fix those and then submit a patch for 2.6.16 > Thanks. > > > - Vishal > > > > On 4/5/06, Antonio Vargas <[email protected]> wrote: > > On 4/4/06, Vishal Patil <[email protected]> wrote: > > > In that case it would be a normal elevator algorithm and that has a > > > possiblity of starving the requests at one end of the disk. > > > > > > - Vishal > > > > > > On 4/4/06, Bill Davidsen <[email protected]> wrote: > > > > Vishal Patil wrote: > > > > > Maintain two queues which will be sorted in ascending order using Red > > > > > Black Trees. When a disk request arrives and if the block number it > > > > > refers to is greater than the block number of the current request > > > > > being served add (merge) it to the first sorted queue or else add > > > > > (merge) it to the second sorted queue. Keep on servicing the requests > > > > > from the first request queue until it is empty after which switch over > > > > > to the second queue and now reverse the roles of the two queues. > > > > > Simple and Sweet. Many thanks for the awesome block I/O layer in the > > > > > 2.6 kernel. > > > > > > > > > Why both queues sorting in ascending order? I would think that one > > > > should be in descending order, which would reduce the seek distance > > > > between the last i/o on one queue and the first on the next. > > > > > > > > But, if there are two queues, one which is being processed and other > > which gets the new requests (and the corresponding queue switch when > > the current is empty), then there is no way to get starved when they > > are sorted in opposite order. > > > > > > -- > > Greetz, Antonio Vargas aka winden of network > > > > http://wind.codepixel.com/ > > [email protected] > > [email protected] > > > > Every day, every year > > you have to work > > you have to study > > you have to scene. > > > > > -- > Every passing minute is another chance to turn it all around. > -- Every passing minute is another chance to turn it all around.
Attachment:
cscan-2.6.16.2-patch
Description: Binary data
- Follow-Ups:
- Re: CSCAN I/O scheduler for 2.6.10 kernel
- From: Jan Engelhardt <[email protected]>
- Re: CSCAN I/O scheduler for 2.6.10 kernel
- References:
- Re: CSCAN I/O scheduler for 2.6.10 kernel
- From: Bill Davidsen <[email protected]>
- Re: CSCAN I/O scheduler for 2.6.10 kernel
- From: "Vishal Patil" <[email protected]>
- Re: CSCAN I/O scheduler for 2.6.10 kernel
- From: "Antonio Vargas" <[email protected]>
- Re: CSCAN I/O scheduler for 2.6.10 kernel
- From: "Vishal Patil" <[email protected]>
- Re: CSCAN I/O scheduler for 2.6.10 kernel
- Prev by Date: Re: Linux 2.6.17-rc1: /sbin/iptables does not find kernel netfilter
- Next by Date: Re: [2.6 patch] drivers/char/random.c: unexport secure_ipv6_port_ephemeral
- Previous by thread: Re: CSCAN I/O scheduler for 2.6.10 kernel
- Next by thread: Re: CSCAN I/O scheduler for 2.6.10 kernel
- Index(es):