[perf tool] cgroup support broken on Debian?

From: Vince Weaver
Date: Mon Dec 15 2014 - 16:07:35 EST


Hello

has anyone tested the perf tool cgroup support recently?

I was trying to get it working with a command like
sudo perf stat -a -e cycles:u,cycles:u,cycles:u -G systemd -- sleep 1

and it just failed by unhelfully dumping the "-G" help text.
Once I added a lot of extra debug printfs to tools/perf/util/cgroup.c
things became a little clearer.

First, you apparently need "perf_event" passed as a mount option to the
cgroup or you cannot attach perf to it (should perf be modified to
print a warning in this case rather than just printing the unhelpful
helf text?)

Secondly, the cgroup mount point detection completely fails on my debian
box. On my machine /proc/mounts has this:

...
none /sys/fs/cgroup tmpfs rw,relatime,size=4k,mode=755 0 0
systemd /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,perf_event,name=systemd 0 0

The current perf code looks for "cgroup" in the type field to find the
root cgroupfs tree. This fails because as seen above on my machine the
cgroup mount has type tmpfs. And when it finds
/sys/fs/cgroup/systemd as the root it tacks the name onto the end
(/sys/fs/cgroup/systemd/systemd) which obviously doesn't exist.

Once I hack the code to avoid that I do finally get some cgroup readings.

I was checking if this was a known problem, a Debian issue, or what...

Vince

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/