Re: tools/perf: "perf record" restricted to root in latest kernel?

From: Arnaldo Carvalho de Melo
Date: Wed Jan 06 2010 - 20:46:17 EST


Em Wed, Jan 06, 2010 at 02:32:17PM +0900, Miles Bader escreveu:
> I tried compiling tools/perf in an old linux source tree (ab86e5765,
> roughly 2.6.31), and the resulting perf tool seemed to work fine
> ("perf record" ... "perf report", "perf stat" etc); I ran it as an
> ordinary user.
>
> Next I updated to the latest linus tree (c5974b835a), and recompiled perf.
> It still seems to work, and has obviously had a lot of features added, but
> now it only wants to let me run "perf record" if I'm root. This is
> slightly annoying -- even if I use "sudo" or make it setuid, it still ends
> up generating an output file owned by root, etc.
>
> In both cases, I'm using the same kernel (I only recompiled the tool), 2.6.32.
>
> I used no options with "perf record", just gave the command I wanted to profile.
>
> Is there a reason why the newer version perf tool restricts "perf record"
> to root, especially given that the older version still seems to work fine
> as non-root?

Don't recall noticing such problem, here it works just fine:

[acme@doppio linux-2.6-tip]$ mkdir tmp
[acme@doppio linux-2.6-tip]$ cd tmp
[acme@doppio tmp]$ time perf record find ~/git/ > /dev/null
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.053 MB perf.data (~2312 samples) ]

real 0m25.602s
user 0m0.007s
sys 0m0.020s
[acme@doppio tmp]$ perf report | head -13
# Samples: 1628008142
#
# Overhead Command Shared Object Symbol
# ........ ....... ...................... ......
#
6.03% find libc-2.10.2.so [.] _IO_vfprintf_internal
5.70% find find [.] 0x0000000000351d
3.39% find [kernel] [k] ext4_htree_store_dirent
2.85% find [kernel] [k] __kmalloc
2.14% find [kernel] [k] _raw_spin_lock
2.10% find [kernel] [k] read_hpet
2.10% find [kernel] [k] half_md4_transform
2.08% find libc-2.10.2.so [.] __GI_memmove
[acme@doppio tmp]$ perf report --sort dso
# Samples: 1628008142
#
# Overhead Shared Object
# ........ ...........................
#
74.66% [kernel]
16.74% libc-2.10.2.so
7.59% find
0.72% ld-2.10.2.so
0.29% libpthread-2.10.2.so
[acme@doppio tmp]$ cd ..
[acme@doppio linux-2.6-tip]$ uname -r
2.6.33-rc3-tip+
[acme@doppio linux-2.6-tip]$ git branch | grep ^\*
* perf
[acme@doppio linux-2.6-tip]$ cat .git/refs/heads/perf
1dcff0bf19619e4d7bc61628770e6d88c631015c
[acme@doppio linux-2.6-tip]$

- Arnaldo
--
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/