Re: [PATCHSET 00/10] perf tools: Support dynamic sort keys for tracepoints (v2)

From: Arnaldo Carvalho de Melo
Date: Thu Dec 17 2015 - 07:21:17 EST


Em Thu, Dec 17, 2015 at 04:56:31PM +0900, Namhyung Kim escreveu:
> Hi Arnaldo,
>
> On Wed, Dec 16, 2015 at 09:17:59PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Wed, Dec 16, 2015 at 12:35:33AM +0900, Namhyung Kim escreveu:
> > > Hello,
> > >
> > > This is an attempt to improve perf to deal with tracepoint events
> > > better. The perf tools can handle tracepoint events but perf report
> > > on them is less useful since they're always sampled in a fixed
> > > location and not provide event specific info. We can use perf script
> > > but I always wishes there's more convenient way to see the result.
> > >
> > > * changes in v2)
> > > - add 'trace' sort key and make it default (Jiri)
> > > - add '--raw-trace' option and '/raw' field modifier (Jiri)
> > > - support event name shortcuts (David)
> >
> > Can you take a look if you can reproduce this? Without callchains it works in
> > all tests I did.
>
> Argh, it was because I forgot to set raw_data/size field for
> --children case. I'll send the fix soon.
>
> Maybe we can disable --children for tracepoint sessions (or if it
> doesn't have symbol sort key)?

Looks like a plan, unless we want to have all the callchains that get to
some specific DSO or pid.

- Arnaldo

> Thanks,
> Namhyung
>
>
> >
> > [root@zoo ~]# perf record -g -e kmem:kmalloc -a
> > ^C[ perf record: Woken up 1 times to write data ]
> > [ perf record: Captured and wrote 1.193 MB perf.data (250 samples) ]
> >
> > [root@zoo ~]# perf report
> > perf: Segmentation fault
> > -------- backtrace --------
> > perf[0x539f1b]
> > /lib64/libc.so.6(+0x34960)[0x7fc8e3752960]
> > perf(pevent_read_number+0x78)[0x542e40]
> > perf(pevent_read_number_field+0x70)[0x542ed3]
> > /root/.traceevent/plugins/plugin_kmem.so(+0x603)[0x7fc8e1a6c603]
> > perf(pevent_event_info+0x96)[0x547597]
> > perf[0x4dce26]
> > perf[0x4e0e89]
> > perf(hist_entry_iter__add+0xee)[0x4e125e]
> > perf[0x4304be]
> > perf[0x4c2db3]
> > perf[0x4c3301]
> > perf[0x4c6089]
> > perf(perf_session__process_events+0x3f1)[0x4c4b91]
> > perf(cmd_report+0x120b)[0x4319cb]
> > perf[0x47c871]
> > perf(main+0x63f)[0x42242f]
> > /lib64/libc.so.6(__libc_start_main+0xf0)[0x7fc8e373dfe0]
> > perf[0x422549]
> > [0x0]
> > [root@zoo ~]# ls -la ~/.traceevent/
> > total 12
> > drwxr-xr-x. 3 acme acme 4096 May 4 2015 .
> > drwx------. 61 acme acme 4096 Dec 16 21:12 ..
> > drwxr-xr-x. 2 acme acme 4096 Nov 23 11:15 plugins
> > [root@zoo ~]# ls -la ~/.traceevent
> > lrwxrwxrwx. 1 root root 23 May 4 2015 /root/.traceevent -> /home/acme/.traceevent/
> > [root@zoo ~]# perf record -e sched:sched_switch -a
> >
> >
> > ^C[ perf record: Woken up 1 times to write data ]
> > [ perf record: Captured and wrote 1.704 MB perf.data (4967 samples) ]
> >
> > [root@zoo ~]# perf report
> > [root@zoo ~]# perf record -g -e sched:sched_switch -a
> > ^C[ perf record: Woken up 2 times to write data ]
> > [ perf record: Captured and wrote 2.062 MB perf.data (4743 samples) ]
> >
> > [root@zoo ~]# perf report
> > perf: Segmentation fault
> > -------- backtrace --------
> > perf[0x539f1b]
> > /lib64/libc.so.6(+0x34960)[0x7fecb3223960]
> > perf(pevent_read_number+0x60)[0x542e28]
> > perf(pevent_read_number_field+0x70)[0x542ed3]
> > perf(get_field_val+0x6b)[0x548cd5]
> > perf(pevent_get_field_val+0x6b)[0x548e77]
> > /root/.traceevent/plugins/plugin_sched_switch.so(+0x95b)[0x7fecb194195b]
> > perf(pevent_event_info+0x96)[0x547597]
> > perf[0x4dce26]
> > perf[0x4e0e89]
> > perf(hist_entry_iter__add+0xee)[0x4e125e]
> > perf[0x4304be]
> > perf[0x4c2db3]
> > perf[0x4c3301]
> > perf[0x4c5fdb]
> > perf[0x4c3535]
> > perf(perf_session__process_events+0x3a0)[0x4c4b40]
> > perf(cmd_report+0x120b)[0x4319cb]
> > perf[0x47c871]
> > perf(main+0x63f)[0x42242f]
> > /lib64/libc.so.6(__libc_start_main+0xf0)[0x7fecb320efe0]
> > perf[0x422549]
> > [0x0]
> > [root@zoo ~]#
> >
--
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/