tag name | perf-core-for-mingo-20160415 (b517e854b46c8a0e1a613eecf3162df96978e5fa) |
tag date | 2016-04-15 18:22:35 -0300 |
tagged by | Arnaldo Carvalho de Melo <acme@redhat.com> |
tagged object | commit f3e459d16a... |
perf/core improvements:
User visible:
- Wire the callchain unwinding "max-stack" know to 'perf script --max-stack',
allowing to limit the depth of callchains, possibly reducing processing
time (Arnaldo Carvalho de Melo)
- Ditto for 'perf trace --max-stack' (Arnaldo Carvalho de Melo)
- Introduce a --min-stack filter for 'perf trace', to show syscalls that
had a userspace callchain leading to it at least min-stack deep (Arnaldo Carvalho de Melo)
- Make 'perf trace' work with multiple threads and the --duration filter,
i.e. do not print the start of an interrupted syscall followed by ...
to print interrupts from other threads, as we need to wait the sys_exit
syscall tracepoint to calculate the duration, duh. (Arnaldo Carvalho de Melo)
System wide --duration now works as expected:
[root@jouet ~]# trace --duration 100
152.393 (145.147 ms): Timer/24358 futex(uaddr: 0x7f5ed98e56cc, op: WAIT_BITSET|PRIV|CLKRT, val: 7055125, utime: 0x7f5ecdbfec30, val3: 4294967295) = -1 ETIMEDOUT Connection timed out
152.438 (145.040 ms): firefox/24321 poll(ufds: 0x7f5ec388b460, nfds: 6, timeout_msecs: 4294967295) = 1
358.580 (158.279 ms): Xorg/2025 select(n: 512, inp: 0x83a8e0, tvp: 0x7ffdcbb63610) = 0 Timeout
358.687 (148.285 ms): gnome-terminal/2711 poll(ufds: 0x55b7e6811ad0, nfds: 15, timeout_msecs: 249) = 1
370.150 (169.569 ms): gnome-shell/2287 poll(ufds: 0x55e623d65490, nfds: 86, timeout_msecs: 4294967295) = 1
- Now 'perf trace's --max-stack and --min-stack will automatically set
"--call-graph dwarf", if --call-graph is not present on the command line:
[root@jouet ~]# perf trace -e nanosleep --max-stack 3 usleep 1
0.299 ( 0.057 ms): usleep/29658 nanosleep(rqtp: 0x7fff80f3b230) = 0
__nanosleep+0x10 (/usr/lib64/libc-2.22.so)
usleep+0x34 (/usr/lib64/libc-2.22.so)
main+0x1eb (/usr/bin/usleep)
[root@jouet ~]#
- Bump 'perf trace --mmap-pages' for root when using callchains and not
specifying --mmap-pages explicitely (Arnaldo Carvalho de Melo)
Build fixes:
- The python binding object had missing symbols, to some refactoring
to fix that (Arnaldo Carvalho de Melo)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJXEWBrAAoJENZQFvNTUqpAvvkQAIvPEkxDa6jm3nR6Y7LzE4/u
j1AC5BruN/TL36RrU6Dp+zEklg0lrxmEd0fxY/H5jxqgHsyjFEkvXcTQbq4UNrmj
ICrpyexoimYihvNHodqz59CWqvlu59RDQW5MUxeCEWhj0cgbUzb6Gcx9WVrlvFoW
M1vR5GQaKXpmGk1t2RC7FH+jGc7Bi4Vh9duE+GLe1Pg2R5xrS7z2ORDxMlvVYLY8
7dzKfu9Z8zjDDeIYb6Xf5Z720C2JSwubGXS2s88mdSHwj3X7dHjaiPdiwwDd92hD
hTBa+nbltaiqxua6++FqaNy6qOCwT8ab9xk4jhhaFmw90iGlmUlthpg7iHXzv0e4
HgZPtDB1GhlLZ1dNZOs88kdbrfb7fqQemlFV34zBMY4WAaK2DMc3lgKBKo1OKj1A
hWuMTgQsDq1Xbkdd8B3R+TFuqxjVluhUjZfh+fWz47Wa9ofeAY6Fkm0VFkN64orx
WJq7lFXo7yLPVpn9S5FHEc4iy57DNU0TeCkn/e0x4K8JCDfS3yt8t8mnD27O+OR0
ytZZJ11als/letF03x01EjsaoCQ4A60PKeg6SMHaCKpteV/Xajf9KZgXYqwkYH96
OF1C6LmCz+2r1IwWu/7ODkHPASyrlGktzs3124AIrM1zPEObjAKg3irpevvyNeJM
sF2KbpG9GPMlz5QImtbo
=+JhQ
-----END PGP SIGNATURE-----