• Martin Dalecki's avatar
    [PATCH] 2.5.11 IDE 47 · f7520fcf
    Martin Dalecki authored
    - Rewrite choose_drive() to iterate explicitely over the channels and devices
        on them. It is not performance critical to iterate over this typically quite
        small array of disks and allows us to let them act on the natural entity,
        namely the channel as well as to remove the drive->next field from struct
        ata_device.  Make the device eviction code in ide_do_request() more
        intelliglible.  Add some comments explaining the reasoning behind the code
        there.
    
    - Now finally since the code for choosing the drive which will be serviced next
        is intelliglibly it became obvious that the attempt to choose the next drive
        based on the duration of the last request was entierly bogous. (Because for
        example wakeups can take a long time, but this doesn't indicate that the
        drive is slow.) Remove this criterium and the corresponding accounting
        therefore. Threat all drives fairly right now.
    
    Surprise surprise the overall system throughput increased :-).
    f7520fcf
ide.c 98.9 KB