lkml.org 
[lkml]   [1998]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Patch for block write clustering
    Rik,

    > On Wed, 4 Mar 1998, Gadi Oxman wrote:
    >
    > > Rik, note that IDE devices are not using a single request queue!
    >
    > > In general, each major has its own request queue (IDE is using
    > > a different major for each interface). In 2.1.x, each IDE drive
    > > has its own request queue, even if it shares an interface with
    > > another drive.
    >
    > Does this mean that, IDE too, doesn't use the systemwide
    > request queue anymore?
    > How are the IDE requests reordered? (disk combing etc).
    > Then, who _is_ still using the systemwide request queue,
    > and what partition schemes are used on those disks.
    >
    > Rik.

    I think that Linux never used a systemwide request queue. We have a shared
    systemwide "free requests" pool, but each major has its own request queue.

    All block devices are using the code in drivers/block/ll_rw_blk.c to
    sort their request queue. The code supports several queues per major
    by the function get_queue(), which accepts a kdev_t and returns a pointer
    to the head of the queue. Usually, a single queue is returned for each
    major.

    The IDE driver is using a queue for each drive, but we can potentially
    use more queues; for example, if hda2 is an extended partition which is
    expanded to <hda5 hda6> and hda3 is a primary partition which is physically
    after hda2, the current sort code will reorder requests to hda3 before
    requests to hda5 and hda6, which will be sub-optimal if the partitions
    are accessed simultaneously.

    In the SCSI case, we currently have a single "SCSI disks" queue which is
    visible to ll_rw_blk.c, but the requests do not live there for their entire
    lifespan as it is the case for the IDE driver -- the SCSI subsystem is
    quickly taking the requests from that queue and re-queueing them to
    internal per-host and per-drive queues.

    Gadi

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu

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