Brian Pomerantz writes:
> Is there a way to tell ext2 to use a larger block size than 4KB
> without major overhauls to the source code? I would like to at least
> be able to use an 8KB block size to match the size of the pages on the
> Alpha. I was hoping to match the stripe size of my RAID 5 system to
> avoid any read-modify-write situations when writing to the RAID
> device. The smallest stripe size I can make is 8KB, which may give me
> a decent performance if I have an 8KB block size.
The ext2 block size is, indeed, tied to the page size so that is why it
has a 4K limit. While I think much of the code could accept an 8k block
size, you would have to go through it with a fine-tooth comb to make sure
you test everything. Ted would know for sure...
> Also, I saw (and used) the "-R stride=" option to align the stride *
> block-size with my RAID stripe. What exactly does this option buy me?
> Will the file system layer wait to write the blocks until it has gotten
> the whole of stride * block-size in in-memory data? The only way to
> get the maximum write performance out of a RAID 5 setup is to make
> sure you are not getting into a read-modify-write situation. Latency
> isn't necessarily an issue for me, just raw write performance.
The stride option places the inode and block bitmaps so that successive
block groups' bitmaps are on a different RAID stripes. I suppose this
might improve disk I/O performance, as the bitmaps are the most heavily
used blocks on the disk. However, the cache should prevent most of the
I/O in the first place...
Cheers, Andreas
--
Andreas Dilger \ "If a man ate a pound of pasta and a pound of antipasto,
\ would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/ -- Dogbert