[comp.os.minix] Ramdisk and minix..

Glen Lalonde <lalonde@torolab2.vnet.ibm.com> (04/13/91)

I noticed that on my system that i/o to the ramdisk is only twice as fast
as to my hard disk.  This seems at little slow, and I noticed that even
blocks on the ramdisk are cached which seems silly since the data is
in memory anyways. Also, keeping ramdisk blocks in the cache reduces
the amount of other non-ramdisks blocks you can keep in the
cache. Further, if you do not want to maintain a cache then you will
not need the two memory copies that happen per block. One is done in the
kernel and the other in FS. Removing the memory copy in fs along with
not having to do a cache search should help the performance of the ramdisk.
Such a change is not trivial since get_block/put_block is called from many
places in fs. I was thinking of forcing put_block to write to memory right
away when it gets a ramdisk block. Then setting it up so calls to get_block
in rw_chunk only would be removed, since most of the I/O goes through this
routine. Rather than calling from rw_chunk to the kernel with the address
of the block buffer you would give the final user address. Thus avoiding
a second memory copy. Anyone tried something like this already...???

I was thinking of doing this on a 68000 based machine, MacMinix.