Messages in this thread | | | Date | Tue, 30 Apr 2019 11:08:47 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 3/4] perf cgroup: Add cgroup ID as a key of RB tree |
| |
A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail?
On Mon, Apr 29, 2019 at 04:02:33PM -0700, Ian Rogers wrote: > This is very interesting. How does the code handle cgroup hierarchies? > For example, if we have: > > cgroup0 is the cgroup root > cgroup1 whose parent is cgroup0 > cgroup2 whose parent is cgroup1 > > we have task0 running in cgroup0, task1 in cgroup1, task2 in cgroup2 > and then a perf command line like: > perf stat -e cycles,cycles,cycles -G cgroup0,cgroup1,cgroup2 --no-merge sleep 10 > > we expected 3 cycles counts: > - for cgroup0 including task2, task1 and task0 > - for cgroup1 including task2 and task1 > - for cgroup2 just including task2 > > It looks as though: > + if (next && (next->cpu == event->cpu) && (next->cgrp_id == > event->cgrp_id)) > > will mean that events will only consider cgroups that directly match > the cgroup of the event. Ie we'd get 3 cycles counts of: > - for cgroup0 just task0 > - for cgroup1 just task1 > - for cgroup2 just task2
Yeah, I think you're right; the proposed code doesn't capture the hierarchy thing at all.
| |