Re: [PATCH v2 4/6] slab: add SLAB_ACCOUNT flag
From: Vladimir Davydov
Date: Sat Nov 14 2015 - 06:30:32 EST
On Thu, Nov 12, 2015 at 05:17:41PM +0100, Michal Hocko wrote:
> On Tue 10-11-15 21:34:05, Vladimir Davydov wrote:
> > Currently, if we want to account all objects of a particular kmem cache,
> > we have to pass __GFP_ACCOUNT to each kmem_cache_alloc call, which is
> > inconvenient. This patch introduces SLAB_ACCOUNT flag which if passed to
> > kmem_cache_create will force accounting for every allocation from this
> > cache even if __GFP_ACCOUNT is not passed.
> Yes this is much better and less error prone for dedicated caches.
> > This patch does not make any of the existing caches use this flag - it
> > will be done later in the series.
> > Note, a cache with SLAB_ACCOUNT cannot be merged with a cache w/o
> > SLAB_ACCOUNT, i.e. using this flag will probably reduce the number of
> > merged slabs even if kmem accounting is not used (only compiled in).
> I would expect some reasoning why this is the case. Why cannot caches of
> the same memcg be merged? I remember you have mentioned something in the
> previous discussion with Tejun but it should be in the changelog as well
Here goes an extended version of the last paragraph, hope it makes
Note, a cache with SLAB_ACCOUNT cannot be merged with a cache w/o
SLAB_ACCOUNT, because merged caches share the same kmem_cache struct and
hence cannot have different sets of SLAB_* flags. Thus using this flag
will probably reduce the number of merged slabs even if kmem accounting
is not used (only compiled in).
Andrew, could you please update the commit message?
> > Suggested-by: Tejun Heo <tj@xxxxxxxxxx>
> > Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
> I am not sufficiently qualified to judge the slab implementation
> specifics but for the overal approach
> Acked-by: Michal Hocko <mhocko@xxxxxxxx>
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/