lkml.org 
[lkml]   [1999]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: disk head scheduling
On Sun, 21 Mar 1999, Linus Torvalds wrote:

> These days people are so used to "major number indexes the request queue",
> that people don't even realize that it wasn't meant to be taken that way.
> For devices with multiple request queues for the same major number there
> should simply be a mapping function or something simple like that. But
> nobody has ever gotten quite interested enough to clean this up, and
> instead we've just added more and more special cases to ll_rw_block.c.
>
> Oh, well..
>
> Linus

We actually *do* have this mapping function in ll_rw_block.c, we added
it in the early 2.1.x kernels for the IDE driver. It is the per-major
queue() function, which takes a kdev_t and returns a pointer to a per
device queue. It is just that if this function is NULL, we fallback to
the previous "one request queue per major" behavior.

The IDE driver is using the mapping function to maintain two queues per
major which are shared with the ll_rw_block.c layer, one for each drive
which share the same interface. This allows us to schedule the IDE interface
between the two drives much more efficient, and as opposed to 2.0.x, one
slow disk drive can no longer starve the other drive which shares the
interface.

Gadi


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:0.125 / U:0.936 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site