Re: elevator code

From: Andrea Arcangeli (andrea@suse.de)
Date: Thu Sep 14 2000 - 09:00:31 EST


On Wed, 13 Sep 2000, Andi Kleen wrote:

>I guess it boils down to that the plugging (run_task(&tq_disc)) is overloaded
>in Linux. It does merging of requests which are the same anyways (=from the
>same operation in upper layers) and merging of requests that are unrelated.

&tq_disk doesn't merge anything. It only tells the driver to start eating
the requests in the queue. The driver will just blindy process them and if
they're big with many bh on them it will do scatter gather with lots of
I/O in one scsi command. If they're small, the driver will produce 4k/1k
sized scsi commands as worse (same for IDE).

At the moment the size of the requests that goes to the hardware enterely
depends upon the merging that we do when we call ll_rw_block.

Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:23 EST