OK.
On 05/26/2011 07:28 AM, Frederic Weisbecker wrote:(Adding David Ahern in Cc)
Ok that's all good except this needs to use the "perf script" centralized
dump.
Currently running "perf script" without an actual script dumps
the events by default, whatever kind of event they are: hardware,
software, tracepoints, ...
So we want the branch output to be supported there, so we can reuse
some code and interface.
For example, "perf script -f branch:comm,tid,sym" would print the
comm, tid and the sym for to and from addresses.
That's better than creating a new set of options in a new command
that people need to relearn while everybody could simply get
familiarized with common perf script options.
Of course we can still have a "perf branch" command, which could
be a tiny shortcut that maps to perf record and perf script.
Like:
perf branch record
perf branch [trace] -f tid,sym,comm
Would map to:
perf record branch:u
perf script -f branch:tid,sym,comm
And may be if one day we can do something more tricky than a
linear output for branches (like source code coloring/browsing),
then it may be implemented inside perf branch and not rely on
another subcommand. Until then we are only dealing with raw linear
dump, and that's a core job for perf script where we want to
centralize that kind of facility.
I mentioned that when v3 was posted.
The sample address can be converted to symbols and the output can be
added to perf-script rather easily. Attached is an example. I was going
to submit it back in April and got distracted. I'll rebase, move the
addr->sym conversion to a function and submit later today.
--
David
Thanks.