Re: [PATCH] memcg: reduce memcg tree traversals for stats collection
From: Shakeel Butt <hidden>
Date: 2018-07-25 14:28:10
Also in:
linux-mm, lkml
On Wed, Jul 25, 2018 at 4:26 AM Bruce Merry [off-list ref] wrote:
On 25 July 2018 at 00:46, Shakeel Butt [off-list ref] wrote:quoted
I ran a simple benchmark which reads the root_mem_cgroup's stat file 1000 times in the presense of 2500 memcgs on cgroup-v1. The results are: Without the patch: $ time ./read-root-stat-1000-times real 0m1.663s user 0m0.000s sys 0m1.660s With the patch: $ time ./read-root-stat-1000-times real 0m0.468s user 0m0.000s sys 0m0.467sThanks for cc'ing me. I've tried this patch using my test case and the results are interesting. With the patch applied, running my script only generates about 8000 new cgroups, compared to 40,000 before - presumably because the optimisation has altered the timing. On the other hand, if I run the script 5 times to generate 40000 zombie cgroups, the time to get stats for the root cgroup (cgroup-v1) is almost unchanged at around 18ms (was 20ms, but there were slightly more cgroups as well), compared to the almost 4x speedup you're seeing in your test.
Hi Bruce, I think your script is trying to create zombies, so, the experiments after that script will be non-deterministic. Why not just create 40k cgroups ,no need for zombies, and the see how much this patch affects reading stats. Shakeel