diff options
author | William Cohen <wcohen@localhost.localdomain> | 2008-04-24 12:20:13 -0400 |
---|---|---|
committer | William Cohen <wcohen@localhost.localdomain> | 2008-04-24 12:20:13 -0400 |
commit | 7f79ea13a0f64573ce13353257d322ae49ef0c27 (patch) | |
tree | 60de8da5af4c2bcc26abfb9430fdca66bdc20b98 /examples/futexes.stp | |
parent | f90f92615df6ff2a62282359281889597e5dbf17 (diff) | |
download | systemtap-steved-7f79ea13a0f64573ce13353257d322ae49ef0c27.tar.gz systemtap-steved-7f79ea13a0f64573ce13353257d322ae49ef0c27.tar.xz systemtap-steved-7f79ea13a0f64573ce13353257d322ae49ef0c27.zip |
Move examples to testsuite/systemtap.examples
Diffstat (limited to 'examples/futexes.stp')
-rwxr-xr-x | examples/futexes.stp | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/examples/futexes.stp b/examples/futexes.stp deleted file mode 100755 index 16c62937..00000000 --- a/examples/futexes.stp +++ /dev/null @@ -1,36 +0,0 @@ -#! /usr/bin/env stap - -# This script tries to identify contended user-space locks by hooking -# into the futex system call. - -global thread_thislock # short -global thread_blocktime # -global FUTEX_WAIT = 0 /*, FUTEX_WAKE = 1 */ - -global lock_waits # long-lived stats on (tid,lock) blockage elapsed time -global process_names # long-lived pid-to-execname mapping - -probe syscall.futex { - if (op != FUTEX_WAIT) next # we don't care about originators of WAKE events - t = tid () - process_names[pid()] = execname() - thread_thislock[t] = $uaddr - thread_blocktime[t] = gettimeofday_us() -} - -probe syscall.futex.return { - t = tid() - ts = thread_blocktime[t] - if (ts) { - elapsed = gettimeofday_us() - ts - lock_waits[pid(), thread_thislock[t]] <<< elapsed - delete thread_blocktime[t] - delete thread_thislock[t] - } -} - -probe end { - foreach ([pid+, lock] in lock_waits) - printf ("%s[%d] lock %p contended %d times, %d avg us\n", - process_names[pid], pid, lock, @count(lock_waits[pid,lock]), @avg(lock_waits[pid,lock])) -} |