#! /bin/sh echo checking running as root if [ `whoami` != "root" ]; then echo run as root exit 1 fi echo checking /sys/kernel/debug mounted if test -d /sys/kernel/debug/tracing/events then true else mount -t debugfs /dev/null /sys/kernel/debug fi tmp=`mktemp -d` echo made work directory $tmp trap 'rm -fr $tmp' 0 1 2 3 5 9 15 # Notice we're ignoring several tracepoints: # sys_enter_*/sys_exit_*: "virtual" tracepoints unusable by stap # hcall_entry/hcall_exit: ppc64-specific tracepoints that are on the # blacklist # ftrace:function: "virtual" tracepoint unusable by stap echo gathering perf tracepoint list ${PERF-perf} list tracepoint | grep Tracepoint | egrep -v 'sys_(enter|exit)_' \ | egrep -v 'hcall_(entry|exit)'| egrep -v 'ftrace:function' \ | awk '{print $1}' | sort > $tmp/perf perf_tracepoints=`wc -l $tmp/perf | cut -f1 -d' '` echo " perf found $perf_tracepoints tracepoints" echo gathering systemtap tracepoint list ${STAP-stap} --poison-cache -L 'kernel.trace("*")' | cut -f2 -d'"' \ | sort > $tmp/stap stap_tracepoints=`wc -l $tmp/stap | cut -f1 -d' '` echo " stap found $stap_tracepoints tracepoints" echo listing tracepoints missing in stap echo comm ${COMM--23} $tmp/perf $tmp/stap