Skip site navigation (1)Skip section navigation (2)
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>