public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Jiri Olsa <jolsa@redhat.com>, LKML <linux-kernel@vger.kernel.org>,
	David Ahern <dsahern@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Andi Kleen <andi@firstfloor.org>, Wang Nan <wangnan0@huawei.com>
Subject: Re: [PATCHSET 00/10] perf tools: Support dynamic sort keys for tracepoints (v2)
Date: Thu, 17 Dec 2015 16:56:31 +0900	[thread overview]
Message-ID: <20151217075631.GA31702@sejong> (raw)
In-Reply-To: <20151217001759.GE19926@kernel.org>

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)?

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 ~]# 
> 

  reply	other threads:[~2015-12-17  7:56 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-15 15:35 [PATCHSET 00/10] perf tools: Support dynamic sort keys for tracepoints (v2) Namhyung Kim
2015-12-15 15:35 ` [PATCH 01/10] perf hist: Pass struct sample to __hists__add_entry() Namhyung Kim
2015-12-15 15:35 ` [PATCH 02/10] perf hist: Save raw_data/size for tracepoint events Namhyung Kim
2015-12-17  8:14   ` [PATCH v2.1] " Namhyung Kim
2015-12-17 12:22     ` Arnaldo Carvalho de Melo
2015-12-15 15:35 ` [PATCH 03/10] tools lib traceevent: Factor out and export print_event_field[s] Namhyung Kim
2015-12-15 15:35 ` [PATCH 04/10] perf tools: Pass evlist to setup_sorting() Namhyung Kim
2015-12-15 15:35 ` [PATCH 05/10] perf tools: Add dynamic sort key for tracepoint events Namhyung Kim
2015-12-20 13:51   ` Jiri Olsa
2015-12-20 14:02     ` Namhyung Kim
2015-12-15 15:35 ` [PATCH 06/10] perf tools: Try to show pretty printed output for dynamic sort keys Namhyung Kim
2015-12-20 14:12   ` Jiri Olsa
2015-12-21  8:36     ` Namhyung Kim
2015-12-15 15:35 ` [PATCH 07/10] perf tools: Add 'trace' sort key Namhyung Kim
2015-12-15 15:35 ` [PATCH 08/10] perf tools: Add --raw-trace option Namhyung Kim
2015-12-20 14:58   ` Jiri Olsa
2015-12-21  8:44     ` Namhyung Kim
2015-12-22  6:57       ` Jiri Olsa
2015-12-22 16:19         ` Namhyung Kim
2015-12-15 15:35 ` [PATCH 09/10] perf tools: Make 'trace' sort key default for tracepoint events Namhyung Kim
2015-12-15 15:35 ` [PATCH 10/10] perf tools: Support shortcuts for events in dynamic sort keys Namhyung Kim
2015-12-17  0:17 ` [PATCHSET 00/10] perf tools: Support dynamic sort keys for tracepoints (v2) Arnaldo Carvalho de Melo
2015-12-17  7:56   ` Namhyung Kim [this message]
2015-12-17 12:21     ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151217075631.GA31702@sejong \
    --to=namhyung@kernel.org \
    --cc=acme@kernel.org \
    --cc=andi@firstfloor.org \
    --cc=dsahern@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=wangnan0@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox