kselftests: cgroup: add kernel memory accounting tests
Add some tests to cover the kernel memory accounting functionality. These
are covering some issues (and changes) we had recently.
1) A test which allocates a lot of negative dentries, checks memcg slab
statistics, creates memory pressure by setting memory.max to some low
value and checks that some number of slabs was reclaimed.
2) A test which covers side effects of memcg destruction: it creates
and destroys a large number of sub-cgroups, each containing a
multi-threaded workload which allocates and releases some kernel
memory. Then it checks that the charge ans memory.stats do add up on
the parent level.
3) A test which reads /proc/kpagecgroup and implicitly checks that it
doesn't crash the system.
4) A test which spawns a large number of threads and checks that the
kernel stacks accounting works as expected.
5) A test which checks that living charged slab objects are not
preventing the memory cgroup from being released after being deleted by
Signed-off-by: Roman Gushchin <email@example.com>
Signed-off-by: Andrew Morton <firstname.lastname@example.org>
Cc: Christoph Lameter <email@example.com>
Cc: Johannes Weiner <firstname.lastname@example.org>
Cc: Michal Hocko <email@example.com>
Cc: Shakeel Butt <firstname.lastname@example.org>
Cc: Tejun Heo <email@example.com>
Cc: Vlastimil Babka <firstname.lastname@example.org>
Signed-off-by: Linus Torvalds <email@example.com>
3 files changed