overlapping requests and reordering

Dario_Ballabio (Dario_Ballabio@milano.europe.dg.com)
Sun, 5 Apr 1998 23:19:39 +0200


I've been concerned by the overlap problem since I wrote the
elevator sorting for the eata driver. The reorder logic in
the eata driver checks if there is an overlap and if this
is the case, it reestablishes strict pid order. This is a
sort of Pilato's like decision: if there is a doubt that
reordering could have any side effect, I keep the ordering
coming from the upper layers.
So the problem is not in the low level driver. Moreover the
memory corruption disappears if I set the number of commands
queued to the driver to the minumum value of 2.
The disk can be allowed to reorder commands when simple_queue_tags
are used, while strict order could be imposed by using
ordered_queue_tags. Most scsi drivers has no control over
the type of queue tagging.
I belive that the low level scsi driver and/or the disk
should be allowed to reorder among the command buffered at
the board level, so the upper layers should avoid to queue
overlapping requests in the window of commands buffered to
the low level drivers.

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