On Wed, Jul 25, 2018 at 4:26 AM Bruce Merry <bmerry@xxxxxxxxx> wrote: > > On 25 July 2018 at 00:46, Shakeel Butt <shakeelb@xxxxxxxxxx> wrote: > > 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.467s > > Thanks 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