Date: Wed, 05 Jun 2013 14:50:43 -0700 From: Navdeep Parhar <np@FreeBSD.org> To: freebsd-arch@freebsd.org Subject: missing DTrace FBT return probes Message-ID: <51AFB2B3.5050105@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51AFB2B3.5050105>