Re: backporting "ext4: inplace xattr block update fails to deduplicate blocks" to LTS kernels?

From: Greg Kroah-Hartman
Date: Wed Feb 21 2018 - 06:40:04 EST


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...