missing DTrace FBT return probes

Navdeep Parhar np at FreeBSD.org
Wed Jun 5 21:50:47 UTC 2013


A large number of kernel functions have an FBT entry probe but no return
probe.  I believe this is due to tail call optimization by the compiler.
Should we disable this optimization for kernel configs that have DTrace
support?  The missing return probes make it very difficult to write
DTrace scripts that want to set flags etc. at function entry and then
clean them up on return.

A quick sample from a recent HEAD shows ~4000 out of ~27000 functions
are missing return probes.  See the list of functions in these files
(the ones listed in entry-only.txt do not have return probes).

http://people.freebsd.org/~np/entry-only.txt
http://people.freebsd.org/~np/entry.txt
http://people.freebsd.org/~np/return.txt

Regards,
Navdeep


dtrace -ln fbt:::entry | sed -e 's/.*  *\(.*\) entry$/\1/g' | sort >
entry.txt
dtrace -ln fbt:::return | sed -e 's/.*  *\(.*\) return$/\1/g' | sort >
return.txt
comm -23 entry.txt return.txt > entry-only.txt


More information about the freebsd-arch mailing list