mm: vmstat: add some comments on internal storage of byte items
authorJohannes Weiner <hannes@cmpxchg.org>
Fri, 26 Feb 2021 01:16:51 +0000 (17:16 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 26 Feb 2021 17:41:00 +0000 (09:41 -0800)
commit629484ae73754243917e06d8d5e5f37c26e99399
treec3d5422b5127aea32f8d73b2909dd66673cd2213
parent2bbd00aef0671bfe3c2ca5ba67097246257de125
mm: vmstat: add some comments on internal storage of byte items

Byte-accounted items are used for slab object accounting at the cgroup
level, because the objects in a slab page can belong to different cgroups.
At the global level these items always change in multiples of whole slab
pages.  The vmstat code exploits this and stores these items as pages
internally, which allows for more compact per-cpu data.

This optimization isn't self-evident from the asserts and the division in
the stat update functions.  Provide the reader with some context.

Link: https://lkml.kernel.org/r/20210202184411.118614-1-hannes@cmpxchg.org
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/vmstat.h
mm/vmstat.c