Re: [RFC PATCH perf/core v3 00/17] perf-probe --cache and SDT support

From: Namhyung Kim
Date: Wed Aug 19 2015 - 04:46:56 EST


Hi Masami,

On Sat, Aug 15, 2015 at 08:42:53PM +0900, Masami Hiramatsu wrote:
> Hi,
>
> Here is the 3rd version of the patchset for probe-cache and
> initial SDT support which are going to be perf-cache finally.
>
> The previous version is here; https://lkml.org/lkml/2015/7/15/221
>
> This version improves SDT support for perf-list and perf-record.
> It is still just a basic support (no wildcard support, nor
> @FILE/@BUILDID support). So this is an ongoing work report :)
>
> As we discussed on the previous series, now all SDT events have
> "sdt_" prefix on the provider name. We also should support "@FILE"
> or "@BUILDID" suffixes for same-name SDTs.
>
> perf-list shows only SDTs on existing binaries (no old/deleted
> files) and if the same-name events are shown, it adds
> "@FILE@BUILDID" suffixes after the events to clarify on which
> binary the SDT exists.
>
> ----
> # perf buildid-cache -a /usr/bin/gcc
> # perf list sdt
>
> List of pre-defined events (to be used in -e):
>
> sdt_libgcc:unwind [SDT event]
> sdt_libstdcxx:catch [SDT event]
> sdt_libstdcxx:rethrow [SDT event]
> sdt_libstdcxx:throw [SDT event]
> # perf buildid-cache -a /usr/lib/libstdc++.so.6
> # perf list sdt
>
> List of pre-defined events (to be used in -e):
>
> sdt_libgcc:unwind [SDT event]
> sdt_libstdcxx:catch@/usr/bin/gcc@0x05d261236bbb [SDT event]
> sdt_libstdcxx:catch@/usr/lib/libstdc++.so.6.0.19@0xcd6ac0e6236c [SDT event]
> sdt_libstdcxx:rethrow@/usr/bin/gcc@0x05d261236bbb [SDT event]
> sdt_libstdcxx:rethrow@/usr/lib/libstdc++.so.6.0.19@0xcd6ac0e6236c [SDT event]
> sdt_libstdcxx:throw@/usr/bin/gcc@0x05d261236bbb [SDT event]
> sdt_libstdcxx:throw@/usr/lib/libstdc++.so.6.0.19@0xcd6ac0e6236c [SDT event]
> ----
>
> In this version, I used "@" separater for both FILE and BUILDID,
> but I think it is also possible to use "%" for BUILDID.
> (BTW, I've cut down the BUILDID to the first 12 chars, and added "0x")
>
> TODOs:
> - (perf record) Allow glob matching for SDT event to specify events.
> - (perf record) Support @FILE/@BUILDID suffix to record specific SDTs.
> - (perf record) Try to unregister SDT events after record.
> - (perf probe) Allow glob matching for pre-cached events.
> - (perf probe) Support @FILE/@BUILDID suffix for pre-cached events.
> (also removes -x option when using pre-cached events)
> - (ftrace) Support multiple SDTs on single event.
>
> Since multiple same SDTs are defined in a single binary (e.g. libc:setjump
> has 3 different entries on libc-2.17.so), we need the last feature on
> ftrace, so that a single uprobe event can occur several different
> probe points.

Do you want to have multiple events of same name in the kernel? Or
to make perf handle those same names with different kernel events?

Thanks,
Namhyung
--
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/