Re: [PATCH v4 03/19] mm: memcg: convert vmstat slab counters to bytes
From: Roman Gushchin
Date: Wed May 27 2020 - 12:25:48 EST
On Wed, May 27, 2020 at 01:43:16PM +0200, Vlastimil Babka wrote:
> On 5/26/20 11:42 PM, Roman Gushchin wrote:
> > In order to prepare for per-object slab memory accounting, convert
> > NR_SLAB_RECLAIMABLE and NR_SLAB_UNRECLAIMABLE vmstat items to bytes.
> > To make it obvious, rename them to NR_SLAB_RECLAIMABLE_B and
> > NR_SLAB_UNRECLAIMABLE_B (similar to NR_KERNEL_STACK_KB).
> > Internally global and per-node counters are stored in pages,
> > however memcg and lruvec counters are stored in bytes.
> > This scheme may look weird, but only for now. As soon as slab
> > pages will be shared between multiple cgroups, global and
> > node counters will reflect the total number of slab pages.
> > However memcg and lruvec counters will be used for per-memcg
> > slab memory tracking, which will take separate kernel objects
> > in the account. Keeping global and node counters in pages helps
> > to avoid additional overhead.
> > The size of slab memory shouldn't exceed 4Gb on 32-bit machines,
> > so it will fit into atomic_long_t we use for vmstats.
> > Signed-off-by: Roman Gushchin <guro@xxxxxx>
> You didn't add Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> ( see 20200507204137.GC161043@xxxxxxxxxxx )
> (Noticed thanks to the great 'b4 am' and 'git range-diff' tools)
I'll check them, thanks!
> Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx>