Re: [Patch] Cleanup struct gendisk registration, 2.3.40-pre1

From: Andrea Arcangeli (andrea@suse.de)
Date: Mon Jan 17 2000 - 09:05:28 EST


On Mon, 17 Jan 2000, Helge Hafting wrote:

>> The only point of delaying flushes to disk is to merge two writes into one
>> single flush. This applyes even more strongly to floppies that are very
>> slow to write data. The slower the disk is, the more delay you want to
>> have between the flushes.
>>
>I am not sure about this. Consider this scenario:
>
>Program writes something to floppy, the floppy starts writing
>immediately
>instead of waiting for more data to merge into a bigger write.

That's not true. The first write will stay locked in the ll_rw_block layer
until you'll go out of requests (and once you'll go out of requests you'll
have just merged the other writes into one single request). Only reads
have difficulty to merge into one single request and we try to help reads
with readahead but they are indeed very penalized and that's why your
machine stall while running `cp /dev/zero/ /tmp`. Fixing read/write
unbalance is necessary indeed but that's a completly orthogonal issue.

Returning on the topic: the point about the not-delayed-writes is that if
you start flushing immediatly and then you'll overwrite a file you'll have
to do the double of I/O and wait the double of time before unmount will
succeed.

Basically that's the reason you may prefer to create the floppy image
with a ramdisk, and then to copy the image on disk with cp /dev/ramdisk
/dev/fd0. On a ramdisk you have an infinity flushtime.

The less flushtime delay you'll have, the less you'll want to use a
floppy.

Andrea

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



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