[Bug 107301] system hang during ext4 xattr operation

bugzilla-daemon
2015-11-09T08:51:02Z

--- Comment #7 from Jan Kara <jack@suse.cz> ---
Yeah, that would test what the performance would look like without mbcache.
BTW: Among xattrs ceph is using how many of them are the same? Mbcache is a win
for the common case where xattrs are mostly used for ACLs or SE Linux labels
and thus the reuse is big (mbcache is essentially a deduplication layer for
xattrs).

And yes, it is in a need of some updates to meet current scalability demands (I
don't think what you hit is a bug as such, rather an inefficiency that becomes
lethal at your scale) - other users than ceph occasionally report issues as
well. Probably we should track things per-fs, not globally, hook each per-fs
mbcache into the shrinker framework and don't introduce artificial upper bounds
on the number of entries and instead let natural memory pressure deal with it.

For now I'm not convinced adding a mount option to disable mbcache is the right
way to go. Rather we should make it lightweight enough that it doesn't add too
much overhead for the cases where it is not needed. With the mount option there
is always the trouble that someone has to know it to turn it on/off and
sometimes there even isn't a good choice as you can have heavy xattr reuse for
some inodes and also quite a few unique xattrs for other inodes...