On Fri, 24 Jan 2003 21:04:34 +0100, Jens Axboe said:
> Nicks comment refers to the block layer situation, we obviously cannot
> merge reads and writes there. You would basically have to rewrite the
> entire request submission structure and break all drivers. And for zero
> benefit. Face it, it would be stupid to even attempt such a manuever.
As I *said* - "hairy beyond benefit", not "cant".
> Since you bring it up, you must know if a device which can take a single
> command that says "read blocks a to b, and write blocks x to z"? Even
> such thing existed,
They do exist.
IBM mainframe disks (the 3330/50/80 series) are able to do much more than that
in one CCW chain So it was *quite* possible to even express things like "Go to
this cylinder/track, search for each record that has value XYZ in the 'key'
field, and if found, write value ABC in the data field". (In fact, the DASD I/O
opcodes for CCW chains are Turing-complete).
> it would be much better implemented by the driver
> as pulling more requests of the queue and constructing these weirdo
The only operating system I'm aware of that actually uses that stuff is MVS.
> So I quite agree with the "obviously".
My complaint was the confusion of "obviously cant" with "we have decided we
don't want to".
/Valdis
This archive was generated by hypermail 2b29 : Fri Jan 31 2003 - 22:00:13 EST