Disk benchmark (long)

Conor P. Cahill cpcahil at virtech.uucp
Tue Oct 16 09:35:17 AEST 1990


In article <1990Oct15.091904.5439 at jdyx.UUCP> shawn at jdyx.UUCP (Shawn Hayes) writes:
>    I've tried modifying the benchmark to write/read from the raw-disk      
>interface, but I had some problems with it.  I kept getting phys-io errors
>in my tests.  If you've got a sample of code that handles raw-disk io I'd be

I didn't look at the benchmark that you posted, but to read/write from a
raw device all you need to do is write the data in whole blocks to whole
block boundaries.  For most systems the block size is 512.  For some (like
a gould powernode) it is 1K.  If you always write it in multiples of 1K
you satisfy both systems.

There is also an upper limit for the size of a single i/o on the raw deivce
on some systems (Perkin-Elmer has a limit of around 400K).

The part about "write to whole block boundries" means that a given write
must begin at the start of a disk block.  You cant do the following:

	lseek(fd,5,0);
	write(fd,block,blocksize);

Unless, of course, the block size for that device is 5.


-- 
Conor P. Cahill            (703)430-9247        Virtual Technologies, Inc.,
uunet!virtech!cpcahil                           46030 Manekin Plaza, Suite 160
                                                Sterling, VA 22170 



More information about the Comp.unix.sysv386 mailing list