On Mon, Feb 19, 2018 at 03:26:37PM +0200, Tommi Rantala wrote: > Hi, > > 4.9 (and earlier) LTS kernels are missing this: > > commit ec00022030da5761518476096626338bd67df57a > Author: Tahsin Erdogan <tahsin@xxxxxxxxxx> > Date: Sat Aug 5 22:41:42 2017 -0400 > > ext4: inplace xattr block update fails to deduplicate blocks > > > OK to backport it? > I tested it briefly in 4.9, seems to work. > > One of our testers noticed a glusterfs performance regression when going > from 4.4 to 4.9, caused by the duplicated blocks. > > In I understand everything correctly, in 4.4 mbcache uses the block number > in the hash table bucket calculation, and the hash table is populated quite > evenly even if there are duplicates. So the mbcache is fast. > > But in later kernels mbcache puts all the duplicate entries into a single > bucket. As the entries are stored in one big linked list, this obviously > makes the mbcache slow. > > > I tested this in 4.9 (which still has the ext4_xattr_rehash() call that got > eliminated in commit "ext4: eliminate xattr entry e_hash recalculation for > removes"): I need an ack from the ext4 maintainers before I can take this...