Re: [PATCH] btrfs: Fix slab accounting flags

From: David Sterba
Date: Thu Jul 07 2016 - 06:20:30 EST


On Thu, Jun 23, 2016 at 09:17:08PM +0300, Nikolay Borisov wrote:
> BTRFS is using a variety of slab caches to satisfy internal needs.
> Those slab caches are always allocated with the SLAB_RECLAIM_ACCOUNT,
> meaning allocations from the caches are going to be accounted as
> SReclaimable. At the same time btrfs is not registering any shrinkers
> whatsoever, thus preventing memory from the slabs to be shrunk. This
> means those caches are not in fact reclaimable.
>
> To fix this remove the SLAB_RECLAIM_ACCOUNT on all caches apart from the
> inode cache, since this one is being freed by the generic VFS super_block
> shrinker. Also set the transaction related caches as SLAB_TEMPORARY,
> to better document the lifetime of the objects (it just translates
> to SLAB_RECLAIM_ACCOUNT).
>
> Signed-off-by: Nikolay Borisov <n.borisov.lkml@xxxxxxxxx>

Reviewed-by: David Sterba <dsterba@xxxxxxxx>