[PATCH] 2.5.11 IDE 47
authorMartin Dalecki <dalecki@evision-ventures.com>
Tue, 30 Apr 2002 06:59:01 +0000 (23:59 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Tue, 30 Apr 2002 06:59:01 +0000 (23:59 -0700)
commitf7520fcfedc233a305857c9635d5d901a4d96e0d
tree0dbb9297da1a09da6b4babe6af7324b2c68edd29
parent4a58bd1a7d1264dd2c6e40cf5a16c64d9dfba2d3
[PATCH] 2.5.11 IDE 47

- 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 :-).
drivers/ide/ide-probe.c
drivers/ide/ide.c
include/linux/ide.h