What Alex didn't mention was the reason why we developed this patch in the
first place - speed. Storing EAs in external blocks is slow, and if you
have a lot of inodes with external EAs it is fatal, as the EA blocks consume
so much RAM that they force all of the inode/directory data out of cache.
Some benchmarks (from Alex):
> environment for old EA: just mkfs'ed EXT3, inode size 128, 33000 files
> environment for fast EA: just mkfs'ed EXT3, inode size 256, 33000 files
>
> old EA fast EA
> add attributes 2m35.241s 1m4.151s (+142%)
> dump attributes 0m28.716s 0m13.466s (+113%)
> change attributes 2m42.108s 1m4.413s (+153%)
> remove attributes 1m15.373s 1m3.909s (+19%)
Some minor improvements could be made, such as not storing user EAs inside
the inode if there are system EAs that could be stored there.
Cheers, Andreas
-- Andreas Dilger http://sourceforge.net/projects/ext2resize/ http://www-mddsp.enel.ucalgary.ca/People/adilger/- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/