missing DTrace FBT return probes
Ryan Stone
rysto32 at gmail.com
Wed Jun 5 22:30:08 UTC 2013
On Wed, Jun 5, 2013 at 5:50 PM, Navdeep Parhar <np at freebsd.org> wrote:
> 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
> _______________________________________________
> freebsd-arch at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"
>
I would be in favour of turning this on unconditionally, along with
-fno-inline-functions-called-once and -fno-omit-frame-pointer. All of the
optimizations are of dubious value and significantly impact debugging tools
like dtrace and pmc.
More information about the freebsd-arch
mailing list