I've been following up on some ext3 tuning option to see whether we
can get decent xattr performance.

In particular I've been looking at a suggest from the clusterfs folks
on using a larger journal (by using the -J size=XXX option to mke2fs)
and using larger inodes (using the -I option with the current 2.6.10
kernel patch from Alex Tomas).

Here are the results:

http://samba.org/~tridge/xattr_results/ext3-tuning.png

Curves are:

green: default setup (which is what most users will get).
red: a 256 byte inode is used with the large inode patch
mauve: 400M journal is used with default inode size
blue: both a 400M journal and a 256 byte inode are used

I'm delighted with this! It means that it is possible to get excellent
and extremely scalable results with a Linux journaled filesystem and
Samba4.

The other results that are interesting are:

http://samba.org/~tridge/xattr_resul...patch-alex.png

that shows the dbench3 performance with and without the large inode
size, and with and without xattrs. It demonstrates that using xattrs
in Samba4 will cost us extremely little once this patch hits
mainstream kernels. The tiny cost will be totally swamped by the noise
once you use this in a full Samba setup, intead of just in dbench.

The only downside is that admins will need to use special options to
create their filesystems, as the default performance is awful. I've
suggested some changes to the defaults to the extfs developers.

Cheers, Tridge