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