From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: john smith <whalajam@yahoo.com>
Cc: Peter Zijlstra <peterz@infradead.org>, linux-kernel@vger.kernel.org
Subject: Re: perf report for .ko files
Date: Fri, 29 Jan 2010 17:15:58 -0200 [thread overview]
Message-ID: <20100129191558.GA9990@ghostprotocols.net> (raw)
In-Reply-To: <229562.61603.qm@web55007.mail.re4.yahoo.com>
Em Fri, Jan 29, 2010 at 10:55:13AM -0800, john smith escreveu:
> Problem1:
>
> > Well, you could reduce the number of samples collected by
> > asking perf record to
> > include only kernel samples by fiddling with these
> > perf_event_attr fields:
> >
> > exclude_user : 1, /* don't count user */
> > exclude_kernel : 1, /* ditto kernel */
> > exclude_hv : 1, /* ditto hypervisor */
> > exclude_idle : 1, /* don't count when idle */
> >
> > I.e. setting exclude_user, exclude_hv and exclude_idle to
> > 1, but this requires
> > a patch for tools/perf/builtin-record.c as this is not
> > exposed yet.
> I did setup attr->exclude_hv, exclude_idle, exclude_user = 1 in
> create_counter() just before "try_again:" label, no difference in
> results, on a 2.6.31 (too old? "perf buildid-list" is not available)
> kernel version:
> # perf record -f -e cycles fio fio_script
> (for more than a minute, I increased the sample frequency with
> different -c values, some locked the machine - expectedly)
> and
> # perf report --verbose --dso=/my_module_path/my_module.ko
> (--verbose doesn't provide any more info)
This isn't going to work, you need to do:
perf report --verbose --dso='[my_module]'
I.e. as it appear on /proc/modules + brackets. Arguably we need to get
it to work also with both 'my_module.ko' and the full path.
> return the same "# Samples: 0":
>
> "
> # dso: /my_module_path/my_module.ko
> # Samples: 0
> #...
> "
>
> > [root@doppio linux-2.6-tip]# perf report --dsos '[e1000e]'
> > # dso: [e1000e]
> > # Samples: 110518812
>
> 'e1000e' module may be be sampled more often than the scsi modules but ...
>
> > > not sure why that is, /proc/kallsyms does seem to
> > > include some iwlagn symbols.
> /proc/kallsyms includes all syms I need, so is a problem not finding
> the symbols, does this (Samples: 0) make sens?
> "perf report --sort comm,dso,symbol" report has my module symbols.
See above on how to specify the module name, its just that it is finding
no samples for the module name as specified, it seems.
> Problem2:
> If I try "perf annotate -l -k /my_module_path/my_module.ko my_symbol"
> has all the percentages "0.00" where I would expect a % breakdown
> (considering the total function counter 100%), even if the function
> represents a small overall counter % compared to the others, any
> ideas?
I actually never tried doing annotation with a module, will try.
- Arnaldo
next prev parent reply other threads:[~2010-01-29 19:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-26 0:34 perf report for .ko files john smith
2010-01-26 19:21 ` Peter Zijlstra
2010-01-26 21:05 ` Arnaldo Carvalho de Melo
2010-01-29 18:55 ` john smith
2010-01-29 19:15 ` Arnaldo Carvalho de Melo [this message]
2010-01-29 21:59 ` john smith
2010-01-30 6:45 ` Mike Galbraith
2010-02-03 17:28 ` 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=20100129191558.GA9990@ghostprotocols.net \
--to=acme@ghostprotocols.net \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=whalajam@yahoo.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