This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v4 2/3] Support for perf to probe into SDT markers:


On 10/28/13 7:31 PM, Srikar Dronamraju wrote:
But what if a system has both 32 bit libc and 64 bit libc?
Wont we could end up with 2 libc:setjmp?
Should we give some more intelligence into perf to choose the 64 bit
libc over 32 bit one?
You can just trace both of them by default, no?

There has to be a one to one association with the event name and its
mapping.  Every event name will finally map to a unique inode and an
offset.

One option would be for perf to look at these markers and have a
different event name for similar markers in different executables.

I think we are talking past each other here.

Yes, I understand that you need an fully qualified name
for a SDT marker but there's absolutely no reason to force
feed that to the user of 'perf trace'.

For the 32-bit and 64-bit libc case, why cannot 'perf list'
by default print out something like:

$ perf list

  libc:setjmp [SDT marker group]

and provide a '--fully-qualified' command line option that:

$ perf list --fully-qualified

libc:setjmp => libc32:setjmp, libc64:setjmp      [SDT marker group]
libc32:setjmp => libc:setjmp@/lib/libc.so.6      [SDT marker]
libc64:setjmp => libc:setjmp@/lib64/libc.so.6  [SDT marker]

and then teach 'perf trace' to deal with SDT marker groups
where you trace two events, not one?

And again, there's no reason to treat system libraries like
libc the same way as some random binary in $HOME. You
can use the fully qualified name in 'perf list' for things
that are not in /lib or some perf-specific whitelist.

                    Pekka


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]