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

From: Mark Wielaard
Date: Tue Oct 29 2013 - 10:52:46 EST


On Tue, 2013-10-29 at 12:19 +0900, Masami Hiramatsu wrote:
> (2013/10/29 2:48), Pekka Enberg wrote:
> > 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?
>
> Ah, that's a good idea. :)
> And it also is needed for another probe event because
> sometimes inlined functions have multiple instances.
> I'd like to fold them as one event group.

A nice user case to think about when designing this interface might be
the java hotspot jvm (libjvm.so). It has SDT markers with the same name
that might occur at multiple addresses depending on code path taken or
compiler optimization. And there are multiple libjvm.so variants
depending on whether the user uses the client or server VM. And users
often have multiple major versions installed (both 1.6 and 1.7 are
currently being shipped by some distros and can be installed in
parallel).

Normally a user that wants to monitor say the hotspot:gc__begin SDT
probe wants to see that probe in whatever code path it happens and in
whatever libjvm.so happens to be running (client or server and 1.6 or
1.7 version). But might still want to be able to specify a specific
variant.

Cheers,

Mark

--
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/