tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Problem identified: WAPL/RAIDframe performance problems

On Wed, Nov 28, 2012 at 04:28:57PM -0500, Mouse wrote:
> >> Writing filesystem blocks won't help.
> >> RAIDframe needs writes as large as a stripe.
> > Nothing prevents one from making both quantities the same value
> That's not always true.  For example, I think filesystem block sizes
> must be powers of two, but a RAID 5 with four members will necessarily
> have a stripe size that's a multiple of three.

True.  But the size of the writes generated by the filesystems, as it
turns out, does not relate in the way you might expect to the filesystem
block size.

For example, in tls-maxphys Manuel and I have eliminated the code that
chose readahead and writebehind (clustering) I/O sizes by shifting the
filesystem blocksize (which always gave power-of-two sizes) and replaced
it with the more relaxed constraint that it must simply write full pages.
So you can have a filesystem with a 4K blocksize but, if you're on a
RAIDframe RAID5 volume with 4 disks and an underlying MAXPHYS of 64K,
find yourself sending 192K transactions to RAIDframe and thus the
desired 64K to each data disk.

I don't see why -- in theory -- the log code couldn't do the analogous
thing.  Though at some point, you end up with the LFS problem -- the
need to flush partial clusters of transactions because you don't want
to let them linger uncommitted for too much time.

Home | Main Index | Thread Index | Old Index