more writes fit in the disk's write cache?


On Tue, 5 Mar 2002, Zhihui Zhang wrote:

> 
> I am doing some raw I/O test on a seagate SCSI disk running FreeBSD 4.5.
> This situation is like this:
> 
>  +-----+----+----+----+----+----+----+----+----+----+---+------
>  |     |    |    |    |    |    |    |    |    |    |   | ....
>  +-----+----+----+----+----+----+----+----+----+----+---+------
> 
> Each block is of fixed size, say 8192 bytes. Now I have a user program
> writing each contiguously laid out block sequentially using /dev/daxxx
> interface. There are a lot of them, say 15000.  I write the blocks in two
> ways (the data used in writing are garbage):
> 
> (1) Write each block fully and sequentially, ie. 8192 bytes.
> 
> (2) I still write these blocks sequentially, but for each block I only
> write part of it.  Exactly how many bytes are written inside each block is
> determinted by a random number between 512 .. 8192 bytes (rounded up a
> to multiple of 512 bytes).
> 
> I find out the the performance of (2) is several times better than the
> performance of (1). Can anyone explain to me why this is the case?
> 
> Thanks for any suggestions or hints.
> 
> -Zhihui
> 
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-hackers" in the body of the message
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to