Messages in this thread | | | Date | Sun, 9 Apr 2006 12:55:47 -0400 | From | "Vishal Patil" <> | Subject | Re: CSCAN I/O scheduler for 2.6.10 kernel |
| |
I am attaching the CSCAN scheduler patch for 2.6.16.2 kernel.
- Vishal
On 4/5/06, Vishal Patil <vishpat@gmail.com> 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 <windenntw@gmail.com> wrote: > > On 4/4/06, Vishal Patil <vishpat@gmail.com> 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 <davidsen@tmr.com> 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/ > > windNOenSPAMntw@gmail.com > > thesameasabove@amigascne.org > > > > 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. [unhandled content-type:application/octet-stream] | |