on 31/10/2013 08:49 Andriy Gapon said the following: > on 31/10/2013 05:36 Mark Johnston said the following: >> On Tue, Oct 29, 2013 at 11:11:07PM +0200, Andriy Gapon wrote: >>> >>> I never understood why FreeBSD SDT as opposed to upstream SDT requires the >>> same >>> or almost the same probe name to be specified twice. This seems to be >>> silly and >>> a little bit error-prone. >>> In other words, I do not see any reason not to re-use the original upstream >>> trick where double underscore in a providers name in the C code gets >>> converted >>> to a single dash in a DTrace provider name. [*] >>> >>> So here is my take at that: >>> http://people.freebsd.org/~avg/sdt-sname-removal.diff >>> >>> An inline preview of the change: >>> -SDT_PROBE_DEFINE1(priv, kernel, priv_check, priv_ok, priv-ok, "int"); >>> -SDT_PROBE_DEFINE1(priv, kernel, priv_check, priv_err, priv-err, "int"); >>> +SDT_PROBE_DEFINE1(priv, kernel, priv_check, priv__ok, "int"); >>> +SDT_PROBE_DEFINE1(priv, kernel, priv_check, priv__err, "int"); >>> >>> It's possible that I missed some places where old style SDT_PROBE_DEFINE >>> macros >>> are used or where an old probe name is used with SDT_PROBE_ARGTYPE or >>> SDT_PROBE. >> >> A good way to test this is to compare the output of 'dtrace -lv' with and >> without your change. If nothing changes, I'd be pretty confident that >> the diff is correct. > > Provided that my kernel has all of the SDT probes :-) > >>> >>> Please test, review, comment, etc. >> >> I don't think this diff will apply cleanly to head - I've made some changes >> that will cause conflicts, and the diff doesn't touch netinet/in_kdtrace.c >> or kern/subr_devstat.c. > > Oh, yes, my head is from ~ 2 month ago. Need to update ASAP and will rebase > the > change then. > >> Could you also update the SDT(9) man page? Also >> the "strlcpy(name, ..." immediately before the loop you added to sdt.c >> becomes redundant. > > Good points. Will fix.
I have rebased my changes and addressed your comments. The updated patch is in the same place: http://people.freebsd.org/~avg/sdt-sname-removal.diff I am also merging the other thread into this one, so here is an update patch for DTRACE_PROBE* macros: http://people.freebsd.org/~avg/dtrace-probe-macros.diff The most notable change is that the argument types are now recorded. Thank you for reviewing and your suggestions! -- Andriy Gapon _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-dtrace To unsubscribe, send any mail to "[email protected]"
