On Fri, 11 May 2012, Glauber Costa wrote:
I see that. But there are other subsystems from slab allocators that do
the same. There are also objects that may be used by multiple processes.
This is also true for normal user pages. And then, we do what memcg does:
first one to touch, gets accounted. I don't think deviating from the memcg
behavior for user pages makes much sense here.
A cache won't go away while it still have objects, even after the memcg is
removed (it is marked as dead)
Ok so we will have some dead pages around that are then repatriated to
the / set?
Hmmm.. Would be better to have a hierachy there. /proc/slabinfo is more
legacy.
I can take a look at that then. Assuming you agree with all the rest, is
looking into that a pre-requisite for merging, or is something that can be
deferred for a phase2 ? (We still don't do shrinkers, for instance, so this is
sure to have a phase2)
Not a prerequisite for merging but note that I intend to rework the
allocators to extract common code so that they have the same sysfs
interface, error reporting and failure scenarios. We can at that time
also add support for /sys/kernel/slab to memcg. (/sys/memcg/<name>/slab/* ?)