Re: [PATCH v2 1/2] mm, slab: Extend slab/shrink to shrink all memcg caches

From: Christopher Lameter
Date: Thu Jul 18 2019 - 07:38:14 EST


On Wed, 17 Jul 2019, Waiman Long wrote:

> Currently, a value of '1" is written to /sys/kernel/slab/<slab>/shrink
> file to shrink the slab by flushing out all the per-cpu slabs and free
> slabs in partial lists. This can be useful to squeeze out a bit more memory
> under extreme condition as well as making the active object counts in
> /proc/slabinfo more accurate.

Acked-by: Christoph Lameter <cl@xxxxxxxxx>

> # grep task_struct /proc/slabinfo
> task_struct 53137 53192 4288 61 4 : tunables 0 0
> 0 : slabdata 872 872 0
> # grep "^S[lRU]" /proc/meminfo
> Slab: 3936832 kB
> SReclaimable: 399104 kB
> SUnreclaim: 3537728 kB
>
> After shrinking slabs:
>
> # grep "^S[lRU]" /proc/meminfo
> Slab: 1356288 kB
> SReclaimable: 263296 kB
> SUnreclaim: 1092992 kB

Well another indicator that it may not be a good decision to replicate the
whole set of slabs for each memcg. Migrate the memcg ownership into the
objects may allow the use of the same slab cache. In particular together
with the slab migration patches this may be a viable way to reduce memory
consumption.