This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
S390x Systemtap testing on RHEL5 RC
- From: David Wilder <dwilder at us dot ibm dot com>
- To: systemtap at sources dot redhat dot com
- Date: Thu, 08 Feb 2007 14:18:08 -0800
- Subject: S390x Systemtap testing on RHEL5 RC
Here is the results from todays testing on S390 with RHEL5 RC. This
test is based on the systemtap included in the RC.
--
David Wilder
IBM Linux Technology Center
Beaverton, Oregon, USA
dwilder@us.ibm.com
(503)578-3789
Test Run By root on Thu Feb 8 12:03:45 2007
Native configuration is s390x-redhat-linux-gnu
=== systemtap tests ===
Schedule of variations:
unix
Running target unix
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap/notest.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.exp ...
PASS: bench (15)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/cache.exp ...
PASS: BASIC1 wasn't cached
PASS: BASIC2 was cached
PASS: OPTION1 wasn't cached
PASS: OPTION2 was cached
PASS: BULK1 wasn't cached
PASS: BULK2 was cached
PASS: MERGE1 wasn't cached
PASS: MERGE2 was cached
PASS: RUNTIME1 wasn't cached
PASS: RUNTIME2 was cached
PASS: DISABLED1 wasn't cached
PASS: DISABLED2 wasn't cached
PASS: MODNAM1 wasn't cached
PASS: MODNAM2 wasn't cached
PASS: ERROR1 wasn't cached
PASS: ERROR2 wasn't cached
PASS: BASIC3 wasn't cached
PASS: BASIC4 was cached
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.exp ...
FAIL: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.stp startup (eof)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/maxactive.exp ...
PASS: MAXACTIVE01 startup
PASS: MAXACTIVE01 load generation
PASS: MAXACTIVE01 shutdown and output
PASS: MAXACTIVE02 startup
PASS: MAXACTIVE02 load generation
PASS: MAXACTIVE02 shutdown and output
PASS: MAXACTIVE03 (0 skipped probes <= 12 skipped probes)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/probefunc.exp ...
FAIL: probefunc:kernel.statement(0x000000000002f084) compilation
PASS: probefunc:kernel.function("scheduler_tick") startup
PASS: probefunc:kernel.function("scheduler_tick") load generation
PASS: probefunc:kernel.function("scheduler_tick") shutdown and output
PASS: probefunc:kernel.inline("context_switch") startup
PASS: probefunc:kernel.inline("context_switch") load generation
PASS: probefunc:kernel.inline("context_switch") shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timeofday.exp ...
PASS: timeofday test startup
PASS: timeofday test load generation
PASS: timeofday test shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.exp ...
PASS: absentstats
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_fail.exp ...
PASS: foreach_fail correctly failed to compile
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear.exp ...
PASS: ix_clear passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear2.exp ...
PASS: ix_clear2 passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear3.exp ...
PASS: ix_clear3 passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp ...
ERROR: tcl error sourcing /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp.
ERROR: spawn_id: spawn id exp8 not open
while executing
"close"
(file "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp" line 26)
invoked from within
"source /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp"
("uplevel" body line 1)
invoked from within
"uplevel #0 source /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp"
invoked from within
"catch "uplevel #0 source $test_file_name""
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildko.exp ...
XFAIL: buildko/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildok.exp ...
PASS: buildok/array_size.stp
PASS: buildok/cmdline01.stp
PASS: buildok/context_test.stp
PASS: buildok/delete.stp
PASS: buildok/eight.stp
PASS: buildok/eighteen.stp
PASS: buildok/eleven.stp
PASS: buildok/fifteen.stp
PASS: buildok/five.stp
PASS: buildok/four.stp
PASS: buildok/fourteen-plus.stp
PASS: buildok/fourteen.stp
PASS: buildok/histogram_operator_in.stp
PASS: buildok/indent.stp
PASS: buildok/ioblock_test.stp
PASS: buildok/ioscheduler.stp
PASS: buildok/iterate_histogram_buckets.stp
PASS: buildok/lket.stp
PASS: buildok/marker.stp
PASS: buildok/maxactive01.stp
PASS: buildok/memory.stp
PASS: buildok/networking.stp
PASS: buildok/nine.stp
PASS: buildok/nineteen.stp
PASS: buildok/one.stp
KFAIL: buildok/perfmon01.stp (PRMS: 9999)
PASS: buildok/pmap_foreach.stp
PASS: buildok/print_histogram_entry.stp
PASS: buildok/print_histograms.stp
PASS: buildok/printf.stp
PASS: buildok/probefunc.stp
PASS: buildok/probemod.stp
KFAIL: buildok/process_test.stp (PRMS: 9999)
KFAIL: buildok/sched_test.stp (PRMS: 1155)
FAIL: buildok/scsi.stp
KPASS: buildok/seven.stp (PRMS 9999)
FAIL: buildok/seventeen.stp
PASS: buildok/six.stp
PASS: buildok/sixteen.stp
PASS: buildok/stat_extract.stp
PASS: buildok/stat_insert.stp
KFAIL: buildok/syscall.stp (PRMS: 9999)
PASS: buildok/task_test.stp
PASS: buildok/tcp_test.stp
PASS: buildok/ten.stp
PASS: buildok/thirteen.stp
PASS: buildok/three.stp
PASS: buildok/timestamp.stp
PASS: buildok/twelve.stp
FAIL: buildok/twenty.stp
PASS: buildok/twentyfive.stp
PASS: buildok/twentyfour.stp
PASS: buildok/twentyone.stp
FAIL: buildok/twentythree.stp
PASS: buildok/twentytwo.stp
PASS: buildok/two.stp
PASS: buildok/udp_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseko.exp ...
XFAIL: parseko/array01.stp
XFAIL: parseko/array02.stp
XFAIL: parseko/array03.stp
XFAIL: parseko/array04.stp
ERROR: verbose: illegal argument: -M option is valid only for bulk (relayfs) mode.
XFAIL: parseko/cmdline01.stp
XFAIL: parseko/cmdline02.stp
XFAIL: parseko/cmdline03.stp
XFAIL: parseko/cmdline04.stp
XFAIL: parseko/cmdline05.stp
XFAIL: parseko/cmdline06.stp
XFAIL: parseko/cmdlinearg01.stp
XFAIL: parseko/cmdlinearg02.stp
XFAIL: parseko/eight.stp
XFAIL: parseko/eighteen.stp
XFAIL: parseko/eleven.stp
XFAIL: parseko/fifteen.stp
XFAIL: parseko/five.stp
XFAIL: parseko/foreachstmt01.stp
XFAIL: parseko/foreachstmt02.stp
XFAIL: parseko/foreachstmt03.stp
XFAIL: parseko/foreachstmt04.stp
XFAIL: parseko/foreachstmt05.stp
XFAIL: parseko/foreachstmt06.stp
XFAIL: parseko/foreachstmt07.stp
XFAIL: parseko/forstmt01.stp
XFAIL: parseko/forstmt02.stp
XFAIL: parseko/forstmt03.stp
XFAIL: parseko/forstmt04.stp
XFAIL: parseko/four.stp
XFAIL: parseko/fourteen.stp
XFAIL: parseko/functiondecl01.stp
XFAIL: parseko/functiondecl02.stp
XFAIL: parseko/functiondecl03.stp
XFAIL: parseko/functiondecl04.stp
XFAIL: parseko/functiondecl05.stp
XFAIL: parseko/functiondecl06.stp
XFAIL: parseko/functiondecl07.stp
XFAIL: parseko/ifstmt01.stp
XFAIL: parseko/ifstmt02.stp
XFAIL: parseko/maxactive01.stp
XFAIL: parseko/maxactive02.stp
XFAIL: parseko/maxactive03.stp
XFAIL: parseko/maxactive04.stp
XFAIL: parseko/nine.stp
XFAIL: parseko/nineteen.stp
XFAIL: parseko/one.stp
XFAIL: parseko/preprocess01.stp
XFAIL: parseko/preprocess02.stp
XFAIL: parseko/preprocess03.stp
XFAIL: parseko/preprocess04.stp
XFAIL: parseko/preprocess05.stp
XFAIL: parseko/preprocess06.stp
XFAIL: parseko/preprocess07.stp
XFAIL: parseko/preprocess08.stp
XFAIL: parseko/preprocess09.stp
XFAIL: parseko/probepoint01.stp
XFAIL: parseko/probepoint02.stp
XFAIL: parseko/probepoint03.stp
XFAIL: parseko/seven.stp
XFAIL: parseko/seventeen.stp
XFAIL: parseko/six.stp
XFAIL: parseko/sixteen.stp
XFAIL: parseko/ten.stp
XFAIL: parseko/ternarystmt01.stp
XFAIL: parseko/thirteen.stp
XFAIL: parseko/three.stp
XFAIL: parseko/twelve.stp
XFAIL: parseko/twenty.stp
XFAIL: parseko/twentyone.stp
XFAIL: parseko/twentythree.stp
XFAIL: parseko/twentytwo.stp
XFAIL: parseko/two.stp
XFAIL: parseko/whilestmt01.stp
XFAIL: parseko/whilestmt02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseok.exp ...
PASS: parseok/cmdline01.stp
PASS: parseok/cmdline02.stp
PASS: parseok/eight.stp
PASS: parseok/eighteen.stp
PASS: parseok/eleven.stp
PASS: parseok/fifteen.stp
PASS: parseok/five.stp
PASS: parseok/foreachstmt01.stp
PASS: parseok/four.stp
PASS: parseok/fourteen.stp
PASS: parseok/nine.stp
PASS: parseok/one.stp
PASS: parseok/semko.stp
PASS: parseok/seven.stp
PASS: parseok/seventeen.stp
PASS: parseok/six.stp
PASS: parseok/sixteen.stp
PASS: parseok/ten.stp
PASS: parseok/thirteen.stp
PASS: parseok/three.stp
PASS: parseok/twelve.stp
PASS: parseok/two.stp
PASS: parseok/unparser.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/semko.exp ...
XFAIL: semko/eight.stp
XFAIL: semko/eighteen.stp
XFAIL: semko/eleven.stp
XFAIL: semko/fifteen.stp
XFAIL: semko/five.stp
XFAIL: semko/foreachstmt01.stp
XFAIL: semko/foreachstmt02.stp
XFAIL: semko/four.stp
XFAIL: semko/fourteen.stp
XFAIL: semko/maxactive01.stp
XFAIL: semko/maxactive02.stp
XFAIL: semko/maxactive03.stp
XFAIL: semko/nine.stp
XFAIL: semko/nineteen.stp
XFAIL: semko/one.stp
XFAIL: semko/return01.stp
XFAIL: semko/return02.stp
XFAIL: semko/seven.stp
XFAIL: semko/seventeen.stp
XFAIL: semko/six.stp
XFAIL: semko/sixteen.stp
XFAIL: semko/ten.stp
XFAIL: semko/thirteen.stp
XFAIL: semko/thirty.stp
XFAIL: semko/thirtyfive.stp
XFAIL: semko/thirtyfour.stp
XFAIL: semko/thirtyone.stp
XFAIL: semko/thirtysix.stp
XFAIL: semko/thirtythree.stp
XFAIL: semko/thirtytwo.stp
XFAIL: semko/three.stp
XFAIL: semko/twelve.stp
XFAIL: semko/twenty.stp
XFAIL: semko/twentyeight.stp
XFAIL: semko/twentyfive.stp
XFAIL: semko/twentyfour.stp
XFAIL: semko/twentynine.stp
XFAIL: semko/twentyone.stp
XFAIL: semko/twentyseven.stp
XFAIL: semko/twentysix.stp
XFAIL: semko/twentythree.stp
XFAIL: semko/twentytwo.stp
XFAIL: semko/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/semok.exp ...
PASS: semok/args.stp
PASS: semok/beginend.stp
PASS: semok/eight.stp
PASS: semok/eighteen.stp
PASS: semok/eleven.stp
PASS: semok/fifteen.stp
PASS: semok/five.stp
PASS: semok/four.stp
PASS: semok/fourteen.stp
PASS: semok/nine.stp
PASS: semok/nineteen.stp
PASS: semok/one.stp
PASS: semok/optimize.stp
PASS: semok/seven.stp
PASS: semok/seventeen.stp
PASS: semok/six.stp
PASS: semok/sixteen.stp
PASS: semok/ten.stp
PASS: semok/thirteen.stp
PASS: semok/three.stp
PASS: semok/transko.stp
PASS: semok/twelve.stp
PASS: semok/twenty.stp
PASS: semok/twentyfour.stp
PASS: semok/twentyone.stp
PASS: semok/twentythree.stp
PASS: semok/twentytwo.stp
PASS: semok/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/transko.exp ...
XFAIL: transko/array01.stp
XFAIL: transko/one.stp
XFAIL: transko/three.stp
XFAIL: transko/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/transok.exp ...
PASS: transok/buildko.stp
PASS: transok/eight.stp
PASS: transok/five.stp
PASS: transok/four.stp
PASS: transok/nine.stp
PASS: transok/one.stp
PASS: transok/seven.stp
PASS: transok/six.stp
PASS: transok/ten.stp
PASS: transok/three.stp
PASS: transok/tval-opt.stp
PASS: transok/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic1.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic1.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic2.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic3.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic3.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic4.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic4.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic5.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic5.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin1.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin1.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin2.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3.stp passed
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3a.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4.stp passed
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4a.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5.stp passed
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5a.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/int1.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/int1.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/oct.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/oct.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/ptr.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/ptr.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string1.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string1.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string2.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/args.exp ...
PASS: args search for staprun (/usr/local/bin/staprun)
PASS: args compile
PASS: args search for tmpdir (/tmp/stapHuQm9d)
PASS: args search for probe module (/tmp/stapHuQm9d/args_3770.ko)
PASS: args run 1
PASS: args run 2
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/arith.exp ...
PASS: arith
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/arith_limits.exp ...
PASS: arith
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/control_limits.exp ...
PASS: control_limits MAXNESTING (1)
PASS: control_limits MAXACTION (1)
PASS: control_limits MAXSTRINGLEN small (1)
PASS: control_limits MAXSTRINGLEN large (1)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/lket.exp ...
FAIL: systemtap.samples/lket(pass1)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/pfaults.exp ...
PASS: pfaults (2)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/poll_map.exp ...
PASS: poll_map (1)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/primes.exp ...
PASS: primes
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/profile.exp ...
PASS: profile (25)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/queue_demo.exp ...
PASS: queue_demo
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/symbols.exp ...
PASS: symbols (11)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/syscalls1.exp ...
PASS: syscalls-count (280)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/syscalls2.exp ...
PASS: syscalls-run (101)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/sysopen.exp ...
PASS: sysopen (3)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/transport.exp ...
PASS: transport normal - procfs (1)
PASS: transport normal - relayfs (1)
PASS: transport fill staging buffer - procfs (1)
PASS: transport fill staging buffer - relayfs (1)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/all_kernel_functions.exp ...
UNTESTED: all_kernel_functions is disabled
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/current.exp ...
FAIL: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/current.stp compilation
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/whitelist.exp ...
UNTESTED: whitelist is disabled
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/isinstr.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/isinstr.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/strlen.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/strlen.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/substr.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/substr.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/text_str.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/text_str.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.syscall/test.exp ...
FAIL: access
FAIL: acct
FAIL: alarm
FAIL: chmod
FAIL: clock
FAIL: dir
FAIL: forkwait
FAIL: itimer
FAIL: link
FAIL: mmap
FAIL: mount
FAIL: net1
FAIL: openclose
FAIL: readwrite
FAIL: rt_signal
FAIL: sendfile
FAIL: signal
FAIL: stat
FAIL: statfs
FAIL: swap
FAIL: sync
FAIL: timer
FAIL: trunc
FAIL: uid
UNSUPPORTED: uid16 not supported on this arch
FAIL: umask
FAIL: unlink
=== systemtap Summary ===
# of expected passes 260
# of unexpected failures 34
# of expected failures 122
# of unknown successes 1
# of known failures 4
# of untested testcases 2
# of unsupported tests 1
Test Run By root on Thu Feb 8 12:03:45 2007
Native configuration is s390x-redhat-linux-gnu
=== systemtap tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
WARNING: Couldn't find tool config file for unix, using default.
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap/notest.exp ...
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap/notest.exp completed in 0 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/590real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 3 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapWT9beS/stap_8aa29e1dd95d12726aaffac5840f1f99_458.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_8aa29e1dd95d12726aaffac5840f1f99_458.ko" in 3400usr/270sys/3527real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp load generation
systemtap ending probe
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp shutdown and output
Pass 5: run completed in 250usr/1200sys/1466real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp 560 10 590 10 0 9 0 0 2 3400 270 3527 250 1200 1466
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/598real ms.
Pass 2: analyzed script: 4 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stap0kjIho/stap_b9e7473d5e7c893a670bcccc880a9570_686.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_b9e7473d5e7c893a670bcccc880a9570_686.ko" in 4070usr/290sys/4200real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp load generation
systemtap ending probe
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp shutdown and output
Pass 5: run completed in 250usr/1180sys/1464real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp 580 10 598 10 0 10 0 0 3 4070 290 4200 250 1180 1464
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/590real ms.
Pass 2: analyzed script: 14 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stap281dOJ/stap_acc63253d94d8847c6c4c4b95398541e_1025.c" in 0usr/0sys/4real ms.
Pass 4: compiled C into "stap_acc63253d94d8847c6c4c4b95398541e_1025.ko" in 3720usr/290sys/3860real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp shutdown and output
Pass 5: run completed in 270usr/1180sys/1454real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp 570 10 590 10 0 9 0 0 4 3720 290 3860 270 1180 1454
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.exp ...
probe test.null (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:12:45), hits: 40, cycles: 128min/129avg/144max
probe test.intassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:13:45), hits: 40, cycles: 128min/148avg/400max
probe test.gintassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:14:45), hits: 40, cycles: 208min/234avg/528max
probe test.intincr (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:15:45), hits: 40, cycles: 128min/141avg/160max
probe test.gintincr (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:16:45), hits: 40, cycles: 224min/230avg/256max
probe test.strassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:18:45), hits: 40, cycles: 272min/289avg/304max
probe test.gstrassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:19:45), hits: 40, cycles: 352min/375avg/896max
probe test.forloop (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:21:52), hits: 40, cycles: 304min/326avg/576max
probe test.ifgint (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:22:52), hits: 40, cycles: 224min/241avg/544max
probe test.next (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:23:52), hits: 40, cycles: 128min/184avg/2160max
probe test.stataccum (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:25:52), hits: 40, cycles: 256min/284avg/640max
probe test.statcount (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:26:52), hits: 40, cycles: 608min/639avg/1472max
probe test.nnarrassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:28:53), hits: 40, cycles: 320min/386avg/2256max
probe test.ssarrassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:29:53), hits: 40, cycles: 800min/872avg/3232max
probe begin(9999) (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:31:1), hits: 1, cycles: 240min/240avg/240max
PASS: bench (15)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/cache.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/589real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapOudLnW/stap_eca6aa2c29574d6c91e9f2598fe19206_130.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_eca6aa2c29574d6c91e9f2598fe19206_130.ko" in 3170usr/270sys/3302real ms.
PASS: BASIC1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/589real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/ec/stap_eca6aa2c29574d6c91e9f2598fe19206_130.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/ec/stap_eca6aa2c29574d6c91e9f2598fe19206_130.ko
PASS: BASIC2 was cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/583real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stappEEHko/stap_b75576bac310f0c009b5009c14a1f874_135.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_b75576bac310f0c009b5009c14a1f874_135.ko" in 3170usr/270sys/3315real ms.
PASS: OPTION1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/590real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/b7/stap_b75576bac310f0c009b5009c14a1f874_135.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/b7/stap_b75576bac310f0c009b5009c14a1f874_135.ko
PASS: OPTION2 was cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/586real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stap1nhhq2/stap_799627f5832e3262347130b0f00e68e5_130.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_799627f5832e3262347130b0f00e68e5_130.ko" in 3340usr/280sys/3473real ms.
PASS: BULK1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/79/stap_799627f5832e3262347130b0f00e68e5_130.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/79/stap_799627f5832e3262347130b0f00e68e5_130.ko
PASS: BULK2 was cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/587real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapaFQGZK/stap_a9fd03e2744c057b6e09553ed4a392e8_130.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_a9fd03e2744c057b6e09553ed4a392e8_130.ko" in 3340usr/270sys/3471real ms.
PASS: MERGE1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/591real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/a9/stap_a9fd03e2744c057b6e09553ed4a392e8_130.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/a9/stap_a9fd03e2744c057b6e09553ed4a392e8_130.ko
PASS: MERGE2 was cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/595real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stap52QVMr/stap_d15f64806c21d8d9440e126f0a0cc40e_166.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_d15f64806c21d8d9440e126f0a0cc40e_166.ko" in 3160usr/270sys/3298real ms.
PASS: RUNTIME1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/590real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/d1/stap_d15f64806c21d8d9440e126f0a0cc40e_166.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/d1/stap_d15f64806c21d8d9440e126f0a0cc40e_166.ko
PASS: RUNTIME2 was cached
Warning: failed to create systemtap data directory ("/dev/null"): Not a directory
Disabling cache support.
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/587real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stapxOXv15/stap_4679.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_4679.ko" in 3170usr/270sys/3307real ms.
PASS: DISABLED1 wasn't cached
Warning: failed to create systemtap data directory ("/dev/null"): Not a directory
Disabling cache support.
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/587real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapzrFavY/stap_4763.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_4763.ko" in 3180usr/270sys/3306real ms.
PASS: DISABLED2 wasn't cached
Warning: using '-m' disables cache support.
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stapjlUpgT/modnam.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "modnam.ko" in 3160usr/270sys/3294real ms.
PASS: MODNAM1 wasn't cached
Warning: using '-m' disables cache support.
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/590real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stapBSeSnP/modnam.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "modnam.ko" in 3170usr/270sys/3295real ms.
PASS: MODNAM2 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/588real ms.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point XbeginX
Pass 2: analyzed script: 0 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
PASS: ERROR1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/586real ms.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point XbeginX
Pass 2: analyzed script: 0 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
PASS: ERROR2 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/589real ms.
Pass 2: analyzed script: 2 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapAM3mxY/stap_0f7ece07d1219edd30642ac9e72ac676_138.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_0f7ece07d1219edd30642ac9e72ac676_138.ko" in 3170usr/270sys/3310real ms.
PASS: BASIC3 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/587real ms.
Pass 2: analyzed script: 2 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/0f/stap_0f7ece07d1219edd30642ac9e72ac676_138.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/0f/stap_0f7ece07d1219edd30642ac9e72ac676_138.ko
PASS: BASIC4 was cached
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/cache.exp completed in 45 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 3 probe(s), 3 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapi7Suzt/stap_33244c5f4fc26f8334d709add99702d2_1298.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_33244c5f4fc26f8334d709add99702d2_1298.ko" in 3400usr/280sys/3560real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp shutdown and output
Pass 5: run completed in 260usr/1170sys/1452real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp 570 10 588 10 0 10 0 0 2 3400 280 3560 260 1170 1452
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/591real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 3 global(s) in 0usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapBNdjsf/stap_a8df9cbcffd3bd07f6c265b129425b12_461.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_a8df9cbcffd3bd07f6c265b129425b12_461.ko" in 3410usr/290sys/3562real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp load generation
systemtap ending probe
ERROR: division by 0 near operator '/' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp:21:10
WARNING: Number of errors: 1, skipped probes: 0
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp shutdown and output
Pass 5: run completed in 250usr/1180sys/1450real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp 570 10 591 0 0 9 0 0 2 3410 290 3562 250 1180 1450
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/593real ms.
Pass 2: analyzed script: 3 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 390usr/60sys/451real ms.
Pass 3: translated to C into "/tmp/stapr2UATP/stap_a442274744d7a16eec61020d246acc6a_646.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_a442274744d7a16eec61020d246acc6a_646.ko" in 3690usr/290sys/3827real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp load generation
systemtap ending probe
count = 11
count2 = 11
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp shutdown and output
Pass 5: run completed in 260usr/1180sys/1544real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp 560 10 593 390 60 451 0 0 3 3690 290 3827 260 1180 1544
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 3 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 390usr/60sys/454real ms.
Pass 3: translated to C into "/tmp/stapi2SZJb/stap_264eb69b8fe9fc6cdee6d3fdf8ab39e3_657.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_264eb69b8fe9fc6cdee6d3fdf8ab39e3_657.ko" in 3700usr/290sys/3837real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp load generation
systemtap ending probe
count = 10
loop_count = 100
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp shutdown and output
Pass 5: run completed in 250usr/1190sys/1486real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp 570 10 588 390 60 454 0 0 3 3700 290 3837 250 1190 1486
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.exp completed in 8 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/590real ms.
Pass 2: analyzed script: 4 probe(s), 1 function(s), 0 embed(s), 4 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapg6GDID/stap_41ca4f6db53553e25a50af4634f70841_717.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_41ca4f6db53553e25a50af4634f70841_717.ko" in 3440usr/290sys/3576real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp shutdown and output
Pass 5: run completed in 250usr/1180sys/1464real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp 570 10 590 10 0 10 0 0 2 3440 290 3576 250 1180 1464
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapuoOuyd/stap_26085f03cbaf9ba43e3220858383fcad_447.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_26085f03cbaf9ba43e3220858383fcad_447.ko" in 3270usr/270sys/3408real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp shutdown and output
Pass 5: run completed in 250usr/1190sys/1454real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp 570 10 588 10 0 9 0 0 2 3270 270 3408 250 1190 1454
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/589real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapzgkz6L/stap_180002c8638715505ca482767b126f76_418.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_180002c8638715505ca482767b126f76_418.ko" in 3330usr/280sys/3476real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp load generation
systemtap ending probe
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp shutdown and output
Pass 5: run completed in 260usr/1180sys/1454real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp 570 10 589 10 0 9 0 0 1 3330 280 3476 260 1180 1454
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/589real ms.
Pass 2: analyzed script: 3 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 390usr/60sys/451real ms.
Pass 3: translated to C into "/tmp/stapC9muQf/stap_5f42a3fb95519eaa3a58ece14776b6b7_400.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_5f42a3fb95519eaa3a58ece14776b6b7_400.ko" in 3530usr/280sys/3662real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp load generation
systemtap ending probe
count = 11
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp shutdown and output
Pass 5: run completed in 250usr/1200sys/1502real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp 570 10 589 390 60 451 0 0 1 3530 280 3662 250 1200 1502
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
FAIL: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.stp startup (eof)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.exp completed in 1 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 4 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapXxZ8jc/stap_8fdcd7a226a941fa058dcae9e0318059_787.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_8fdcd7a226a941fa058dcae9e0318059_787.ko" in 3620usr/280sys/3751real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp shutdown and output
Pass 5: run completed in 250usr/1190sys/1449real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp 570 10 588 10 0 9 0 0 3 3620 280 3751 250 1190 1449
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/maxactive.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/592real ms.
Pass 2: analyzed script: 5 probe(s), 2 function(s), 0 embed(s), 0 global(s) in 390usr/60sys/450real ms.
Pass 3: translated to C into "/tmp/stapYM0NR6/stap_6d7b35f8d21a3dcf65761e1219bb3424_521.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_6d7b35f8d21a3dcf65761e1219bb3424_521.ko" in 3610usr/280sys/3756real ms.
Pass 5: starting run.
systemtap starting probe
PASS: MAXACTIVE01 startup
PASS: MAXACTIVE01 load generation
systemtap ending probe
PASS: MAXACTIVE01 shutdown and output
Pass 5: run completed in 260usr/1190sys/6539real ms.
metric: MAXACTIVE01 570 10 592 390 60 450 0 0 2 3610 280 3756 260 1190 6539
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
Pass 2: analyzed script: 5 probe(s), 2 function(s), 0 embed(s), 0 global(s) in 380usr/60sys/449real ms.
Pass 3: translated to C into "/tmp/stapI0ea0m/stap_4821cb146a11fd244a235e1cde9de30b_547.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_4821cb146a11fd244a235e1cde9de30b_547.ko" in 3610usr/290sys/3755real ms.
Pass 5: starting run.
systemtap starting probe
PASS: MAXACTIVE02 startup
PASS: MAXACTIVE02 load generation
systemtap ending probe
PASS: MAXACTIVE02 shutdown and output
WARNING: Number of errors: 0, skipped probes: 12
PASS: MAXACTIVE03 (0 skipped probes <= 12 skipped probes)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/maxactive.exp completed in 25 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/591real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 0usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stap3VEX5L/stap_f2f757369605bb8e05b899a37af9bf0b_463.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_f2f757369605bb8e05b899a37af9bf0b_463.ko" in 3340usr/280sys/3486real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp load generation
systemtap ending probe
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp shutdown and output
Pass 5: run completed in 260usr/1180sys/1448real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp 570 10 591 0 0 9 0 0 1 3340 280 3486 260 1180 1448
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/probefunc.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
semantic error: no match for probe point while resolving probe point kernel.statement(192644)
FAIL: probefunc:kernel.statement(0x000000000002f084) compilation
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
Pass 2: analyzed script: 3 probe(s), 2 function(s), 0 embed(s), 1 global(s) in 390usr/60sys/447real ms.
Pass 3: translated to C into "/tmp/stapR5xZb3/stap_5fed63eb9e196e4c0b42dce1a2b08e74_1288.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_5fed63eb9e196e4c0b42dce1a2b08e74_1288.ko" in 3560usr/280sys/3697real ms.
Pass 5: starting run.
systemtap starting probe
PASS: probefunc:kernel.function("scheduler_tick") startup
PASS: probefunc:kernel.function("scheduler_tick") load generation
systemtap ending probe
scheduler_tick
PASS: probefunc:kernel.function("scheduler_tick") shutdown and output
Pass 5: run completed in 250usr/1190sys/2514real ms.
metric: probefunc:kernel.function("scheduler_tick") 570 10 593 390 60 447 0 0 1 3560 280 3697 250 1190 2514
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/592real ms.
Pass 2: analyzed script: 3 probe(s), 2 function(s), 0 embed(s), 1 global(s) in 400usr/60sys/454real ms.
Pass 3: translated to C into "/tmp/stapjTyjAd/stap_7bbff6a3708d556cf52ae10fca10d81c_1286.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_7bbff6a3708d556cf52ae10fca10d81c_1286.ko" in 3550usr/290sys/3711real ms.
Pass 5: starting run.
systemtap starting probe
PASS: probefunc:kernel.inline("context_switch") startup
PASS: probefunc:kernel.inline("context_switch") load generation
systemtap ending probe
context_switch
PASS: probefunc:kernel.inline("context_switch") shutdown and output
Pass 5: run completed in 260usr/1200sys/2521real ms.
metric: probefunc:kernel.inline("context_switch") 570 10 592 400 60 454 0 0 1 3550 290 3711 260 1200 2521
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/probefunc.exp completed in 17 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapcmxbqB/stap_3608e3a0f994dcba85c49111443aebdb_277.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_3608e3a0f994dcba85c49111443aebdb_277.ko" in 3210usr/280sys/3356real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp startup
systemtap ending probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp shutdown and output
Pass 5: run completed in 260usr/1190sys/1460real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp 570 10 588 0 0 9 0 0 1 3210 280 3356 260 1190 1460
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timeofday.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/601real ms.
Pass 2: analyzed script: 3 probe(s), 3 function(s), 1 embed(s), 1 global(s) in 390usr/60sys/452real ms.
Pass 3: translated to C into "/tmp/stapF4IXG4/stap_4f1a2f1fecb1006b8b48bf9c8227f38e_760.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_4f1a2f1fecb1006b8b48bf9c8227f38e_760.ko" in 3570usr/290sys/3826real ms.
Pass 5: starting run.
systemtap starting probe
PASS: timeofday test startup
PASS: timeofday test load generation
systemtap ending probe
1170965223152175
PASS: timeofday test shutdown and output
Pass 5: run completed in 260usr/1180sys/2498real ms.
metric: timeofday test 580 10 601 390 60 452 0 0 2 3570 290 3826 260 1180 2498
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timeofday.exp completed in 9 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/590real ms.
Pass 2: analyzed script: 9 probe(s), 0 function(s), 0 embed(s), 7 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapv1If6p/stap_8358a8f31e337023a80e79aa0c20eac2_1397.c" in 0usr/0sys/6real ms.
Pass 4: compiled C into "stap_8358a8f31e337023a80e79aa0c20eac2_1397.ko" in 4190usr/300sys/4327real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp load generation
systemtap ending probe
p = 4007
j1 = 1001
j2 = 500
jmax = 0
ms1 = 1001
ms500 = 20
msmax = 0
systemtap test success
systemtap test success
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp shutdown and output
Pass 5: run completed in 250usr/1180sys/11491real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp 570 10 590 10 0 9 0 0 6 4190 300 4327 250 1180 11491
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.exp completed in 17 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/20sys/597real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 6 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stap3jwriW/stap_41de8f35bf27e004e244fc0d9dd017ef_747.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_41de8f35bf27e004e244fc0d9dd017ef_747.ko" in 3690usr/300sys/3846real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp shutdown and output
Pass 5: run completed in 260usr/1180sys/1459real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp 570 20 597 10 0 10 0 0 3 3690 300 3846 260 1180 1459
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.exp ...
0
ERROR: empty aggregate near identifier 'sc' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:5:26
ERROR: empty aggregate near identifier 'sc' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:6:26
ERROR: empty aggregate near identifier 'sc' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:7:26
ERROR: empty aggregate near identifier 'sc' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:8:26
ERROR: empty aggregate near identifier 'print' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:9:15
ERROR: empty aggregate near identifier '@hist_log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:10:17
0
ERROR: empty aggregate near identifier 'ry' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:14:26
ERROR: empty aggregate near identifier 'ry' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:15:26
ERROR: empty aggregate near identifier 'ry' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:16:26
ERROR: empty aggregate near identifier 'ry' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:17:26
ERROR: empty aggregate near identifier 'print' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:18:15
ERROR: empty aggregate near identifier '@hist_log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:19:17
WARNING: Number of errors: 12, skipped probes: 0
PASS: absentstats
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_fail.exp ...
semantic error: variable 'foo' modified during 'foreach' iteration: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_fail.stp:13:4
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
PASS: foreach_fail correctly failed to compile
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_fail.exp completed in 1 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/591real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 0usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/staplraQPI/stap_b54d2afeb9cb55200fcca5e9acf350f7_895.c" in 0usr/0sys/4real ms.
Pass 4: compiled C into "stap_b54d2afeb9cb55200fcca5e9acf350f7_895.ko" in 4370usr/310sys/4532real ms.
Pass 5: starting run.
foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[5] = 25
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100
bar[1] = 1
bar[2] = 8
bar[3] = 27
bar[4] = 64
bar[5] = 125
bar[6] = 216
bar[7] = 343
bar[8] = 512
bar[9] = 729
bar[10] = 1000
foo[1] = 1
bar[1] = 1
foo[2] = 4
bar[2] = 8
foo[3] = 9
bar[3] = 27
foo[4] = 16
bar[4] = 64
foo[5] = 25
bar[5] = 125
foo[6] = 36
bar[6] = 216
foo[7] = 49
bar[7] = 343
foo[8] = 64
bar[8] = 512
foo[9] = 81
bar[9] = 729
foo[10] = 100
bar[10] = 1000
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[1] = 1
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[2] = 4
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[3] = 9
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[4] = 16
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[5] = 25
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[6] = 36
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[7] = 49
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[8] = 64
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[9] = 81
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[10] = 100
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.stp passed
Pass 5: run completed in 260usr/1190sys/1466real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.stp 560 10 591 0 0 10 0 0 4 4370 310 4532 260 1190 1466
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/597real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 10usr/10sys/12real ms.
Pass 3: translated to C into "/tmp/stapD21QTi/stap_33a57fa2a55d19d170e69c0a84a8ba3d_2746.c" in 0usr/0sys/15real ms.
Pass 4: compiled C into "stap_33a57fa2a55d19d170e69c0a84a8ba3d_2746.ko" in 5650usr/330sys/5802real ms.
Pass 5: starting run.
Arrays:
unsorted:
key 9, value 18
key 1, value 2
key 8, value 16
key 2, value 4
key 7, value 14
key 3, value 6
key 6, value 12
key 5, value 10
key 4, value 8
key 10, value 20
unsorted limit 5:
key 9, value 18
key 1, value 2
key 8, value 16
key 2, value 4
key 7, value 14
loop had 5 iterations
sorted limit 5:
key 1, value 2
key 2, value 4
key 3, value 6
key 4, value 8
key 5, value 10
loop had 5 iterations
sorted limit x (3):
key 1, value 2
key 2, value 4
key 3, value 6
loop had 3 iterations
sorted limit x * 2 (6):
key 1, value 2
key 2, value 4
key 3, value 6
key 4, value 8
key 5, value 10
key 6, value 12
loop had 6 iterations
sorted limit ++x:
key 1, value 2
key 2, value 4
key 3, value 6
key 4, value 8
loop had 4 iterations
x ended up as 4
sorted limit x++:
key 1, value 2
key 2, value 4
key 3, value 6
key 4, value 8
loop had 4 iterations
x ended up as 5
Aggregates:
64 total aggregate entries
aggregate limit 5:
bucket 0: 0
bucket 1: 0
bucket 2: 1
bucket 3: 4
bucket 4: 11
loop had 5 iterations
Done.
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.stp passed
Pass 5: run completed in 260usr/1200sys/1465real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.stp 580 10 597 10 10 12 0 0 15 5650 330 5802 260 1200 1465
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.exp completed in 8 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stapWkmT4a/stap_97c6a3715886905a753071709e3ac969_1132.c" in 10usr/10sys/7real ms.
Pass 4: compiled C into "stap_97c6a3715886905a753071709e3ac969_1132.ko" in 4630usr/320sys/4790real ms.
Pass 5: starting run.
foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[5] = 25
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100
foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[2] = 4
foo[3] = 900
foo[4] = -16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = -81
foo[2] = 4
foo[3] = 900
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = -81
foo[1] = 1
foo[2] = 5
foo[3] = 14
foo[4] = 30
foo[5] = 55
foo[6] = 91
foo[7] = 140
foo[8] = 204
foo[9] = 285
foo[10] = 385
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.stp passed
Pass 5: run completed in 260usr/1190sys/1465real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.stp 570 10 593 10 0 11 10 10 7 4630 320 4790 260 1190 1465
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/595real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stapjkDrKf/stap_de2429c57741a06938a97ccb14f7b842_878.c" in 10usr/0sys/4real ms.
Pass 4: compiled C into "stap_de2429c57741a06938a97ccb14f7b842_878.ko" in 4350usr/310sys/4486real ms.
Pass 5: starting run.
foo[0,0,0,0,1] = 1
foo[0,0,0,1,0] = 1
foo[0,0,0,1,1] = 2
foo[0,0,1,0,0] = 1
foo[0,0,1,0,1] = 2
foo[0,0,1,1,0] = 2
foo[0,0,1,1,1] = 3
foo[0,1,0,0,0] = 1
foo[0,1,0,0,1] = 2
foo[0,1,0,1,0] = 2
foo[0,1,0,1,1] = 3
foo[0,1,1,0,0] = 2
foo[0,1,1,0,1] = 3
foo[0,1,1,1,0] = 3
foo[0,1,1,1,1] = 4
foo[1,0,0,0,0] = 1
foo[1,0,0,0,1] = 2
foo[1,0,0,1,0] = 2
foo[1,0,0,1,1] = 3
foo[1,0,1,0,0] = 2
foo[1,0,1,0,1] = 3
foo[1,0,1,1,0] = 3
foo[1,0,1,1,1] = 4
foo[1,1,0,0,0] = 2
foo[1,1,0,0,1] = 3
foo[1,1,0,1,0] = 3
foo[1,1,0,1,1] = 4
foo[1,1,1,0,0] = 3
foo[1,1,1,0,1] = 4
foo[1,1,1,1,0] = 4
foo[1,1,1,1,1] = 5
foo[0,0,0,0,1] = 1
foo[0,0,0,1,0] = 1
foo[0,0,0,1,1] = 2
foo[0,0,1,0,0] = 1
foo[0,0,1,0,1] = 2
foo[0,0,1,1,0] = 2
foo[0,1,0,0,0] = 1
foo[0,1,0,0,1] = 2
foo[0,1,0,1,0] = 2
foo[0,1,0,1,1] = 3
foo[0,1,1,0,0] = 2
foo[0,1,1,0,1] = 3
foo[0,1,1,1,0] = 3
foo[0,1,1,1,1] = 4
foo[1,0,0,0,0] = 1
foo[1,0,0,0,1] = 2
foo[1,0,0,1,0] = 2
foo[1,0,0,1,1] = 3
foo[1,0,1,0,0] = 2
foo[1,0,1,0,1] = 3
foo[1,0,1,1,0] = 3
foo[1,0,1,1,1] = 4
foo[1,1,0,0,0] = 2
foo[1,1,0,0,1] = 3
foo[1,1,0,1,0] = 3
foo[1,1,0,1,1] = 4
foo[1,1,1,0,0] = 3
foo[1,1,1,0,1] = 4
foo[1,1,1,1,0] = 4
foo[1,1,1,1,1] = 5
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.stp passed
Pass 5: run completed in 250usr/1180sys/1458real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.stp 570 10 595 10 0 11 10 0 4 4350 310 4486 250 1180 1458
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/595real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 20usr/10sys/11real ms.
Pass 3: translated to C into "/tmp/stapf6WcOJ/stap_e75acce9e88b4a12b6f30b52f8396ac7_1198.c" in 0usr/0sys/7real ms.
Pass 4: compiled C into "stap_e75acce9e88b4a12b6f30b52f8396ac7_1198.ko" in 4720usr/320sys/4859real ms.
Pass 5: starting run.
foo[0] = The Result is 0
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[5] = The Result is 25
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[10] = The Result is 100
foo[0] = The Result is 0
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[10] = The Result is 100
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 4<------
foo[4] = The Result is 16(CHANGED)
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = New result is -81
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 4<------
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = New result is -81
foo[0] = # 0
foo[1] = # 1
foo[2] = # 4
foo[3] = # 9
foo[4] = # 16
foo[5] = # 25
foo[6] = # 36
foo[7] = # 49
foo[8] = # 64
foo[9] = # 81
foo[10] = # 100
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.stp passed
Pass 5: run completed in 260usr/1200sys/1475real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.stp 560 10 595 20 10 11 0 0 7 4720 320 4859 260 1200 1475
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/594real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stapHehYUK/stap_b4eba4208411cd542c93c98dd243b157_1227.c" in 0usr/0sys/7real ms.
Pass 4: compiled C into "stap_b4eba4208411cd542c93c98dd243b157_1227.ko" in 4910usr/330sys/5031real ms.
Pass 5: starting run.
foo[0]: count:3 sum:98 avg:32 min:-2 max:100
foo[1]: count:3 sum:99 avg:33 min:-2 max:100
foo[2]: count:3 sum:100 avg:33 min:-2 max:100
foo[3]: count:3 sum:101 avg:33 min:-2 max:100
foo[4]: count:3 sum:102 avg:34 min:-2 max:100
foo[5]: count:3 sum:103 avg:34 min:-2 max:100
foo[6]: count:3 sum:104 avg:34 min:-2 max:100
foo[7]: count:3 sum:105 avg:35 min:-2 max:100
foo[8]: count:3 sum:106 avg:35 min:-2 max:100
foo[9]: count:3 sum:107 avg:35 min:-2 max:100
foo[10]: count:3 sum:108 avg:36 min:-2 max:100
Now reverse order...
foo[10]: count:3 sum:108 avg:36 min:-2 max:100
foo[9]: count:3 sum:107 avg:35 min:-2 max:100
foo[8]: count:3 sum:106 avg:35 min:-2 max:100
foo[7]: count:3 sum:105 avg:35 min:-2 max:100
foo[6]: count:3 sum:104 avg:34 min:-2 max:100
foo[5]: count:3 sum:103 avg:34 min:-2 max:100
foo[4]: count:3 sum:102 avg:34 min:-2 max:100
foo[3]: count:3 sum:101 avg:33 min:-2 max:100
foo[2]: count:3 sum:100 avg:33 min:-2 max:100
foo[1]: count:3 sum:99 avg:33 min:-2 max:100
foo[0]: count:3 sum:98 avg:32 min:-2 max:100
Now adding 10 to each...
foo[0]: count:4 sum:108 avg:27 min:-2 max:100
foo[1]: count:4 sum:109 avg:27 min:-2 max:100
foo[2]: count:4 sum:110 avg:27 min:-2 max:100
foo[3]: count:4 sum:111 avg:27 min:-2 max:100
foo[4]: count:4 sum:112 avg:28 min:-2 max:100
foo[5]: count:4 sum:113 avg:28 min:-2 max:100
foo[6]: count:4 sum:114 avg:28 min:-2 max:100
foo[7]: count:4 sum:115 avg:28 min:-2 max:100
foo[8]: count:4 sum:116 avg:29 min:-2 max:100
foo[9]: count:4 sum:117 avg:29 min:-2 max:100
foo[10]: count:4 sum:118 avg:29 min:-2 max:100
Run a quick foreach without sorting...
complete sum of foo:1243
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.stp passed
Pass 5: run completed in 250usr/1190sys/1468real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.stp 570 10 594 10 0 11 0 0 7 4910 330 5031 250 1190 1468
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear.exp ...
foo[1] = 1 1
ERROR: empty aggregate near identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear.stp:9:50
ERROR: probe registration error (rc 1)
PASS: ix_clear passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear2.exp ...
foo[1] = 1 1
ERROR: empty aggregate near identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear2.stp:9:50
ERROR: probe registration error (rc 1)
PASS: ix_clear2 passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear2.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear3.exp ...
ERROR: empty aggregate near identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear3.stp:7:50
ERROR: probe registration error (rc 1)
PASS: ix_clear3 passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear3.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/595real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/staps8WZ1S/stap_7f4ab6d738606d519f1edd27d567a61f_470.c" in 0usr/10sys/2real ms.
Pass 4: compiled C into "stap_7f4ab6d738606d519f1edd27d567a61f_470.ko" in 4450usr/310sys/4577real ms.
Pass 5: starting run.
value |-------------------------------------------------- count
0 | 1
1 | 1
2 |@ 2
4 |@@ 4
8 |@@@@ 8
16 |@@@@@@@@ 16
32 |@@@@@@@@@@@@@@@@ 32
64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 64
128 | 0
256 | 0
value |-------------------------------------------------- count
0 | 1
1 | 0
2 | 1
4 | 2
8 |@ 4
16 |@@ 8
32 |@@@@@ 16
64 |@@@@@@@@@@ 32
128 |@@@@@@@@@@@@@@@@@@@@@ 64
256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 128
512 | 0
1024 | 0
value |-------------------------------------------------- count
0 | 1
1 | 0
2 | 1
4 | 1
8 | 3
16 |@ 5
32 |@@ 11
64 |@@@@@ 21
128 |@@@@@@@@@@ 43
256 |@@@@@@@@@@@@@@@@@@@@@ 85
512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 171
1024 |@@@@@@@@@@ 42
2048 | 0
4096 | 0
value |-------------------------------------------------- count
0 | 1
1 | 0
2 | 0
4 | 1
8 | 2
16 | 4
32 |@ 8
64 |@@ 16
128 |@@@@@ 32
256 |@@@@@@@@@@ 64
512 |@@@@@@@@@@@@@@@@@@@@@ 128
1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 256
2048 | 0
4096 | 0
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.stp passed
Pass 5: run completed in 250usr/1200sys/1477real ms.
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp ...
ERROR: Array overflow, check MAXMAPENTRIES near identifier 'stat' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.stp:17:5
ERROR: Array overflow, check MAXMAPENTRIES near identifier 'stat' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.stp:17:5
ERROR: aggregation overflow in global_stat near keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.stp:22:5
WARNING: Number of errors: 3, skipped probes: 0
ERROR: tcl error sourcing /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp.
ERROR: spawn_id: spawn id exp8 not open
while executing
"close"
(file "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp" line 26)
invoked from within
"source /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp"
("uplevel" body line 1)
invoked from within
"uplevel #0 source /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp"
invoked from within
"catch "uplevel #0 source $test_file_name""
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp completed in 28 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/608real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 0usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stapxu6E2K/stap_66398a2c66a4fd616e6dca937f1da846_1198.c" in 0usr/0sys/7real ms.
Pass 4: compiled C into "stap_66398a2c66a4fd616e6dca937f1da846_1198.ko" in 4680usr/310sys/4823real ms.
Pass 5: starting run.
foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[5] = 25
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100
foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[2] = 4
foo[3] = 900
foo[4] = -16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = -81
foo[2] = 4
foo[3] = 900
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = -81
foo[1] = 1
foo[2] = 5
foo[3] = 14
foo[4] = 30
foo[5] = 55
foo[6] = 91
foo[7] = 140
foo[8] = 204
foo[9] = 285
foo[10] = 385
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.stp passed
Pass 5: run completed in 260usr/1190sys/1463real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.stp 580 10 608 0 0 11 0 0 7 4680 310 4823 260 1190 1463
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/596real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/10sys/11real ms.
Pass 3: translated to C into "/tmp/stapnlyy9E/stap_e01568831847747ee91ad1e3548b85d9_1297.c" in 10usr/0sys/7real ms.
Pass 4: compiled C into "stap_e01568831847747ee91ad1e3548b85d9_1297.ko" in 4780usr/320sys/4928real ms.
Pass 5: starting run.
foo[0] = The Result is 0
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[5] = The Result is 25
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[10] = The Result is 100
foo[0] = The Result is 0
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[10] = The Result is 100
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 4<------
foo[4] = The Result is 16(CHANGED)
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = New result is -81
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 4<------
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = New result is -81
foo[0] = # 0
foo[1] = # 1
foo[2] = # 4
foo[3] = # 9
foo[4] = # 16
foo[5] = # 25
foo[6] = # 36
foo[7] = # 49
foo[8] = # 64
foo[9] = # 81
foo[10] = # 100
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.stp passed
Pass 5: run completed in 260usr/1190sys/1463real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.stp 570 10 596 10 10 11 10 0 7 4780 320 4928 260 1190 1463
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildko.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildko/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildko/one.stp
Pass 4: compilation failed. Try again with more '-v' (verbose) options.
Pass 4: compilation failed. Try again with more '-v' (verbose) options.
wait results: 8576 exp9 0 1
XFAIL: buildko/one.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildko.exp completed in 1 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildok.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/array_size.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/array_size.stp
wait results: 8637 exp9 0 0
PASS: buildok/array_size.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/cmdline01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/cmdline01.stp
wait results: 8723 exp9 0 0
PASS: buildok/cmdline01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/context_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/context_test.stp
wait results: 8808 exp9 0 0
PASS: buildok/context_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/delete.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/delete.stp
wait results: 8892 exp9 0 0
PASS: buildok/delete.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eight.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eight.stp
wait results: 8976 exp9 0 0
PASS: buildok/eight.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eighteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eighteen.stp
wait results: 9060 exp9 0 0
PASS: buildok/eighteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eleven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eleven.stp
wait results: 9144 exp9 0 0
PASS: buildok/eleven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fifteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fifteen.stp
wait results: 9228 exp9 0 0
PASS: buildok/fifteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/five.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/five.stp
wait results: 9312 exp9 0 0
PASS: buildok/five.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/four.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/four.stp
wait results: 9396 exp9 0 0 CHILDKILLED SIGSEGV {segmentation violation}
PASS: buildok/four.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fourteen-plus.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fourteen-plus.stp
wait results: 9399 exp9 0 0
PASS: buildok/fourteen-plus.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fourteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fourteen.stp
wait results: 9483 exp9 0 0
PASS: buildok/fourteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/histogram_operator_in.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/histogram_operator_in.stp
wait results: 9567 exp9 0 0
PASS: buildok/histogram_operator_in.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/indent.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/indent.stp
wait results: 9651 exp9 0 0
PASS: buildok/indent.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ioblock_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ioblock_test.stp
wait results: 9735 exp9 0 0
PASS: buildok/ioblock_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ioscheduler.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ioscheduler.stp
wait results: 9819 exp9 0 0
PASS: buildok/ioscheduler.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/iterate_histogram_buckets.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/iterate_histogram_buckets.stp
wait results: 9903 exp9 0 0
PASS: buildok/iterate_histogram_buckets.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/lket.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/lket.stp
wait results: 9989 exp9 0 0 CHILDKILLED SIGSEGV {segmentation violation}
PASS: buildok/lket.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/marker.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/marker.stp
wait results: 9992 exp9 0 0
PASS: buildok/marker.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/maxactive01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/maxactive01.stp
wait results: 10082 exp9 0 0
PASS: buildok/maxactive01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/memory.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/memory.stp
wait results: 10166 exp9 0 0
PASS: buildok/memory.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/networking.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/networking.stp
wait results: 10250 exp9 0 0
PASS: buildok/networking.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/nine.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/nine.stp
# probes
begin
# probes
begin
wait results: 10334 exp9 0 0
PASS: buildok/nine.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/nineteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/nineteen.stp
wait results: 10338 exp9 0 0
PASS: buildok/nineteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/one.stp
wait results: 10422 exp9 0 0
PASS: buildok/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/perfmon01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/perfmon01.stp
semantic error: incomplete: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/perfmon01.stp:12:1
semantic error: incomplete: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/perfmon01.stp:12:1
semantic error: cannot expand unknown type
semantic error: cannot expand unknown type
Pass 3: translation failed. Try again with more '-v' (verbose) options.
Pass 3: translation failed. Try again with more '-v' (verbose) options.
wait results: 10506 exp9 0 1
KFAIL: buildok/perfmon01.stp (PRMS: 9999)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/pmap_foreach.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/pmap_foreach.stp
wait results: 10510 exp9 0 0
PASS: buildok/pmap_foreach.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/print_histogram_entry.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/print_histogram_entry.stp
wait results: 10594 exp9 0 0
PASS: buildok/print_histogram_entry.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/print_histograms.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/print_histograms.stp
wait results: 10678 exp9 0 0
PASS: buildok/print_histograms.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/printf.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/printf.stp
wait results: 10762 exp9 0 0
PASS: buildok/printf.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/probefunc.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/probefunc.stp
wait results: 10846 exp9 0 0
PASS: buildok/probefunc.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/probemod.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/probemod.stp
wait results: 10930 exp9 0 0
PASS: buildok/probemod.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/process_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/process_test.stp
semantic error: no match for probe point while resolving probe point signal.handle
semantic error: no match for probe point while resolving probe point signal.handle
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 11014 exp9 0 1
KFAIL: buildok/process_test.stp (PRMS: 9999)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/sched_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/sched_test.stp
semantic error: no match for probe point while resolving probe point kernel.inline("finish_task_switch")
semantic error: no match for probe point while resolving probe point scheduler.cpu_on
semantic error: no match for probe point while resolving probe point kernel.inline("finish_task_switch")
semantic error: no match for probe point while resolving probe point scheduler.cpu_on
semantic error: no match for probe point while resolving probe point scheduler.balance
semantic error: no match for probe point while resolving probe point scheduler.balance
semantic error: no match for probe point while resolving probe point kernel.function("__switch_to")
semantic error: no match for probe point while resolving probe point kernel.function("__switch_to")
semantic error: no match for probe point while resolving probe point scheduler.ctxswitch
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: no match for probe point while resolving probe point scheduler.ctxswitch
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 11018 exp9 0 1
KFAIL: buildok/sched_test.stp (PRMS: 1155)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/scsi.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/scsi.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/scsi.stp: line 43: 11026 Segmentation fault ./stap -p4 - <<EOF
probe scsi.ioentry
{
printf("ppname: %s, %d, %d, %d\n", probefunc(),
disk_major, disk_minor, device_state)
}
probe scsi.iodispatching
{
printf("ppname: %s, %d, %d, %d, %d, %d, %d, %p, %d\n", probefunc(),
host_no, channel, lun, dev_id, device_state, data_direction,
request_buffer, req_bufflen)
}
probe scsi.iodone
{
printf("ppname: %s, %d, %d, %d, %d, %d, %d, %d\n", probefunc(),
host_no, channel, lun, dev_id, device_state, data_direction,
scsi_timer_pending)
}
probe scsi.iocompleted
{
printf("ppname: %s, %d, %d, %d, %d, %d, %d, %d\n", probefunc(),
host_no, channel, lun, dev_id, device_state, data_direction,
goodbytes)
}
EOF
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/scsi.stp: line 43: 11026 Segmentation fault ./stap -p4 - <<EOF
probe scsi.ioentry
{
printf("ppname: %s, %d, %d, %d\n", probefunc(),
disk_major, disk_minor, device_state)
}
probe scsi.iodispatching
{
printf("ppname: %s, %d, %d, %d, %d, %d, %d, %p, %d\n", probefunc(),
host_no, channel, lun, dev_id, device_state, data_direction,
request_buffer, req_bufflen)
}
probe scsi.iodone
{
printf("ppname: %s, %d, %d, %d, %d, %d, %d, %d\n", probefunc(),
host_no, channel, lun, dev_id, device_state, data_direction,
scsi_timer_pending)
}
probe scsi.iocompleted
{
printf("ppname: %s, %d, %d, %d, %d, %d, %d, %d\n", probefunc(),
host_no, channel, lun, dev_id, device_state, data_direction,
goodbytes)
}
EOF
wait results: 11022 exp9 0 139
FAIL: buildok/scsi.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seven.stp
wait results: 11027 exp9 0 0
KPASS: buildok/seven.stp (PRMS 9999)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seventeen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seventeen.stp
semantic error: libdwfl failure (dwfl_addrmodule): Operation not permitted: identifier '$write_fifo_fops' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seventeen.stp:8:19
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: libdwfl failure (dwfl_addrmodule): Operation not permitted: identifier '$write_fifo_fops' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seventeen.stp:8:19
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 11111 exp9 0 1
FAIL: buildok/seventeen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/six.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/six.stp
wait results: 11115 exp9 0 0
PASS: buildok/six.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/sixteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/sixteen.stp
wait results: 11200 exp9 0 0
PASS: buildok/sixteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/stat_extract.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/stat_extract.stp
wait results: 11285 exp9 0 0
PASS: buildok/stat_extract.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/stat_insert.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/stat_insert.stp
wait results: 11369 exp9 0 0
PASS: buildok/stat_insert.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/syscall.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/syscall.stp
semantic error: no match for probe point while resolving probe point kernel.function("sys_sgetmask")
semantic error: no match for probe point while resolving probe point kernel.function("sys_sgetmask")
semantic error: no match for probe point while resolving probe point kernel.function("sys_ssetmask")
semantic error: no match for probe point while resolving probe point kernel.function("sys_ssetmask")
semantic error: no match for probe point while resolving probe point kernel.function("sys_stime")
semantic error: no match for probe point while resolving probe point kernel.function("sys_stime")
semantic error: no match for probe point while resolving probe point kernel.function("sys_time")
semantic error: no match for probe point while resolving probe point kernel.function("sys_time")
semantic error: no match for probe point while resolving probe point kernel.function("sys_sgetmask").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_sgetmask").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_ssetmask").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_ssetmask").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_stime").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_stime").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_time").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_time").return
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 11453 exp9 0 1
KFAIL: buildok/syscall.stp (PRMS: 9999)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/task_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/task_test.stp
wait results: 11457 exp9 0 0
PASS: buildok/task_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/tcp_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/tcp_test.stp
wait results: 11541 exp9 0 0
PASS: buildok/tcp_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ten.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ten.stp
wait results: 11625 exp9 0 0
PASS: buildok/ten.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/thirteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/thirteen.stp
wait results: 11709 exp9 0 0
PASS: buildok/thirteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/three.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/three.stp
wait results: 11793 exp9 0 0
PASS: buildok/three.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/timestamp.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/timestamp.stp
wait results: 11877 exp9 0 0
PASS: buildok/timestamp.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twelve.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twelve.stp
wait results: 11961 exp9 0 0
PASS: buildok/twelve.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twenty.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twenty.stp
Pass 4: compilation failed. Try again with more '-v' (verbose) options.
Pass 4: compilation failed. Try again with more '-v' (verbose) options.
wait results: 12045 exp9 0 1
FAIL: buildok/twenty.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyfive.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyfive.stp
wait results: 12105 exp9 0 0 CHILDKILLED SIGSEGV {segmentation violation}
PASS: buildok/twentyfive.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyfour.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyfour.stp
wait results: 12108 exp9 0 0
PASS: buildok/twentyfour.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyone.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyone.stp
wait results: 12192 exp9 0 0
PASS: buildok/twentyone.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentythree.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentythree.stp
Pass 4: compilation failed. Try again with more '-v' (verbose) options.
Pass 4: compilation failed. Try again with more '-v' (verbose) options.
wait results: 12276 exp9 0 1
FAIL: buildok/twentythree.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentytwo.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentytwo.stp
wait results: 12336 exp9 0 0
PASS: buildok/twentytwo.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/two.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/two.stp
wait results: 12420 exp9 0 0
PASS: buildok/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/udp_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/udp_test.stp
wait results: 12505 exp9 0 0
PASS: buildok/udp_test.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildok.exp completed in 231 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseko.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array01.stp
parse error: array size out of range
parse error: array size out of range
saw: number '0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array01.stp:4:10
saw: number '0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array01.stp:4:10
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12591 exp9 0 1
XFAIL: parseko/array01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array02.stp
parse error: array size out of range
saw: number 'parse error: array size out of range
1000000000' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array02.stp:4:10
1 parse error(s).
saw: number '1000000000' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array02.stp:4:10
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12595 exp9 0 1
XFAIL: parseko/array02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array03.stp
parse error: only scalar globals can be initialized
saw: operator 'parse error: only scalar globals can be initialized
=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array03.stp:4:14
1 parse error(s).
saw: operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array03.stp:4:14
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12599 exp9 0 1
XFAIL: parseko/array03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array04.stp
parse error: only scalar globals can be initialized
saw: operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array04.stpparse error: only scalar globals can be initialized
:4:14
1 parse error(s).
saw: operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array04.stp:4:14
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12603 exp9 0 1
XFAIL: parseko/array04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline01.stp
-M option is valid only for bulk (relayfs) mode.
ERROR: verbose: illegal argument: -M option is valid only for bulk (relayfs) mode.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
Usage: stap [options] FILE Run script in file.
or: stap [options] - Run script on stdin.
or: stap [options] - Run script on stdin.
or: stap [options] -e SCRIPT Run given script.
or: stap [options] -e SCRIPT Run given script.
Options:
Options:
-- no more options after this
-- no more options after this
-v increase verbosity [0]
-v increase verbosity [0]
-h show help
-h show help
-V show version
-V show version
-k keep temporary directory
-k keep temporary directory
-u unoptimized translation
-u unoptimized translation
-g guru mode
-g guru mode
-b bulk (relayfs) mode
-b bulk (relayfs) mode
-M Don't merge per-cpu files for bulk (relayfs) mode [set]
-M Don't merge per-cpu files for bulk (relayfs) mode [set]
-s NUM buffer size in megabytes, instead of 0
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 1
-p NUM stop after pass NUM 1-5, instead of 1
(parse, elaborate, translate, compile, run)
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-m MODULE set probe module name, instead of stap_12610
-m MODULE set probe module name, instead of stap_12610
-o FILE send output to file, instead of stdout
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-x PID sets target() to PID
-t benchmarking timing information generated
-t benchmarking timing information generated
wait results: 12607 exp9 0 1
XFAIL: parseko/cmdline01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline02.stp
Invalid buffer size (should be 1-64).
Invalid buffer size (should be 1-64).
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
Usage: stap [options] FILE Run script in file.
or: stap [options] - Run script on stdin.
or: stap [options] - Run script on stdin.
or: stap [options] -e SCRIPT Run given script.
or: stap [options] -e SCRIPT Run given script.
Options:
Options:
-- no more options after this
-- no more options after this
-v increase verbosity [0]
-v increase verbosity [0]
-h show help
-h show help
-V show version
-V show version
-k keep temporary directory
-k keep temporary directory
-u unoptimized translation
-u unoptimized translation
-g guru mode
-g guru mode
-b bulk (relayfs) mode
-b bulk (relayfs) mode
-M Don't merge per-cpu files for bulk (relayfs) mode
-M Don't merge per-cpu files for bulk (relayfs) mode
-s NUM buffer size in megabytes, instead of 0
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 1
-p NUM stop after pass NUM 1-5, instead of 1
(parse, elaborate, translate, compile, run)
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-m MODULE set probe module name, instead of stap_12614
-m MODULE set probe module name, instead of stap_12614
-o FILE send output to file, instead of stdout
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-x PID sets target() to PID
-t benchmarking timing information generated
-t benchmarking timing information generated
wait results: 12611 exp9 0 1
XFAIL: parseko/cmdline02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline03.stp
Invalid pass number (should be 1-5).
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
or: stap [options] - Run script on stdin.
or: stap [options] -e SCRIPT Run given script.
Options:
-- no more options after this
-v increase verbosity [Invalid pass number (should be 1-5).
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
or: stap [options] - Run script on stdin.
or: stap [options] -e SCRIPT Run given script.
Options:
-- no more options after this
0]
-h show help
-V show version
-k keep temporary directory
-u unoptimized translation
-g guru mode
-b bulk (relayfs) mode
-M Don't merge per-cpu files for bulk (relayfs) mode
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 0
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-m MODULE set probe module name, instead of stap_12618
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-t benchmarking timing information generated
-v increase verbosity [0]
-h show help
-V show version
-k keep temporary directory
-u unoptimized translation
-g guru mode
-b bulk (relayfs) mode
-M Don't merge per-cpu files for bulk (relayfs) mode
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 0
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-m MODULE set probe module name, instead of stap_12618
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-t benchmarking timing information generated
wait results: 12615 exp9 0 1
XFAIL: parseko/cmdline03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline04.stp
Only one script can be given on the command line.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)Only one script can be given on the command line.
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
or: stap [options] - Run script on stdin.
or: stap [options] -e SCRIPT Run given script.
Options:
-- no more options after this
-v increase verbosity [0]
-h show help
-V show version
-k keep temporary directory
-u unoptimized translation
-g guru mode
-b bulk (relayfs) mode
-M Don't merge per-cpu files for bulk (relayfs) mode
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 1
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-m MODULE set probe module name, instead of stap_12622
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
or: stap [options] - Run script on stdin.
or: stap [options] -e SCRIPT Run given script.
Options:
-- no more options after this
-v increase verbosity [0]
-h show help
-V show version
-k keep temporary directory
-u unoptimized translation
-g guru mode
-b bulk (relayfs) mode
-M Don't merge per-cpu files for bulk (relayfs) mode
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 1
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-t benchmarking timing information generated
-m MODULE set probe module name, instead of stap_12622
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-t benchmarking timing information generated
wait results: 12619 exp9 0 1
XFAIL: parseko/cmdline04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline05.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline05.stp
You can't specify -M, -b and -o options together.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using You can't specify -M, -b and -o options together.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
or: stap [options] - Run script on stdin.
or: stap [options] -e SCRIPT Run given script.
Options:
-- no more options after this
-v increase verbosity [0]
-h show help
-V show version
-k keep temporary directory
-u unoptimized translation
-g guru mode
-b bulk (relayfs) mode [set]
-M Don't merge per-cpu files for bulk (relayfs) mode [set]
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 1
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-m MODULE set probe module name, instead of stap_12626
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-t benchmarking timing information generated
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
or: stap [options] - Run script on stdin.
or: stap [options] -e SCRIPT Run given script.
Options:
-- no more options after this
-v increase verbosity [0]
-h show help
-V show version
-k keep temporary directory
-u unoptimized translation
-g guru mode
-b bulk (relayfs) mode [set]
-M Don't merge per-cpu files for bulk (relayfs) mode [set]
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 1
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-m MODULE set probe module name, instead of stap_12626
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-t benchmarking timing information generated
wait results: 12623 exp9 0 1
XFAIL: parseko/cmdline05.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline06.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline06.stp
ERROR: cannot create temporary directory ("/dev/null/BADTMPDIR/stapMFNClF"): Not a directory
ERROR: cannot create temporary directory ("/dev/null/BADTMPDIR/stapMFNClF"): Not a directory
wait results: 12627 exp9 0 1
XFAIL: parseko/cmdline06.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp
parse error: command line argument index invalid or out of range
at: identifier '$0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp:parse error: command line argument index invalid or out of range
5:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp EOF
2 parse error(s).
at: identifier '$0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp:5:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12631 exp9 0 1
XFAIL: parseko/cmdlinearg01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp
parse error: command line argument index invalid or out of range
at: identifier '$12A3parse error: command line argument index invalid or out of range
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp:5:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp EOF
2 parse error(s).
at: identifier '$12A3' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp:5:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12635 exp9 0 1
XFAIL: parseko/cmdlinearg02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eight.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eight.stp
parse error: expected identifier
saw: parse error: expected identifier
operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eight.stp:3:24
1 parse error(s).
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eight.stp:3:24
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12639 exp9 0 1
XFAIL: parseko/eight.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eighteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eighteen.stp
parse error: expected identifier
saw: number '123' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eighteen.stpparse error: expected identifier
:4:8
1 parse error(s).
saw: number '123' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eighteen.stp:4:8
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12643 exp9 0 1
XFAIL: parseko/eighteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eleven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eleven.stp
parse error: duplicate function name
saw: identifier 'fooparse error: duplicate function name
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eleven.stp:4:10
1 parse error(s).
saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eleven.stp:4:10
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12647 exp9 0 1
XFAIL: parseko/eleven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fifteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fifteen.stp
parse error: multiple sort directives
saw: operator '-parse error: multiple sort directives
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fifteen.stp:5:17
1 parse error(s).
saw: operator '-' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fifteen.stp:5:17
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12651 exp9 0 1
XFAIL: parseko/fifteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp
parse error: expected literal string or number
saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stpparse error: expected literal string or number
:3:12
parse error: expected literal string or number
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:6:11
parse error: expected identifier or '*'
saw:
saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:3:12
parse error: expected literal string or number
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:6:11
parse error: expected identifier or '*'
operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:9:11
parse error: expected identifier or '*'
saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:12:15
parse error: expected identifier or '*'
saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:15:16
saw: operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:9:11
parse error: expected identifier or '*'
saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:12:15
parse error: expected identifier or '*'
saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:15:16
5 parse error(s).
5 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12655 exp9 0 1
XFAIL: parseko/five.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp
parse error: expected '('
parse error: expected '('
saw: identifier 'key' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp:10:13
saw: identifier 'key' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp:10:13
parse error: expected statement
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp EOF
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp EOF
2 parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12659 exp9 0 1
XFAIL: parseko/foreachstmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp
parse error: expected identifier
parse error: expected identifier
saw: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp:10:14
saw: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp:10:14
parse error: expected statement
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp EOF
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp EOF
2 parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12663 exp9 0 1
XFAIL: parseko/foreachstmt02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp
parse error: expected ',' or ']'
parse error: expected ',' or ']'
saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp:10:19
saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp:10:19
parse error: expected statement
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp EOF
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp EOF
2 parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12667 exp9 0 1
XFAIL: parseko/foreachstmt03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp
parse error: multiple sort directives
saw: operator 'parse error: multiple sort directives
-' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp:10:27
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp EOF
2 parse error(s).
saw: operator '-' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp:10:27
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12671 exp9 0 1
XFAIL: parseko/foreachstmt04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp
parse error: expected ')'
saw: identifier 'priparse error: expected ')'
ntf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp:11:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp EOF
2 parse error(s).
saw: identifier 'printf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp:11:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12675 exp9 0 1
XFAIL: parseko/foreachstmt05.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp
parse error: expected literal string or number
parse error: expected literal string or number
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp:10:32
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp:10:32
parse error: expected statement
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp EOF
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp EOF
2 parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12679 exp9 0 1
XFAIL: parseko/foreachstmt06.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp
parse error: expected ')'
saw: number 'parse error: expected ')'
5' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp:10:27
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp EOF
2 parse error(s).
saw: number '5' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp:10:27
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12683 exp9 0 1
XFAIL: parseko/foreachstmt07.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt01.stp
parse error: expected '('
saw: identifier 'i' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt01.stp:7:9
parse error: expected '('
saw: identifier 'i' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt01.stp:7:9
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12687 exp9 0 1
XFAIL: parseko/forstmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp
parse error: expected ';'
saw: operator 'parse error: expected ';'
)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp:7:15
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp EOF
2 parse error(s).
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp:7:15
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12691 exp9 0 1
XFAIL: parseko/forstmt02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp
parse error: expected ';'
parse error: expected ';'
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp:7:22
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp:7:22
parse error: expected statement
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp EOF
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp EOF
2 parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12695 exp9 0 1
XFAIL: parseko/forstmt03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp
parse error: expected ')'
saw: identifier 'j'parse error: expected ')'
at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp:8:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp EOF
2 parse error(s).
saw: identifier 'j' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp:8:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12699 exp9 0 1
XFAIL: parseko/forstmt04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/four.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/four.stp
parse error: expected literal string or number
saw: operator '->' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/four.stp:4:17
1 parse error(s).
parse error: expected literal string or number
saw: operator '->' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/four.stp:4:17
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12703 exp9 0 1
XFAIL: parseko/four.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fourteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fourteen.stp
parse error: embedded code in unprivileged script
parse error: embedded code in unprivileged script
saw: embedded-code at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fourteen.stp:3:17
saw: embedded-code at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fourteen.stp:3:17
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12707 exp9 0 1
XFAIL: parseko/fourteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl01.stp
parse error: expected identifier
saw: number '123parse error: expected identifier
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl01.stp:4:10
1 parse error(s).
saw: number '123' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl01.stp:4:10
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12711 exp9 0 1
XFAIL: parseko/functiondecl01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl02.stp
parse error: expected identifier
parse error: expected identifier
saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl02.stp:4:10
saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl02.stp:4:10
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12715 exp9 0 1
XFAIL: parseko/functiondecl02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl03.stp
parse error: expected 'string' or 'long'
saw: identifier 'foparse error: expected 'string' or 'long'
o' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl03.stp:5:15
1 parse error(s).
saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl03.stp:5:15
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12719 exp9 0 1
XFAIL: parseko/functiondecl03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl04.stp
parse error: expected '('
parse error: expected '('
saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl04.stp:5:1
saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl04.stp:5:1
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12723 exp9 0 1
XFAIL: parseko/functiondecl04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl05.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl05.stp
parse error: expected identifier
saw: operator 'parse error: expected identifier
*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl05.stp:4:15
1 parse error(s).
saw: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl05.stp:4:15
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12727 exp9 0 1
XFAIL: parseko/functiondecl05.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl06.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl06.stp
parse error: expected 'string' or 'long'
saw: identifier 'fooparse error: expected 'string' or 'long'
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl06.stp:4:17
1 parse error(s).
saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl06.stp:4:17
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12731 exp9 0 1
XFAIL: parseko/functiondecl06.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl07.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl07.stp
parse error: expected ',' or ')'
saw: identifier 'b' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl07.stpparse error: expected ',' or ')'
:4:17
1 parse error(s).
saw: identifier 'b' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl07.stp:4:17
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12735 exp9 0 1
XFAIL: parseko/functiondecl07.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp
parse error: expected '('
parse error: expected '('
saw: identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp:7:8
saw: identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp:7:8
parse error: expected statement
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp EOF
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp EOF
2 parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12739 exp9 0 1
XFAIL: parseko/ifstmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp
parse error: expected ')'
parse error: expected ')'
saw: identifier 'printf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp:8:9
saw: identifier 'printf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp:8:9
parse error: expected statement
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp EOF
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp EOF
2 parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12743 exp9 0 1
XFAIL: parseko/ifstmt02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive01.stp
semantic error: probe point mismatch at position 1 (alternatives:) while resolving probe point begin.maxactive(3)
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 1 (alternatives:) while resolving probe point begin.maxactive(3)
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 12747 exp9 0 1
XFAIL: parseko/maxactive01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive02.stp
parse error: expected literal string or number
saw: identifier 'N' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive02.stp:7:45
parse error: expected literal string or number
saw: identifier 'N' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive02.stp:7:45
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12751 exp9 0 1
XFAIL: parseko/maxactive02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive03.stp
parse error: expected literal string or number
saw: identifier 'parse error: expected literal string or number
four' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive03.stp:7:45
1 parse error(s).
saw: identifier 'four' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive03.stp:7:45
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12755 exp9 0 1
XFAIL: parseko/maxactive03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive04.stp
parse error: expected ')'
saw: operator 'parse error: expected ')'
+' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive04.stp:5:47
1 parse error(s).
saw: operator '+' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive04.stp:5:47
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12759 exp9 0 1
XFAIL: parseko/maxactive04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nine.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nine.stp
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nine.stp EOF
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nine.stp EOF
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12763 exp9 0 1
XFAIL: parseko/nine.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp
parse error: found 'next' not in probe context
saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp:7:5
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp EOF
2 parse error(s).
parse error: found 'next' not in probe context
saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp:7:5
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12767 exp9 0 1
XFAIL: parseko/nineteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/one.stp
parse error: expected 'probe', 'global', 'function', or '%{'
saw: string 'not parse error: expected 'probe', 'global', 'function', or '%{'
a probe' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/one.stp:2:1
1 parse error(s).
saw: string 'not a probe' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/one.stp:2:1
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12771 exp9 0 1
XFAIL: parseko/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp
parse error: expected string literal
at: parse error: expected string literal
number '2' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp:4:16
at: number '2' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp:4:16
parse error: expected 'probe', 'global', 'function', or '%{'
saw:
parse error: expected 'probe', 'global', 'function', or '%{'
operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp:6:1
saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp:6:1
2 parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12775 exp9 0 1
XFAIL: parseko/preprocess01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp
parse error: expected comparison operator
at: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp:4:13
parse error: expected comparison operator
at: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp:4:13
parse error: expected 'probe', 'global', 'function', or '%{'
saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp:6:1
2 parse error(s).
parse error: expected 'probe', 'global', 'function', or '%{'
saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp:6:1
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12779 exp9 0 1
XFAIL: parseko/preprocess02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp
parse error: expected string literal
parse error: expected string literal
at: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp:4:12
at: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp:4:12
parse error: expected 'probe', 'global', 'function', or '%{'
saw:
parse error: expected 'probe', 'global', 'function', or '%{'
operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp:6:1
2
saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp:6:1
parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12783 exp9 0 1
XFAIL: parseko/preprocess03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp
parse error: expected '==' or '!='
at: operator '>=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp:4:9
parse error: expected '==' or '!='
at: operator '>=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp:4:9
parse error: expected 'probe', 'global', 'function', or '%{'
saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp:6:1
2 parse error(s).
parse error: expected 'probe', 'global', 'function', or '%{'
saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp:6:1
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12787 exp9 0 1
XFAIL: parseko/preprocess04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp
parse error: expected 'arch' or 'kernel_v' or 'kernel_vr'
at: identifierparse error: expected 'arch' or 'kernel_v' or 'kernel_vr'
'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp:4:4
at: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp:4:4
parse error: expected 'probe', 'global', 'function', or '%{'
saw:
parse error: expected 'probe', 'global', 'function', or '%{'
operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp:6:1
saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp:6:1
2 parse error(s).
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12791 exp9 0 1
XFAIL: parseko/preprocess05.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp
parse error: expected '%?' marker for conditional
at: operatorparse error: expected '%?' marker for conditional
'%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp:4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp' is empty or missing.
at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp:4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp' is empty or missing.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12795 exp9 0 1
XFAIL: parseko/preprocess06.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp
parse error: incomplete condition after '%('
at: parse error: incomplete condition after '%('
operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp:4:1
at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp:4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp' is empty or missing.
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp' is empty or missing.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12799 exp9 0 1
XFAIL: parseko/preprocess07.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp
parse error: missing THEN tokens for conditional
at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp:4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp' is empty or missing.
parse error: missing THEN tokens for conditional
at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp:4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp' is empty or missing.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12803 exp9 0 1
XFAIL: parseko/preprocess08.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp
parse error: missing ELSE tokens for conditional
at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp:parse error: missing ELSE tokens for conditional
4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp' is empty or missing.
at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp:4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp' is empty or missing.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12807 exp9 0 1
XFAIL: parseko/preprocess09.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint01.stp
parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
saw: identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint01.stp:4:11
saw: identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint01.stp:4:11
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12811 exp9 0 1
XFAIL: parseko/probepoint01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint02.stp
parse error: expected ')'
saw: operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint02.stp:4:12
parse error: expected ')'
saw: operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint02.stp:4:12
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12815 exp9 0 1
XFAIL: parseko/probepoint02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint03.stp
parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
saw: parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint03.stp:4:13
1 parse error(s).
saw: operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint03.stp:4:13
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12819 exp9 0 1
XFAIL: parseko/probepoint03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp
parse error: expected literal string or number
saw: operator 'parse error: expected literal string or number
]' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:4:6
parse error: expected literal string or number
saw: operator
saw: operator ']' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:4:6
parse error: expected literal string or number
',' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:5:4
parse error: expected literal string or number
saw: operator ']'
saw: operator ',' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:5:4
parse error: expected literal string or number
at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:6:4
3 parse error(s).
saw: operator ']' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:6:4
3 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12823 exp9 0 1
XFAIL: parseko/seven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seventeen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seventeen.stp
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seventeen.stp' is empty or missing.
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seventeen.stp' is empty or missing.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12827 exp9 0 1
XFAIL: parseko/seventeen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp
parse error: number invalid or out of range
saw: number '999999parse error: number invalid or out of range
9999999999999999999' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:4:8
saw: number '9999999999999999999999999' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:4:8
parse error: number invalid or out of range
saw: number '0xzoopoo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:5:7
parse error: number invalid or out of range
saw: number '0xzoopoo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:5:7
parse error: number invalid or out of range
saw: number '0001112223334445556667778
parse error: number invalid or out of range
8' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:6:7
saw: number '00011122233344455566677788' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:6:7
parse error: number invalid or out of range
saw: number '07777777777777777777777777' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp
parse error: number invalid or out of range
:7:7
saw: number '07777777777777777777777777' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:7:7
parse error: number invalid or out of range
saw: number '18446744073709551616' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:8:7
5 parse error(s).
parse error: number invalid or out of range
saw: number '18446744073709551616' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:8:7
5 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12831 exp9 0 1
XFAIL: parseko/six.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/sixteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/sixteen.stp
parse error: expected 'probe', 'global', 'function', or '%{'
saw: junk '?' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/sixteen.stp:3:1
parse error: expected 'probe', 'global', 'function', or '%{'
saw: junk '?' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/sixteen.stp:3:1
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12835 exp9 0 1
XFAIL: parseko/sixteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ten.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ten.stp
parse error: expected statement
saw: embedded-code at <input>:3:3
parse error: expected statement
saw: embedded-code at <input>:3:3
parse error: expected statement
saw: <input> EOF
2 parse error(s).
parse error: expected statement
saw: <input> EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12839 exp9 0 1
XFAIL: parseko/ten.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ternarystmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ternarystmt01.stp
parse error: expected ':'
saw: operator '}' at parse error: expected ':'
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ternarystmt01.stp:8:1
1 parse error(s).
saw: operator '}' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ternarystmt01.stp:8:1
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12844 exp9 0 1
XFAIL: parseko/ternarystmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/thirteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/thirteen.stp
parse error: embedded code in unprivileged script
saw: embedded-code at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/thirteen.stp:3:1parse error: embedded code in unprivileged script
1 parse error(s).
saw: embedded-code at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/thirteen.stp:3:1
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12848 exp9 0 1
XFAIL: parseko/thirteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/three.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/three.stp
parse error: expected 'in'
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/three.stp:3:13
parse error: expected 'in'
saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/three.stp:3:13
1 parse error(s).
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12852 exp9 0 1
XFAIL: parseko/three.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twelve.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twelve.stp
parse error: duplicate global name
saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twelve.stp:parse error: duplicate global name
4:8
1 parse error(s).
saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twelve.stp:4:8
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12856 exp9 0 1
XFAIL: parseko/twelve.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp
parse error: found 'return' not in function context
saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp:7:5
parse error: found 'return' not in function context
saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp:7:5
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp EOF
2 parse error(s).
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12860 exp9 0 1
XFAIL: parseko/twenty.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp
parse error: unknown statistic operator @foo
saw: identifier '@foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp:8parse error: unknown statistic operator @foo
:24
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp EOF
2 parse error(s).
saw: identifier '@foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp:8:24
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12864 exp9 0 1
XFAIL: parseko/twentyone.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentythree.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentythree.stp
usage error: tapset file '/usr/local/share/systemtap/tapset/indent.stp' cannot be run directly as a session script.
usage error: tapset file '/usr/local/share/systemtap/tapset/indent.stp' cannot be run directly as a session script.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12868 exp9 0 1
XFAIL: parseko/twentythree.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentytwo.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentytwo.stp
parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
saw: operator '*' at parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentytwo.stp:5:9
1 parse error(s).
saw: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentytwo.stp:5:9
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12873 exp9 0 1
XFAIL: parseko/twentytwo.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/two.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/two.stp
parse error: expected literal string or number
saw: operator '}' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/two.stp:4:1
1 parse error(s).
parse error: expected literal string or number
saw: operator '}' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/two.stp:4:1
1 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12877 exp9 0 1
XFAIL: parseko/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp
parse error: expected '('
saw: number '0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp:7:11
parse error: expected '('
saw: number '0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp:7:11
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp EOF
2 parse error(s).
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12881 exp9 0 1
XFAIL: parseko/whilestmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp
parse error: expected ')'
saw: identifier 'printf'parse error: expected ')'
at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp:8:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp EOF
2 parse error(s).
saw: identifier 'printf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp:8:9
parse error: expected statement
saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp EOF
2 parse error(s).
Pass 1: parse failed. Try again with more '-v' (verbose) options.
Pass 1: parse failed. Try again with more '-v' (verbose) options.
wait results: 12885 exp9 0 1
XFAIL: parseko/whilestmt02.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseko.exp completed in 43 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseok.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/cmdline01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/cmdline01.stp
output version
output version
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
output version and help
output version and help
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
or: stap [options] - Run script on stdin.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Usage: stap [options] FILE Run script in file.
or: stap [options] -e SCRIPT Run given script.
Options:
-- no more options after this
-v increase verbosity [0]
-h show help
-V show version
-k keep temporary directory
-u unoptimized translation
-g guru mode
-b bulk (relayfs) mode
-M Don't merge per-cpu files for bulk (relayfs) mode
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 5
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-m MODULE set probe module name, instead of stap_12893
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-t benchmarking timing information generated
or: stap [options] - Run script on stdin.
or: stap [options] -e SCRIPT Run given script.
Options:
-- no more options after this
-v increase verbosity [0]
-h show help
-V show version
-k keep temporary directory
-u unoptimized translation
-g guru mode
-b bulk (relayfs) mode
-M Don't merge per-cpu files for bulk (relayfs) mode
-s NUM buffer size in megabytes, instead of 0
-p NUM stop after pass NUM 1-5, instead of 5
(parse, elaborate, translate, compile, run)
-I DIR look in DIR for additional .stp script files, in addition to
/usr/local/share/systemtap/tapset
/usr/local/share/systemtap/tapset/LKET
-D NM=VAL emit macro definition into generated C code
-R DIR look in DIR for runtime, instead of
/usr/local/share/systemtap/runtime
-r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
-m MODULE set probe module name, instead of stap_12893
-o FILE send output to file, instead of stdout
-c CMD start the probes, run CMD, and exit when it finishes
-x PID sets target() to PID
-t benchmarking timing information generated
wait results: 12889 exp9 0 0
PASS: parseok/cmdline01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/cmdline02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/cmdline02.stp
# parse tree dump
# file <input>
probe begin{
exit()
}
# file /usr/local/share/systemtap/tapset/aux_syscalls.stp
%{
static const int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
static void _stp_ctime(time_t t, char *buf, int buflen)
{
int mon=1, day, hour, min, sec, num, d, year = 1970;
sec = t % 60;
min = t/60 % 60;
hour = t/(60*60) % 24;
day = t/(24*60*60);
while(1) {
d = (!(year % 4) && ((year % 100) || !(year % 400))) ? 366 : 365;
if (day >= d)
day -= d;
else
break;
year++;
}
while (mon < 12) {
num = days_in_month[mon-1];
if (mon == 2 && d == 366)
num++;
if (day >= num)
day -= num;
else
break;
mon++;
}
snprintf(buf, buflen, "%4d/%02d/%02d-%02d:%02d:%02d", year, mon, day+1, hour, min, sec);
buf[buflen-1] = 0;
}
# parse tree dump
# file <input>
probe begin{
exit()
}
# file /usr/local/share/systemtap/tapset/aux_syscalls.stp
%{
static const int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
static void _stp_ctime(time_t t, char *buf, int buflen)
{
int mon=1, day, hour, min, sec, num, d, year = 1970;
sec = t % 60;
min = t/60 % 60;
hour = t/(60*60) % 24;
day = t/(24*60*60);
while(1) {
d = (!(year % 4) && ((year % 100) || !(year % 400))) ? 366 : 365;
if (day >= d)
day -= d;
else
break;
year++;
}
while (mon < 12) {
num = days_in_month[mon-1];
if (mon == 2 && d == 366)
num++;
if (day >= num)
day -= num;
else
break;
mon++;
}
snprintf(buf, buflen, "%4d/%02d/%02d-%02d:%02d:%02d", year, mon, day+1, hour, min, sec);
buf[buflen-1] = 0;
}
%}%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/tcp.h>
#include <linux/socket.h>
#include <linux/un.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11)
#define LPORT (inet->inet.num)
#define DADDR (&inet->inet.daddr)
#else
#define LPORT (inet->num)
#define DADDR (&inet->daddr)
#endif
//FIXME. Not done yet.
void _stp_sockaddr_str(char *str, const int strlen, char *buf, int len)
{
struct sockaddr *sa = (struct sockaddr *)buf;
switch (sa->sa_family) {
case AF_INET:
{
struct sockaddr_in *sin = (struct sockaddr_in *)buf;
const unsigned char *addr = (unsigned char *)&sin->sin_addr;
snprintf(str, strlen, "{AF_INET, %d.%d.%d.%d, %d}",
addr[0], addr[1], addr[2], addr[3], ntohs(sin->sin_port));
break;
}
case AF_UNIX:
{
struct sockaddr_un *sun = (struct sockaddr_un *)buf;
snprintf(str, strlen, "{AF_UNIX, %s}", sun->sun_path);
break;
}
case AF_NETLINK:
{
struct sockaddr_nl *nl = (struct sockaddr_nl *)buf;
snprintf(str, strlen, "{AF_NETLINK, pid=%d, groups=%08x}", nl->nl_pid, nl->nl_groups);
break;
}
case AF_INET6:
{
// FIXME. Address is probably not correctly displayed
struct sockaddr_in6 *sin = (struct sockaddr_in6 *)buf;
snprintf(str, strlen, "{AF_INET6, %016llx, %d}",
*(long long *)&sin->sin6_addr, ntohs(sin->sin6_port));
break;
}
case AF_PACKET:
{
/* FIXME. This needs tested */
struct sockaddr_ll *sll = (struct sockaddr_ll *)buf;
#if defined(__powerpc__) || defined(__ia64__)
snprintf(str, strlen, "{AF_PACKET, proto=%d, ind=%d, hatype=%d, pkttype=%d, halen=%d, addr=0x%lx}",
(int)sll->sll_protocol, sll->sll_ifindex, (int)sll->sll_hatype, (int)sll->sll_pkttype,
(int)sll->sll_halen, *(uint64_t *)sll->sll_addr);
#else
snprintf(str, strlen, "{AF_PACKET, proto=%d, ind=%d, hatype=%d, pkttype=%d, halen=%d, addr=0x%llx}",
(int)sll->sll_protocol, sll->sll_ifindex, (int)sll->sll_hatype, (int)sll->sll_pkttype,
(int)sll->sll_halen, *(uint64_t *)sll->sll_addr);
#endif
break;
}
default:
snprintf(str, strlen, "{unknown address family %d}", sa->sa_family);
}
}
%}function _struct_timeval_u (uaddr)
%{ /* pure */
struct timeval tv;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&tv,ptr,sizeof(struct timeval)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", tv.tv_sec, tv.tv_usec);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _struct_compat_timeval_u (uaddr)
%{ /* pure */
struct compat_timeval tv;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&tv,ptr,sizeof(struct compat_timeval)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", (long)tv.tv_sec, (long)tv.tv_usec);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _struct_timeval (addr)
%{ /* pure */
struct timeval *tv;
char *ptr = (char *)(unsigned long)THIS->addr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
tv=(struct timeval *) ptr;
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", tv->tv_sec, tv->tv_usec);
}
%}
function _struct_timezone_u (uaddr)
%{ /* pure */
struct timezone tz;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&tz,ptr,sizeof(struct timezone)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d, %d]", tz.tz_minuteswest, tz.tz_dsttime);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _struct_utimbuf_u (uaddr)
%{ /* pure */
#include <linux/utime.h>
struct utimbuf ubuf;
static char abuf[24], mbuf[24];
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) {
_stp_ctime(ubuf.actime, abuf, 24);
_stp_ctime(ubuf.modtime, mbuf, 24);
snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s, %s", abuf, mbuf);
} else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _struct_compat_utimbuf_u (uaddr)
%{ /* pure */
#include <linux/utime.h>
struct compat_utimbuf ubuf;
static char abuf[24], mbuf[24];
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) {
_stp_ctime(ubuf.actime, abuf, 24);
_stp_ctime(ubuf.modtime, mbuf, 24);
snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s, %s", abuf, mbuf);
} else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/tcp.h>
#include <linux/socket.h>
#include <linux/un.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11)
#define LPORT (inet->inet.num)
#define DADDR (&inet->inet.daddr)
#else
#define LPORT (inet->num)
#define DADDR (&inet->daddr)
#endif
//FIXME. Not done yet.
void _stp_sockaddr_str(char *str, const int strlen, char *buf, int len)
{
struct sockaddr *sa = (struct sockaddr *)buf;
switch (sa->sa_family) {
case AF_INET:
{
struct sockaddr_in *sin = (struct sockaddr_in *)buf;
const unsigned char *addr = (unsigned char *)&sin->sin_addr;
snprintf(str, strlen, "{AF_INET, %d.%d.%d.%d, %d}",
addr[0], addr[1], addr[2], addr[3], ntohs(sin->sin_port));
break;
}
case AF_UNIX:
{
struct sockaddr_un *sun = (struct sockaddr_un *)buf;
snprintf(str, strlen, "{AF_UNIX, %s}", sun->sun_path);
break;
}
case AF_NETLINK:
{
struct sockaddr_nl *nl = (struct sockaddr_nl *)buf;
snprintf(str, strlen, "{AF_NETLINK, pid=%d, groups=%08x}", nl->nl_pid, nl->nl_groups);
break;
}
case AF_INET6:
{
// FIXME. Address is probably not correctly displayed
struct sockaddr_in6 *sin = (struct sockaddr_in6 *)buf;
snprintf(str, strlen, "{AF_INET6, %016llx, %d}",
*(long long *)&sin->sin6_addr, ntohs(sin->sin6_port));
break;
}
case AF_PACKET:
{
/* FIXME. This needs tested */
struct sockaddr_ll *sll = (struct sockaddr_ll *)buf;
#if defined(__powerpc__) || defined(__ia64__)
snprintf(str, strlen, "{AF_PACKET, proto=%d, ind=%d, hatype=%d, pkttype=%d, halen=%d, addr=0x%lx}",
(int)sll->sll_protocol, sll->sll_ifindex, (int)sll->sll_hatype, (int)sll->sll_pkttype,
(int)sll->sll_halen, *(uint64_t *)sll->sll_addr);
#else
snprintf(str, strlen, "{AF_PACKET, proto=%d, ind=%d, hatype=%d, pkttype=%d, halen=%d, addr=0x%llx}",
(int)sll->sll_protocol, sll->sll_ifindex, (int)sll->sll_hatype, (int)sll->sll_pkttype,
(int)sll->sll_halen, *(uint64_t *)sll->sll_addr);
#endif
break;
}
default:
snprintf(str, strlen, "{unknown address family %d}", sa->sa_family);
}
}
%}function _struct_timeval_u (uaddr)
%{ /* pure */
struct timeval tv;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&tv,ptr,sizeof(struct timeval)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", tv.tv_sec, tv.tv_usec);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _struct_compat_timeval_u (uaddr)
%{ /* pure */
struct compat_timeval tv;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&tv,ptr,sizeof(struct compat_timeval)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", (long)tv.tv_sec, (long)tv.tv_usec);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _struct_timeval (addr)
%{ /* pure */
struct timeval *tv;
char *ptr = (char *)(unsigned long)THIS->addr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
tv=(struct timeval *) ptr;
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", tv->tv_sec, tv->tv_usec);
}
%}
function _struct_timezone_u (uaddr)
%{ /* pure */
struct timezone tz;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&tz,ptr,sizeof(struct timezone)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d, %d]", tz.tz_minuteswest, tz.tz_dsttime);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _struct_utimbuf_u (uaddr)
%{ /* pure */
#include <linux/utime.h>
struct utimbuf ubuf;
static char abuf[24], mbuf[24];
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) {
_stp_ctime(ubuf.actime, abuf, 24);
_stp_ctime(ubuf.modtime, mbuf, 24);
snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s, %s", abuf, mbuf);
} else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _struct_compat_utimbuf_u (uaddr)
%{ /* pure */
#include <linux/utime.h>
struct compat_utimbuf ubuf;
static char abuf[24], mbuf[24];
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) {
_stp_ctime(ubuf.actime, abuf, 24);
_stp_ctime(ubuf.modtime, mbuf, 24);
snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s, %s", abuf, mbuf);
} else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _struct_timespec_u (uaddr)
%{ /* pure */
struct timespec ts;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&ts,ptr,sizeof(struct timespec))) {
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
} else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]",
(unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec);
}
%}
function _struct_compat_timespec_u (uaddr)
%{ /* pure */
struct compat_timespec ts;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&ts,ptr,sizeof(struct compat_timespec))) {
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
} else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]",
(unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec);
}
%}
function _struct_timespec (addr)
%{ /* pure */
struct timespec *ts;
char *ptr = (char *)(unsigned long)THIS->addr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
ts = (struct timespec *) ptr;
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]",
(unsigned long)ts->tv_sec, (unsigned long)ts->tv_nsec);
}
%}
function _struct_itimerspec_u (uaddr)
%{ /* pure */
struct itimerspec its;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&its, ptr,sizeof(struct itimerspec)))
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
(int)its.it_interval.tv_sec, (int)its.it_interval.tv_nsec,
(int)its.it_value.tv_sec, (int)its.it_value.tv_nsec);
}
%}
function _struct_itimerval_u (uaddr)
%{ /* pure */
struct itimerval itv;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct itimerval)))
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
(int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec,
(int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec);
}
%}
function _struct_compat_itimerval_u (uaddr)
%{ /* pure */
struct compat_itimerval itv;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct compat_itimerval)))
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
(int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec,
(int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec);
}
%}
function _struct_itimerval (addr)
%{ /* pure */
struct itimerval *itv;
char *ptr = (char *)(unsigned long)THIS->addr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
itv = (struct itimerval *) ptr;
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
(int)itv->it_interval.tv_sec, (int)itv->it_interval.tv_usec,
(int)itv->it_value.tv_sec, (int)itv->it_value.tv_usec);
}
%}
function _struct_sockaddr_u (uaddr, len)
%{ /* pure */
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
char buf[128];
size_t len = THIS->len < 128 ? THIS->len : 128;
if(_stp_copy_from_user(buf, ptr, len))
strlcpy (THIS->__retvalue, "[...]", MAXSTRINGLEN);
else
_stp_sockaddr_str(THIS->__retvalue, MAXSTRINGLEN, buf, len);
}
%}
function _signal_name (sig)
%{ /* pure */
int sig = THIS->sig;
char *res = 0;
switch(sig) {
case 0:
res = "NO_SIGNAL";
break;
case SIGHUP:
res = "SIGHUP";
break;
case SIGINT:
res = "SIGINT";
b
%}
function _struct_timespec_u (uaddr)
%{ /* pure */
struct timespec ts;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&ts,ptr,sizeof(struct timespec))) {
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
} else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]",
(unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec);
}
%}
function _struct_compat_timespec_u (uaddr)
%{ /* pure */
struct compat_timespec ts;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&ts,ptr,sizeof(struct compat_timespec))) {
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
} else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]",
(unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec);
}
%}
function _struct_timespec (addr)
%{ /* pure */
struct timespec *ts;
char *ptr = (char *)(unsigned long)THIS->addr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
ts = (struct timespec *) ptr;
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]",
(unsigned long)ts->tv_sec, (unsigned long)ts->tv_nsec);
}
%}
function _struct_itimerspec_u (uaddr)
%{ /* pure */
struct itimerspec its;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&its, ptr,sizeof(struct itimerspec)))
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
(int)its.it_interval.tv_sec, (int)its.it_interval.tv_nsec,
(int)its.it_value.tv_sec, (int)its.it_value.tv_nsec);
}
%}
function _struct_itimerval_u (uaddr)
%{ /* pure */
struct itimerval itv;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct itimerval)))
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
(int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec,
(int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec);
}
%}
function _struct_compat_itimerval_u (uaddr)
%{ /* pure */
struct compat_itimerval itv;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct compat_itimerval)))
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
(int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec,
(int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec);
}
%}
function _struct_itimerval (addr)
%{ /* pure */
struct itimerval *itv;
char *ptr = (char *)(unsigned long)THIS->addr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
itv = (struct itimerval *) ptr;
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
(int)itv->it_interval.tv_sec, (int)itv->it_interval.tv_usec,
(int)itv->it_value.tv_sec, (int)itv->it_value.tv_usec);
}
%}
function _struct_sockaddr_u (uaddr, len)
%{ /* pure */
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
char buf[128];
size_t len = THIS->len < 128 ? THIS->len : 128;
if(_stp_copy_from_user(buf, ptr, len))
strlcpy (THIS->__retvalue, "[...]", MAXSTRINGLEN);
else
_stp_sockaddr_str(THIS->__retvalue, MAXSTRINGLEN, buf, len);
}
%}
function _signal_name (sig)
%{ /* pure */
int sig = THIS->sig;
char *res = 0;
switch(sig) {
case 0:
res = "NO_SIGNAL";
break;
case SIGHUP:
res = "SIGHUP";
break;
case SIGINT:
res = "SIGINT";
reak;
case SIGQUIT:
res = "SIGQUIT";
break;
case SIGILL:
res = "SIGILL";
break;
case SIGTRAP:
res = "SIGTRAP";
break;
case SIGABRT:
res = "SIGABRT";
break;
case SIGBUS:
res = "SIGBUS";
break;
case SIGFPE:
res = "SIGFPE";
break;
case SIGKILL:
res = "SIGKILL";
break;
case SIGUSR1:
res = "SIGUSR1";
break;
case SIGSEGV:
res = "SIGSEGV";
break;
case SIGPIPE:
res = "SIGPIPE";
break;
case SIGUSR2:
res = "SIGUSR2";
break;
case SIGALRM:
res = "SIGALRM";
break;
case SIGTERM:
res = "SIGTERM";
break;
case SIGCHLD:
res = "SIGCHLD";
break;
case SIGCONT:
res = "SIGCONT";
break;
case SIGSTOP:
res = "SIGSTOP";
break;
case SIGTSTP:
res = "SIGTSTP";
break;
case SIGTTIN:
res = "SIGTTIN";
break;
case SIGTTOU:
res = "SIGTTOU";
break;
case SIGURG:
res = "SIGURG";
break;
case SIGPROF:
res = "SIGPROF";
break;
case SIGWINCH:
res = "SIGWINCH";
break;
case SIGVTALRM:
res = "SIGVTALRM";
break;
case SIGIO:
res = "SIGIO/SIGPOLL";
break;
case SIGPWR:
res = "SIGPWR";
break;
}
if (res)
strlcpy (THIS->__retvalue, res, MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "%d", sig);
%}
function _struct_rlimit_u (uaddr)
%{ /* pure */
struct rlimit rl;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if (_stp_copy_from_user((char *)&rl, ptr, sizeof(struct rlimit)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld,%ld]",
rl.rlim_cur, rl.rlim_max);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _fildes_u (uaddr)
%{ /* pure */
int fd[2];
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if (_stp_copy_from_user((char *)&fd, ptr, 2*sizeof(int)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d, %d]", fd[0], fd[1]);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _fd_set_u (uaddr)
%{ /* pure */
fd_set fdset;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if (_stp_copy_from_user((char *)&fdset, ptr, sizeof(fd_set)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[0x%lx, 0x%lx, ...]", (long) fdset.fds_bits[0], fdset.fds_bits[1]);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _semctl_cmd (cmd)
%{ /* pure */
int cmd = THIS->cmd;
char *res = 0;
switch(cmd) {
case IPC_INFO:
res = "IPC_INFO";
break;
case SEM_INFO:
res = "SEM_INFO";
break;
case SEM_STAT:
res = "SEM_STAT";
break;
case GETALL:
res = "GETALL";
break;
case GETVAL:
res = "GETVAL";
break;
case GETPID:
res = "GETPID";
break;
case GETNCNT:
res = "GETNCNT";
break;
case GETZCNT:
res = "GETZCNT";
break;
case IPC_STAT:
res = "IPC_STAT";
break;
case SETVAL:
res = "SETVAL";
break;
case SETALL:
res = "SETALL";
break;
case IPC_RMID:
res = "IPC_RMID";
break;
case IPC_SET:
res = "IPC_SET";
break;
}
if (res)
strlcpy (THIS->__retvalue, res, MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "%d", cmd);
%}
function __sem_flags (semflg)
%{ /* pure */
long semflg = THIS->semflg;
char *str = THIS->__retvalue;
if (semflg & IPC_CREAT)
strlcat(str, "IPC_CREAT|", MAXSTRINGLEN);
if (semflg & IPC_EXCL)
strlcat(str, "IPC_EXCL|", MAXSTRINGLEN);
str[strlen(str)-1] = 0;
%}
function __fork_flags (flags)
%{ /* pure */
int len;
long flags = THIS->flags;
char *str = THIS->__retvalue;
if (flags & CLONE_FS)
strlcat(str,"CLONE_FS|", MAXSTRINGLEN);
if (flags & CLONE_FILES)
strlcat(str, "CLONE_FILES|", MAXSTRINGLEN);
if (flags & CLONE_SIGHAND)
strlcat(str, "CLONE_SIGHAND|", MAXSTRINGLEN);
if (flags & CLONE_PTRA
break;
case SIGQUIT:
res = "SIGQUIT";
break;
case SIGILL:
res = "SIGILL";
break;
case SIGTRAP:
res = "SIGTRAP";
break;
case SIGABRT:
res = "SIGABRT";
break;
case SIGBUS:
res = "SIGBUS";
break;
case SIGFPE:
res = "SIGFPE";
break;
case SIGKILL:
res = "SIGKILL";
break;
case SIGUSR1:
res = "SIGUSR1";
break;
case SIGSEGV:
res = "SIGSEGV";
break;
case SIGPIPE:
res = "SIGPIPE";
break;
case SIGUSR2:
res = "SIGUSR2";
break;
case SIGALRM:
res = "SIGALRM";
break;
case SIGTERM:
res = "SIGTERM";
break;
case SIGCHLD:
res = "SIGCHLD";
break;
case SIGCONT:
res = "SIGCONT";
break;
case SIGSTOP:
res = "SIGSTOP";
break;
case SIGTSTP:
res = "SIGTSTP";
break;
case SIGTTIN:
res = "SIGTTIN";
break;
case SIGTTOU:
res = "SIGTTOU";
break;
case SIGURG:
res = "SIGURG";
break;
case SIGPROF:
res = "SIGPROF";
break;
case SIGWINCH:
res = "SIGWINCH";
break;
case SIGVTALRM:
res = "SIGVTALRM";
break;
case SIGIO:
res = "SIGIO/SIGPOLL";
break;
case SIGPWR:
res = "SIGPWR";
break;
}
if (res)
strlcpy (THIS->__retvalue, res, MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "%d", sig);
%}
function _struct_rlimit_u (uaddr)
%{ /* pure */
struct rlimit rl;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if (_stp_copy_from_user((char *)&rl, ptr, sizeof(struct rlimit)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld,%ld]",
rl.rlim_cur, rl.rlim_max);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _fildes_u (uaddr)
%{ /* pure */
int fd[2];
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if (_stp_copy_from_user((char *)&fd, ptr, 2*sizeof(int)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d, %d]", fd[0], fd[1]);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _fd_set_u (uaddr)
%{ /* pure */
fd_set fdset;
char *ptr = (char *)(unsigned long)THIS->uaddr;
if (ptr == NULL)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
if (_stp_copy_from_user((char *)&fdset, ptr, sizeof(fd_set)) == 0)
snprintf(THIS->__retvalue, MAXSTRINGLEN, "[0x%lx, 0x%lx, ...]", (long) fdset.fds_bits[0], fdset.fds_bits[1]);
else
strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
}
%}
function _semctl_cmd (cmd)
%{ /* pure */
int cmd = THIS->cmd;
char *res = 0;
switch(cmd) {
case IPC_INFO:
res = "IPC_INFO";
break;
case SEM_INFO:
res = "SEM_INFO";
break;
case SEM_STAT:
res = "SEM_STAT";
break;
case GETALL:
res = "GETALL";
break;
case GETVAL:
res = "GETVAL";
break;
case GETPID:
res = "GETPID";
break;
case GETNCNT:
res = "GETNCNT";
break;
case GETZCNT:
res = "GETZCNT";
break;
case IPC_STAT:
res = "IPC_STAT";
break;
case SETVAL:
res = "SETVAL";
break;
case SETALL:
res = "SETALL";
break;
case IPC_RMID:
res = "IPC_RMID";
break;
case IPC_SET:
res = "IPC_SET";
break;
}
if (res)
strlcpy (THIS->__retvalue, res, MAXSTRINGLEN);
else
snprintf(THIS->__retvalue, MAXSTRINGLEN, "%d", cmd);
%}
function __sem_flags (semflg)
%{ /* pure */
long semflg = THIS->semflg;
char *str = THIS->__retvalue;
if (semflg & IPC_CREAT)
strlcat(str, "IPC_CREAT|", MAXSTRINGLEN);
if (semflg & IPC_EXCL)
strlcat(str, "IPC_EXCL|", MAXSTRINGLEN);
str[strlen(str)-1] = 0;
%}
function __fork_flags (flags)
%{ /* pure */
int len;
long flags = THIS->flags;
char *str = THIS->__retvalue;
if (flags & CLONE_FS)
strlcat(str,"CLONE_FS|", MAXSTRINGLEN);
if (flags & CLONE_FILES)
strlcat(str, "CLONE_FILES|", MAXSTRINGLEN);
if (flags & CLONE_SIGHAND)
strlcat(str, "CLONE_SIGHAND|", MAXSTRINGLEN);
CE)
strlcat(str, "CLONE_PTRACE|", MAXSTRINGLEN);
if (flags & CLONE_VFORK)
strlcat(str, "CLONE_VFORK|", MAXSTRINGLEN);
if (flags & CLONE_PARENT)
strlcat(str, "CLONE_PARENT|", MAXSTRINGLEN);
if (flags & CLONE_THREAD)
strlcat(str, "CLONE_THREAD|", MAXSTRINGLEN);
if (flags & CLONE_SYSVSEM)
strlcat(str, "CLONE_SYSVSEM|", MAXSTRINGLEN);
if (flags & CLONE_SETTLS)
strlcat(str, "CLONE_SETTLS|", MAXSTRINGLEN);
if (flags & CLONE_PARENT_SETTID)
strlcat(str, "CLONE_PARENT_SETTID|", MAXSTRINGLEN);
if (flags & CLONE_CHILD_CLEARTID)
strlcat(str, "CLONE_CHILD_CLEARTID|", MAXSTRINGLEN);
if (flags & CLONE_UNTRACED)
strlcat(str, "CLONE_UNTRACED|", MAXSTRINGLEN);
if (flags & CLONE_CHILD_SETTID)
strlcat(str, "CLONE_CHILD_SETTID|", MAXSTRINGLEN);
if (flags & CLONE_STOPPED)
strlcat(str, "CLONE_STOPPED|", MAXSTRINGLEN);
len = strlen(str);
if (len)
str[strlen(str)-1] = 0;
%}
function __get_argv (a)
%{ /* pure */
char __user *__user *argv = (char __user *__user *)(long)THIS->a;
char __user *vstr;
int space, rc, len = MAXSTRINGLEN;
char *str = THIS->__retvalue;
char buf[80];
char *ptr = buf;
if (argv)
argv++;
while (argv != NULL) {
if (get_user (vstr, argv))
break;
if (vstr == NULL)
break;
rc = _stp_strncpy_from_user(buf, vstr, 79);
if (rc <= 0)
break;
/* check for whitespace in string */
buf[rc] = 0;
ptr = buf;
space = 0;
while (*ptr && rc--) {
if (isspace(*ptr++)) {
space = 1;
break;
}
}
if (len != MAXSTRINGLEN && len) {
*str++=' ';
len--;
}
if (space && len) {
*str++='\"';
len--;
}
rc = strlcpy (str, buf, len);
str += rc;
len -= rc;
if (space && len) {
*str++='\"';
len--;
}
argv++;
}
*str = 0;
%}
function __string (a)
%{ /* pure */
char *str =(char *)(long)THIS->a;
strlcpy(THIS->__retvalue, str, MAXSTRINGLEN);
%}
function _adjtx_mode_str (f)
{
if (((f) & (32769)) == (32769)) (bs) = (("ADJ_OFFSET_SINGLESHOT|") . (bs))
if ((f) & (16384)) (bs) = (("ADJ_TICK|") . (bs))
if ((f) & (32)) (bs) = (("ADJ_TIMECONST|") . (bs))
if ((f) & (16)) (bs) = (("ADJ_STATUS|") . (bs))
if ((f) & (8)) (bs) = (("ADJ_ESTERROR|") . (bs))
if ((f) & (4)) (bs) = (("ADJ_MAXERROR|") . (bs))
if ((f) & (2)) (bs) = (("ADJ_FREQUENCY|") . (bs))
if (((f) & (1)) && (((f) & (32769)) != (32769))) (bs) = (("ADJ_OFFSET|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _sigprocmask_how_str (how)
{
if ((how) == (0)) return "SIG_BLOCK"
if ((how) == (1)) return "SIG_UNBLOCK"
if ((how) == (2)) return "SIG_SETMASK"
return ""
}
function _itimer_which_str (which)
{
if ((which) == (0)) return "ITIMER_REAL"
if ((which) == (1)) return "ITIMER_VIRTUAL"
if ((which) == (2)) return "ITIMER_PROF"
return ""
}
function _get_wc_str (wc)
{
if ((wc) == (0)) return "CLOCK_REALTIME"
if ((wc) == (1)) return "CLOCK_MONOTONIC"
if ((wc) == (2)) return "CLOCK_PROCESS_CPUTIME_ID"
if ((wc) == (3)) return "CLOCK_THREAD_CPUTIME_ID"
if ((wc) == (4)) return "CLOCK_REALTIME_HR"
if ((wc) == (5)) return "CLOCK_MONOTONIC_HR"
return ""
}
function _flock_cmd_str (c)
{
if ((c) & (1)) (bs) = (("LOCK_SH|") . (bs))
if ((c) & (2)) (bs) = (("LOCK_EX|") . (bs))
if ((c) & (8)) (bs) = (("LOCK_UN|") . (bs))
if ((c) & (4)) (bs) = (("LOCK_NB|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _sys_open_flag_str (f)
%{ /* pure */
int flags = (int)THIS->f;
int acc = flags & O_ACCMODE;
switch (acc) {
case O_WRONLY:
strlcpy (THIS->__retvalue, "O_WRONLY", MAXSTRINGLEN);
break;
case O_RDWR:
strlcpy (THIS->__retvalue, "O_RDWR", MAXSTRINGLEN);
break;
default:
strlcpy (THIS->__retvalue, "O_RDONLY", MAXSTRINGLEN);
}
#ifdef O_APPEND
if (flags & O_APPEND)
strlcat (THIS->__retvalue, "|O_APPEND", MAXSTRINGLEN);
#endif
#ifdef O_CREAT
if (flags & O_CREAT)
strlcat (THIS->__retvalue, "|O_CREAT", MAXSTRINGLEN);
#endif
#ifdef O_ASYNC
if (flags & O_ASYNC)
st
if (flags & CLONE_PTRACE)
strlcat(str, "CLONE_PTRACE|", MAXSTRINGLEN);
if (flags & CLONE_VFORK)
strlcat(str, "CLONE_VFORK|", MAXSTRINGLEN);
if (flags & CLONE_PARENT)
strlcat(str, "CLONE_PARENT|", MAXSTRINGLEN);
if (flags & CLONE_THREAD)
strlcat(str, "CLONE_THREAD|", MAXSTRINGLEN);
if (flags & CLONE_SYSVSEM)
strlcat(str, "CLONE_SYSVSEM|", MAXSTRINGLEN);
if (flags & CLONE_SETTLS)
strlcat(str, "CLONE_SETTLS|", MAXSTRINGLEN);
if (flags & CLONE_PARENT_SETTID)
strlcat(str, "CLONE_PARENT_SETTID|", MAXSTRINGLEN);
if (flags & CLONE_CHILD_CLEARTID)
strlcat(str, "CLONE_CHILD_CLEARTID|", MAXSTRINGLEN);
if (flags & CLONE_UNTRACED)
strlcat(str, "CLONE_UNTRACED|", MAXSTRINGLEN);
if (flags & CLONE_CHILD_SETTID)
strlcat(str, "CLONE_CHILD_SETTID|", MAXSTRINGLEN);
if (flags & CLONE_STOPPED)
strlcat(str, "CLONE_STOPPED|", MAXSTRINGLEN);
len = strlen(str);
if (len)
str[strlen(str)-1] = 0;
%}
function __get_argv (a)
%{ /* pure */
char __user *__user *argv = (char __user *__user *)(long)THIS->a;
char __user *vstr;
int space, rc, len = MAXSTRINGLEN;
char *str = THIS->__retvalue;
char buf[80];
char *ptr = buf;
if (argv)
argv++;
while (argv != NULL) {
if (get_user (vstr, argv))
break;
if (vstr == NULL)
break;
rc = _stp_strncpy_from_user(buf, vstr, 79);
if (rc <= 0)
break;
/* check for whitespace in string */
buf[rc] = 0;
ptr = buf;
space = 0;
while (*ptr && rc--) {
if (isspace(*ptr++)) {
space = 1;
break;
}
}
if (len != MAXSTRINGLEN && len) {
*str++=' ';
len--;
}
if (space && len) {
*str++='\"';
len--;
}
rc = strlcpy (str, buf, len);
str += rc;
len -= rc;
if (space && len) {
*str++='\"';
len--;
}
argv++;
}
*str = 0;
%}
function __string (a)
%{ /* pure */
char *str =(char *)(long)THIS->a;
strlcpy(THIS->__retvalue, str, MAXSTRINGLEN);
%}
function _adjtx_mode_str (f)
{
if (((f) & (32769)) == (32769)) (bs) = (("ADJ_OFFSET_SINGLESHOT|") . (bs))
if ((f) & (16384)) (bs) = (("ADJ_TICK|") . (bs))
if ((f) & (32)) (bs) = (("ADJ_TIMECONST|") . (bs))
if ((f) & (16)) (bs) = (("ADJ_STATUS|") . (bs))
if ((f) & (8)) (bs) = (("ADJ_ESTERROR|") . (bs))
if ((f) & (4)) (bs) = (("ADJ_MAXERROR|") . (bs))
if ((f) & (2)) (bs) = (("ADJ_FREQUENCY|") . (bs))
if (((f) & (1)) && (((f) & (32769)) != (32769))) (bs) = (("ADJ_OFFSET|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _sigprocmask_how_str (how)
{
if ((how) == (0)) return "SIG_BLOCK"
if ((how) == (1)) return "SIG_UNBLOCK"
if ((how) == (2)) return "SIG_SETMASK"
return ""
}
function _itimer_which_str (which)
{
if ((which) == (0)) return "ITIMER_REAL"
if ((which) == (1)) return "ITIMER_VIRTUAL"
if ((which) == (2)) return "ITIMER_PROF"
return ""
}
function _get_wc_str (wc)
{
if ((wc) == (0)) return "CLOCK_REALTIME"
if ((wc) == (1)) return "CLOCK_MONOTONIC"
if ((wc) == (2)) return "CLOCK_PROCESS_CPUTIME_ID"
if ((wc) == (3)) return "CLOCK_THREAD_CPUTIME_ID"
if ((wc) == (4)) return "CLOCK_REALTIME_HR"
if ((wc) == (5)) return "CLOCK_MONOTONIC_HR"
return ""
}
function _flock_cmd_str (c)
{
if ((c) & (1)) (bs) = (("LOCK_SH|") . (bs))
if ((c) & (2)) (bs) = (("LOCK_EX|") . (bs))
if ((c) & (8)) (bs) = (("LOCK_UN|") . (bs))
if ((c) & (4)) (bs) = (("LOCK_NB|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _sys_open_flag_str (f)
%{ /* pure */
int flags = (int)THIS->f;
int acc = flags & O_ACCMODE;
switch (acc) {
case O_WRONLY:
strlcpy (THIS->__retvalue, "O_WRONLY", MAXSTRINGLEN);
break;
case O_RDWR:
strlcpy (THIS->__retvalue, "O_RDWR", MAXSTRINGLEN);
break;
default:
strlcpy (THIS->__retvalue, "O_RDONLY", MAXSTRINGLEN);
}
#ifdef O_APPEND
if (flags & O_APPEND)
strlcat (THIS->__retvalue, "|O_APPEND", MAXSTRINGLEN);
#endif
#ifdef O_CREAT
if (flags & O_CREAT)
strlcat (THIS->__retvalue, "|O_CREAT", MAXSTRINGLEN);
#endif
#ifdef O_ASYNC
if (flags & O_ASYNC)
rlcat (THIS->__retvalue, "|O_ASYNC", MAXSTRINGLEN);
#endif
#ifdef O_DIRECT
if (flags & O_DIRECT)
strlcat (THIS->__retvalue, "|O_DIRECT", MAXSTRINGLEN);
#endif
#ifdef O_DIRECTORY
if (flags & O_DIRECTORY)
strlcat (THIS->__retvalue, "|O_DIRECTORY", MAXSTRINGLEN);
#endif
#ifdef O_EXCL
if (flags & O_EXCL)
strlcat (THIS->__retvalue, "|O_EXCL", MAXSTRINGLEN);
#endif
#ifdef O_LARGEFILE
if (flags & O_LARGEFILE)
strlcat (THIS->__retvalue, "|O_LARGEFILE", MAXSTRINGLEN);
#endif
#ifdef O_NOATIME
if (flags & O_NOATIME)
strlcat (THIS->__retvalue, "|O_NOATIME", MAXSTRINGLEN);
#endif
#ifdef O_NOCTTY
if (flags & O_NOCTTY)
strlcat (THIS->__retvalue, "|O_NOCTTY", MAXSTRINGLEN);
#endif
#ifdef O_NOFOLLOW
if (flags & O_NOFOLLOW)
strlcat (THIS->__retvalue, "|O_NOFOLLOW", MAXSTRINGLEN);
#endif
#ifdef O_NONBLOCK
if (flags & O_NONBLOCK)
strlcat (THIS->__retvalue, "|O_NONBLOCK", MAXSTRINGLEN);
#endif
#ifdef O_SYNC
if (flags & O_SYNC)
strlcat (THIS->__retvalue, "|O_SYNC", MAXSTRINGLEN);
#endif
#ifdef O_TRUNC
if (flags & O_TRUNC)
strlcat (THIS->__retvalue, "|O_TRUNC", MAXSTRINGLEN);
#endif
%}
function _access_mode_str (m)
{
if (((m) & (7)) == (0)) return "F_OK"
if ((m) & (4)) (bs) = (("R_OK |") . (bs))
if ((m) & (2)) (bs) = (("W_OK |") . (bs))
if ((m) & (1)) (bs) = (("X_OK |") . (bs))
return substr(bs, 0, (strlen(bs)) - (2))
}
function _sys_open_mode_str (f)
{
if (((f) & (448)) == (448)) (bs) = (("S_IRWXU|") . (bs))
else {
if ((f) & (256)) (bs) = (("S_IRUSR|") . (bs))
if ((f) & (128)) (bs) = (("S_IWUSR|") . (bs))
if ((f) & (64)) (bs) = (("S_IXUSR|") . (bs))
}
if (((f) & (56)) == (56)) (bs) = (("S_IRWXG|") . (bs))
else {
if ((f) & (32)) (bs) = (("S_IRGRP|") . (bs))
if ((f) & (16)) (bs) = (("S_IWGRP|") . (bs))
if ((f) & (8)) (bs) = (("S_IXGRP|") . (bs))
}
if (((f) & (7)) == (7)) (bs) = (("S_IRWXO|") . (bs))
else {
if ((f) & (4)) (bs) = (("S_IROTH|") . (bs))
if ((f) & (2)) (bs) = (("S_IWOTH|") . (bs))
if ((f) & (1)) (bs) = (("S_IXOTH|") . (bs))
}
return substr(bs, 0, (strlen(bs)) - (1))
}
function _mknod_mode_str (mode)
{
if (((mode) & (32768)) == (32768)) return ("S_IFREG|") . (_sys_open_mode_str(mode))
if (((mode) & (8192)) == (8192)) return ("S_IFCHR|") . (_sys_open_mode_str(mode))
if (((mode) & (24576)) == (24576)) return ("S_IFBLK|") . (_sys_open_mode_str(mode))
if (((mode) & (4096)) == (4096)) return ("S_IFIFO|") . (_sys_open_mode_str(mode))
if (((mode) & (49152)) == (49152)) return ("S_IFSOCK|") . (_sys_open_mode_str(mode))
return ""
}
function _msync_flag_str (f)
{
if ((f) & ((7) == (0))) return ""
if ((f) & (4)) (bs) = (("MS_SYNC|") . (bs))
if ((f) & (2)) (bs) = (("MS_INVALIDATE|") . (bs))
if ((f) & (1)) (bs) = (("MS_ASYNC|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _wait4_opt_str (f)
{
if ((f) & (16777216)) (bs) = (("WNOWAIT|") . (bs))
if ((f) & (8)) (bs) = (("WCONTINUED|") . (bs))
if ((f) & (4)) (bs) = (("WEXITED|") . (bs))
if ((f) & (2)) (bs) = (("WSTOPPED|") . (bs))
if ((f) & (1)) (bs) = (("WNOHANG|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _send_flags_str (f)
{
if ((f) & (1)) (bs) = (("MSG_OOB|") . (bs))
if ((f) & (128)) (bs) = (("MSG_EOR|") . (bs))
if ((f) & (4)) (bs) = (("MSG_DONTROUTE|") . (bs))
if ((f) & (64)) (bs) = (("MSG_DONTWAIT|") . (bs))
if ((f) & (16384)) (bs) = (("MSG_NOSIGNAL|") . (bs))
if ((f) & (2048)) (bs) = (("MSG_CONFIRM|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _recvflags_str (f)
{
if ((f) & (1)) (bs) = (("MSG_OOB|") . (bs))
if ((f) & (2)) (bs) = (("MSG_PEEK|") . (bs))
if ((f) & (32)) (bs) = (("MSG_TRUNC|") . (bs))
if ((f) & (256)) (bs) = (("MSG_WAITALL|") . (bs))
if ((f) & (8192)) (bs) = (("MSG_ERRQUEUE|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _mlockall_flags_str (f)
{
if ((f) & (1)) (bs) = (("MCL_CURRENT|") . (bs))
if ((f) & (2)) (bs) = (("MCL_FUTURE|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
strlcat (THIS->__retvalue, "|O_ASYNC", MAXSTRINGLEN);
#endif
#ifdef O_DIRECT
if (flags & O_DIRECT)
strlcat (THIS->__retvalue, "|O_DIRECT", MAXSTRINGLEN);
#endif
#ifdef O_DIRECTORY
if (flags & O_DIRECTORY)
strlcat (THIS->__retvalue, "|O_DIRECTORY", MAXSTRINGLEN);
#endif
#ifdef O_EXCL
if (flags & O_EXCL)
strlcat (THIS->__retvalue, "|O_EXCL", MAXSTRINGLEN);
#endif
#ifdef O_LARGEFILE
if (flags & O_LARGEFILE)
strlcat (THIS->__retvalue, "|O_LARGEFILE", MAXSTRINGLEN);
#endif
#ifdef O_NOATIME
if (flags & O_NOATIME)
strlcat (THIS->__retvalue, "|O_NOATIME", MAXSTRINGLEN);
#endif
#ifdef O_NOCTTY
if (flags & O_NOCTTY)
strlcat (THIS->__retvalue, "|O_NOCTTY", MAXSTRINGLEN);
#endif
#ifdef O_NOFOLLOW
if (flags & O_NOFOLLOW)
strlcat (THIS->__retvalue, "|O_NOFOLLOW", MAXSTRINGLEN);
#endif
#ifdef O_NONBLOCK
if (flags & O_NONBLOCK)
strlcat (THIS->__retvalue, "|O_NONBLOCK", MAXSTRINGLEN);
#endif
#ifdef O_SYNC
if (flags & O_SYNC)
strlcat (THIS->__retvalue, "|O_SYNC", MAXSTRINGLEN);
#endif
#ifdef O_TRUNC
if (flags & O_TRUNC)
strlcat (THIS->__retvalue, "|O_TRUNC", MAXSTRINGLEN);
#endif
%}
function _access_mode_str (m)
{
if (((m) & (7)) == (0)) return "F_OK"
if ((m) & (4)) (bs) = (("R_OK |") . (bs))
if ((m) & (2)) (bs) = (("W_OK |") . (bs))
if ((m) & (1)) (bs) = (("X_OK |") . (bs))
return substr(bs, 0, (strlen(bs)) - (2))
}
function _sys_open_mode_str (f)
{
if (((f) & (448)) == (448)) (bs) = (("S_IRWXU|") . (bs))
else {
if ((f) & (256)) (bs) = (("S_IRUSR|") . (bs))
if ((f) & (128)) (bs) = (("S_IWUSR|") . (bs))
if ((f) & (64)) (bs) = (("S_IXUSR|") . (bs))
}
if (((f) & (56)) == (56)) (bs) = (("S_IRWXG|") . (bs))
else {
if ((f) & (32)) (bs) = (("S_IRGRP|") . (bs))
if ((f) & (16)) (bs) = (("S_IWGRP|") . (bs))
if ((f) & (8)) (bs) = (("S_IXGRP|") . (bs))
}
if (((f) & (7)) == (7)) (bs) = (("S_IRWXO|") . (bs))
else {
if ((f) & (4)) (bs) = (("S_IROTH|") . (bs))
if ((f) & (2)) (bs) = (("S_IWOTH|") . (bs))
if ((f) & (1)) (bs) = (("S_IXOTH|") . (bs))
}
return substr(bs, 0, (strlen(bs)) - (1))
}
function _mknod_mode_str (mode)
{
if (((mode) & (32768)) == (32768)) return ("S_IFREG|") . (_sys_open_mode_str(mode))
if (((mode) & (8192)) == (8192)) return ("S_IFCHR|") . (_sys_open_mode_str(mode))
if (((mode) & (24576)) == (24576)) return ("S_IFBLK|") . (_sys_open_mode_str(mode))
if (((mode) & (4096)) == (4096)) return ("S_IFIFO|") . (_sys_open_mode_str(mode))
if (((mode) & (49152)) == (49152)) return ("S_IFSOCK|") . (_sys_open_mode_str(mode))
return ""
}
function _msync_flag_str (f)
{
if ((f) & ((7) == (0))) return ""
if ((f) & (4)) (bs) = (("MS_SYNC|") . (bs))
if ((f) & (2)) (bs) = (("MS_INVALIDATE|") . (bs))
if ((f) & (1)) (bs) = (("MS_ASYNC|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _wait4_opt_str (f)
{
if ((f) & (16777216)) (bs) = (("WNOWAIT|") . (bs))
if ((f) & (8)) (bs) = (("WCONTINUED|") . (bs))
if ((f) & (4)) (bs) = (("WEXITED|") . (bs))
if ((f) & (2)) (bs) = (("WSTOPPED|") . (bs))
if ((f) & (1)) (bs) = (("WNOHANG|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _send_flags_str (f)
{
if ((f) & (1)) (bs) = (("MSG_OOB|") . (bs))
if ((f) & (128)) (bs) = (("MSG_EOR|") . (bs))
if ((f) & (4)) (bs) = (("MSG_DONTROUTE|") . (bs))
if ((f) & (64)) (bs) = (("MSG_DONTWAIT|") . (bs))
if ((f) & (16384)) (bs) = (("MSG_NOSIGNAL|") . (bs))
if ((f) & (2048)) (bs) = (("MSG_CONFIRM|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _recvflags_str (f)
{
if ((f) & (1)) (bs) = (("MSG_OOB|") . (bs))
if ((f) & (2)) (bs) = (("MSG_PEEK|") . (bs))
if ((f) & (32)) (bs) = (("MSG_TRUNC|") . (bs))
if ((f) & (256)) (bs) = (("MSG_WAITALL|") . (bs))
if ((f) & (8192)) (bs) = (("MSG_ERRQUEUE|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _mlockall_flags_str (f)
{
if ((f) & (1)) (bs) = (("MCL_CURRENT|") . (bs))
if ((f) & (2)) (bs) = (("MCL_FUTURE|") . (bs))
return substr(bs, 0, (strlen(bs)) - (1))
function _module_flags_str (f)
{
if (!((f) & (2048))) (bs) = ("WAIT|")
if ((f) & (512)) (bs) = ((bs) . ("FORCE|"))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _sched_policy_str (policy)
{
if ((policy) == (0)) return "SCHED_OTHER"
if ((policy) == (1)) return "SCHED_FIFO"
if ((policy) == (2)) return "SCHED_RR"
return ""
}
function _priority_which_str (which)
{
if ((which) == (0)) return "PRIO_PROCESS"
if ((which) == (1)) return "PRIO_PGRP"
if ((which) == (2)) return "PRIO_USER"
return ""
}
function _shutdown_how_str (how)
{
if ((how) == (0)) return "SHUT_RD"
if ((how) == (1)) return "SHUT_WR"
if ((how) == (2)) return "SHUT_RDWR"
return ""
}
function _reboot_magic_str (magic)
{
if ((magic) == (4276215469)) return "LINUX_REBOOT_MAGIC1"
if ((magic) == (672274793)) return "LINUX_REBOOT_MAGIC2"
if ((magic) == (85072278)) return "LINUX_REBOOT_MAGIC2A"
if ((magic) == (369367448)) return "LINUX_REBOOT_MAGIC2B"
if ((magic) == (537993216)) return "LINUX_REBOOT_MAGIC2C"
return ""
}
function _reboot_flag_str (flag)
{
if ((flag) == (19088743)) return "LINUX_REBOOT_CMD_RESTART"
if ((flag) == (3454992675)) return "LINUX_REBOOT_CMD_HALT"
if ((flag) == (1126301404)) return "LINUX_REBOOT_CMD_POWER_OFF"
if ((flag) == (2712847316)) return "LINUX_REBOOT_CMD_RESTART2"
if ((flag) == (2309737967)) return "LINUX_REBOOT_CMD_CAD_ON"
if ((flag) == (0)) return "LINUX_REBOOT_CMD_CAD_OFF"
return ""
}
function _waitid_which_str (flag)
{
if ((flag) == (0)) return "P_ALL"
if ((flag) == (1)) return "P_PID"
if ((flag) == (2)) return "P_PGID"
return ""
}
function _futex_op_str (op)
{
if ((op) == (0)) return "FUTEX_WAIT"
if ((op) == (1)) return "FUTEX_WAKE"
if ((op) == (2)) return "FUTEX_FD"
if ((op) == (3)) return "FUTEX_REQUEUE"
if ((op) == (4)) return "FUTEX_CMP_REQUEUE"
return ""
}
function _mountflags_str (op)
%{ /* pure */
int len, op = THIS->op;
char *str = THIS->__retvalue;
if (op & MS_BIND)
strlcat(str,"MS_BIND|",MAXSTRINGLEN);
if (op & MS_DIRSYNC)
strlcat(str,"MS_DIRSYNC|",MAXSTRINGLEN);
if (op & MS_MANDLOCK)
strlcat(str,"MS_MANDLOCK|",MAXSTRINGLEN);
if (op & MS_MOVE)
strlcat(str,"MS_MOVE|",MAXSTRINGLEN);
if (op & MS_NOATIME)
strlcat(str,"MS_NOATIME|",MAXSTRINGLEN);
if (op & MS_NODEV)
strlcat(str,"MS_NODEV|",MAXSTRINGLEN);
if (op & MS_NODIRATIME)
strlcat(str,"MS_NODIRATIME|",MAXSTRINGLEN);
if (op & MS_NOEXEC)
strlcat(str,"MS_NOEXEC|",MAXSTRINGLEN);
if (op & MS_NOSUID)
strlcat(str,"MS_NOSUID|",MAXSTRINGLEN);
if (op & MS_RDONLY)
strlcat(str,"MS_RDONLY|",MAXSTRINGLEN);
if (op & MS_REC)
strlcat(str,"MS_REC|",MAXSTRINGLEN);
if (op & MS_REMOUNT)
strlcat(str,"MS_REMOUNT|",MAXSTRINGLEN);
if (op & MS_SYNCHRONOUS)
strlcat(str,"MS_SYNCHRONOUS|",MAXSTRINGLEN);
if (op & MS_VERBOSE)
strlcat(str,"MS_VERBOSE|",MAXSTRINGLEN);
len = strlen(str);
if (len)
str[strlen(str)-1] = 0;
%}
function _umountflags_str (op)
%{ /* pure */
int len, op = THIS->op;
char *str = THIS->__retvalue;
if (op == 0)
strlcat(str,"0",MAXSTRINGLEN);
else {
if (op & MNT_FORCE)
strlcat(str,"MNT_FORCE|",MAXSTRINGLEN);
if (op & MNT_DETACH)
strlcat(str,"MNT_DETACH|",MAXSTRINGLEN);
if (op & MNT_EXPIRE)
strlcat(str,"MNT_EXPIRE|",MAXSTRINGLEN);
len = strlen(str);
if (len)
str[strlen(str)-1] = 0;
}
%}
function _statfs_f_type_str (f)
{
if ((f) == (44533)) return "ADFS_SUPER_MAGIC"
if ((f) == (44543)) return "AFFS_SUPER_MAGIC"
if ((f) == (1111905073)) return "BEFS_SUPER_MAGIC"
if ((f) == (464386766)) return "BFS_MAGIC"
if ((f) == (4283649346)) return "CIFS_MAGIC_NUMBER"
if ((f) == (1937076805)) return "CODA_SUPER_MAGIC"
if ((f) == (19920823)) return "COH_SUPER_MAGIC"
if ((f) == (684539205)) return "CRAMFS_MAGIC"
if ((f) == (4979)) return "DEVFS_SUPER_MAGIC"
if ((f) == (4278867)) return "EFS_SUPER_MAGIC"
if ((f) == (4989)) return "EXT_SUPER_MAGIC"
if ((f) == (61265)) return "EXT2_OLD_SUPER_MAGIC"
if ((f) == (612
}
function _module_flags_str (f)
{
if (!((f) & (2048))) (bs) = ("WAIT|")
if ((f) & (512)) (bs) = ((bs) . ("FORCE|"))
return substr(bs, 0, (strlen(bs)) - (1))
}
function _sched_policy_str (policy)
{
if ((policy) == (0)) return "SCHED_OTHER"
if ((policy) == (1)) return "SCHED_FIFO"
if ((policy) == (2)) return "SCHED_RR"
return ""
}
function _priority_which_str (which)
{
if ((which) == (0)) return "PRIO_PROCESS"
if ((which) == (1)) return "PRIO_PGRP"
if ((which) == (2)) return "PRIO_USER"
return ""
}
function _shutdown_how_str (how)
{
if ((how) == (0)) return "SHUT_RD"
if ((how) == (1)) return "SHUT_WR"
if ((how) == (2)) return "SHUT_RDWR"
return ""
}
function _reboot_magic_str (magic)
{
if ((magic) == (4276215469)) return "LINUX_REBOOT_MAGIC1"
if ((magic) == (672274793)) return "LINUX_REBOOT_MAGIC2"
if ((magic) == (85072278)) return "LINUX_REBOOT_MAGIC2A"
if ((magic) == (369367448)) return "LINUX_REBOOT_MAGIC2B"
if ((magic) == (537993216)) return "LINUX_REBOOT_MAGIC2C"
return ""
}
function _reboot_flag_str (flag)
{
if ((flag) == (19088743)) return "LINUX_REBOOT_CMD_RESTART"
if ((flag) == (3454992675)) return "LINUX_REBOOT_CMD_HALT"
if ((flag) == (1126301404)) return "LINUX_REBOOT_CMD_POWER_OFF"
if ((flag) == (2712847316)) return "LINUX_REBOOT_CMD_RESTART2"
if ((flag) == (2309737967)) return "LINUX_REBOOT_CMD_CAD_ON"
if ((flag) == (0)) return "LINUX_REBOOT_CMD_CAD_OFF"
return ""
}
function _waitid_which_str (flag)
{
if ((flag) == (0)) return "P_ALL"
if ((flag) == (1)) return "P_PID"
if ((flag) == (2)) return "P_PGID"
return ""
}
function _futex_op_str (op)
{
if ((op) == (0)) return "FUTEX_WAIT"
if ((op) == (1)) return "FUTEX_WAKE"
if ((op) == (2)) return "FUTEX_FD"
if ((op) == (3)) return "FUTEX_REQUEUE"
if ((op) == (4)) return "FUTEX_CMP_REQUEUE"
return ""
}
function _mountflags_str (op)
%{ /* pure */
int len, op = THIS->op;
char *str = THIS->__retvalue;
if (op & MS_BIND)
strlcat(str,"MS_BIND|",MAXSTRINGLEN);
if (op & MS_DIRSYNC)
strlcat(str,"MS_DIRSYNC|",MAXSTRINGLEN);
if (op & MS_MANDLOCK)
strlcat(str,"MS_MANDLOCK|",MAXSTRINGLEN);
if (op & MS_MOVE)
strlcat(str,"MS_MOVE|",MAXSTRINGLEN);
if (op & MS_NOATIME)
strlcat(str,"MS_NOATIME|",MAXSTRINGLEN);
if (op & MS_NODEV)
strlcat(str,"MS_NODEV|",MAXSTRINGLEN);
if (op & MS_NODIRATIME)
strlcat(str,"MS_NODIRATIME|",MAXSTRINGLEN);
if (op & MS_NOEXEC)
strlcat(str,"MS_NOEXEC|",MAXSTRINGLEN);
if (op & MS_NOSUID)
strlcat(str,"MS_NOSUID|",MAXSTRINGLEN);
if (op & MS_RDONLY)
strlcat(str,"MS_RDONLY|",MAXSTRINGLEN);
if (op & MS_REC)
strlcat(str,"MS_REC|",MAXSTRINGLEN);
if (op & MS_REMOUNT)
strlcat(str,"MS_REMOUNT|",MAXSTRINGLEN);
if (op & MS_SYNCHRONOUS)
strlcat(str,"MS_SYNCHRONOUS|",MAXSTRINGLEN);
if (op & MS_VERBOSE)
strlcat(str,"MS_VERBOSE|",MAXSTRINGLEN);
len = strlen(str);
if (len)
str[strlen(str)-1] = 0;
%}
function _umountflags_str (op)
%{ /* pure */
int len, op = THIS->op;
char *str = THIS->__retvalue;
if (op == 0)
strlcat(str,"0",MAXSTRINGLEN);
else {
if (op & MNT_FORCE)
strlcat(str,"MNT_FORCE|",MAXSTRINGLEN);
if (op & MNT_DETACH)
strlcat(str,"MNT_DETACH|",MAXSTRINGLEN);
if (op & MNT_EXPIRE)
strlcat(str,"MNT_EXPIRE|",MAXSTRINGLEN);
len = strlen(str);
if (len)
str[strlen(str)-1] = 0;
}
%}
function _statfs_f_type_str (f)
{
if ((f) == (44533)) return "ADFS_SUPER_MAGIC"
if ((f) == (44543)) return "AFFS_SUPER_MAGIC"
if ((f) == (1111905073)) return "BEFS_SUPER_MAGIC"
if ((f) == (464386766)) return "BFS_MAGIC"
if ((f) == (4283649346)) return "CIFS_MAGIC_NUMBER"
if ((f) == (1937076805)) return "CODA_SUPER_MAGIC"
if ((f) == (19920823)) return "COH_SUPER_MAGIC"
if ((f) == (684539205)) return "CRAMFS_MAGIC"
if ((f) == (4979)) return "DEVFS_SUPER_MAGIC"
if ((f) == (4278867)) return "EFS_SUPER_MAGIC"
if ((f) == (4989)) return "EXT_SUPER_MAGIC"
if ((f) == (61265)) return "EXT2_OLD_SUPER_MAGIC"
67)) return "EXT2_SUPER_MAGIC"
if ((f) == (61267)) return "EXT3_SUPER_MAGIC"
if ((f) == (16964)) return "HFS_SUPER_MAGIC"
if ((f) == (4187351113)) return "HPFS_SUPER_MAGIC"
if ((f) == (2508478710)) return "HUGETLBFS_MAGIC"
if ((f) == (38496)) return "ISOFS_SUPER_MAGIC"
if ((f) == (29366)) return "JFFS2_SUPER_MAGIC"
if ((f) == (827541066)) return "JFS_SUPER_MAGIC"
if ((f) == (4991)) return "MINIX_SUPER_MAGIC"
if ((f) == (5007)) return "MINIX_SUPER_MAGIC2"
if ((f) == (9320)) return "MINIX2_SUPER_MAGIC"
if ((f) == (9336)) return "MINIX2_SUPER_MAGIC2"
if ((f) == (19780)) return "MSDOS_SUPER_MAGIC"
if ((f) == (22092)) return "NCP_SUPER_MAGIC"
if ((f) == (26985)) return "NFS_SUPER_MAGIC"
if ((f) == (1397118030)) return "NTFS_SB_MAGIC"
if ((f) == (40865)) return "OPENPROM_SUPER_MAGIC"
if ((f) == (40864)) return "PROC_SUPER_MAGIC"
if ((f) == (47)) return "QNX4_SUPER_MAGIC"
if ((f) == (1382369651)) return "REISERFS_SUPER_MAGIC"
if ((f) == (29301)) return "ROMFS_MAGIC"
if ((f) == (20859)) return "SMB_SUPER_MAGIC"
if ((f) == (19920822)) return "SYSV2_SUPER_MAGIC"
if ((f) == (19920821)) return "SYSV4_SUPER_MAGIC"
if ((f) == (16914836)) return "TMPFS_MAGIC"
if ((f) == (352400198)) return "UDF_SUPER_MAGIC"
if ((f) == (72020)) return "UFS_MAGIC"
if ((f) == (40866)) return "USBDEVICE_SUPER_MAGIC"
if ((f) == (2768370933)) return "VXFS_SUPER_MAGIC"
if ((f) == (19920820)) return "XENIX_SUPER_MAGIC"
if ((f) == (1481003842)) return "XFS_SUPER_MAGIC"
if ((f) == (19911021)) return "_XIAFS_SUPER_MAGIC"
return ""
}
function _mmap_flags (flags)
{
if ((flags) & (1)) (msg) = ("MAP_SHARED|")
if ((flags) & (2)) (msg) = (("MAP_PRIVATE|") . (msg))
if ((flags) & (16)) (msg) = (("MAP_FIXED|") . (msg))
if ((flags) & (32)) (msg) = (("MAP_ANONYMOUS|") . (msg))
if ((flags) & (256)) (msg) = (("MAP_GROWSDOWN|") . (msg))
if ((flags) & (2048)) (msg) = (("MAP_DENYWRITE|") . (msg))
if ((flags) & (4096)) (msg) = (("MAP_EXECUTABLE|") . (msg))
if ((flags) & (8192)) (msg) = (("MAP_LOCKED|") . (msg))
if ((flags) & (16384)) (msg) = (("MAP_NORESERVE|") . (msg))
if ((flags) & (32768)) (msg) = (("MAP_POPULATE|") . (msg))
if ((flags) & (65536)) (msg) = (("MAP_NONBLOCK|") . (msg))
return substr(msg, 0, (strlen(msg)) - (1))
}
function _mprotect_prot_str (prot)
{
if (prot) {
if ((prot) & (1)) (ps) = ("PROT_READ|")
if ((prot) & (2)) (ps) = (("PROT_WRITE|") . (ps))
if ((prot) & (4)) (ps) = (("PROT_EXEC|") . (ps))
return substr(ps, 0, (strlen(ps)) - (1))
}
return "PROT_NONE"
}
function _madvice_advice_str (behavior)
{
if ((behavior) == (0)) return "MADV_NORMAL"
if ((behavior) == (1)) return "MADV_RANDOM"
if ((behavior) == (2)) return "MADV_SEQUENTIAL"
if ((behavior) == (3)) return "MADV_WILLNEED"
if ((behavior) == (4)) return "MADV_DONTNEED"
return ""
}
function _fadvice_advice_str (behavior)
{
if ((behavior) == (0)) return "FADV_NORMAL"
if ((behavior) == (1)) return "FADV_RANDOM"
if ((behavior) == (2)) return "FADV_SEQUENTIAL"
if ((behavior) == (3)) return "FADV_WILLNEED"
if ((behavior) == (4)) return "FADV_DONTNEED"
return ""
}
function _fcntl_cmd_str (cmd)
{
if ((cmd) == (0)) return "F_DUPFD"
if ((cmd) == (1)) return "F_GETFD"
if ((cmd) == (2)) return "F_SETFD"
if ((cmd) == (3)) return "F_GETFL"
if ((cmd) == (4)) return "F_SETFL"
if ((cmd) == (5)) return "F_GETLK"
if ((cmd) == (6)) return "F_SETLK"
if ((cmd) == (7)) return "F_SETLKW"
if ((cmd) == (8)) return "F_SETOWN"
if ((cmd) == (9)) return "F_GETOWN"
if ((cmd) == (10)) return "F_SETSIG"
if ((cmd) == (11)) return "F_GETLK64"
if ((cmd) == (12)) return "F_SETLK64"
if ((cmd) == (13)) return "F_SETLKW64"
return ""
}
function _seek_whence_str (w)
{
if ((w) == (0)) return "SEEK_SET"
if ((w) == (1)) return "SEEK_CUR"
if ((w) == (2)) return "SEEK_END"
return ""
}
function _quotactl_cmd_str (cmd)
{
if ((cmd) == (8388610)) return "Q_QUOTAON"
if ((cmd) == (8388611)) return "Q_QUOTAOF
if ((f) == (61267)) return "EXT2_SUPER_MAGIC"
if ((f) == (61267)) return "EXT3_SUPER_MAGIC"
if ((f) == (16964)) return "HFS_SUPER_MAGIC"
if ((f) == (4187351113)) return "HPFS_SUPER_MAGIC"
if ((f) == (2508478710)) return "HUGETLBFS_MAGIC"
if ((f) == (38496)) return "ISOFS_SUPER_MAGIC"
if ((f) == (29366)) return "JFFS2_SUPER_MAGIC"
if ((f) == (827541066)) return "JFS_SUPER_MAGIC"
if ((f) == (4991)) return "MINIX_SUPER_MAGIC"
if ((f) == (5007)) return "MINIX_SUPER_MAGIC2"
if ((f) == (9320)) return "MINIX2_SUPER_MAGIC"
if ((f) == (9336)) return "MINIX2_SUPER_MAGIC2"
if ((f) == (19780)) return "MSDOS_SUPER_MAGIC"
if ((f) == (22092)) return "NCP_SUPER_MAGIC"
if ((f) == (26985)) return "NFS_SUPER_MAGIC"
if ((f) == (1397118030)) return "NTFS_SB_MAGIC"
if ((f) == (40865)) return "OPENPROM_SUPER_MAGIC"
if ((f) == (40864)) return "PROC_SUPER_MAGIC"
if ((f) == (47)) return "QNX4_SUPER_MAGIC"
if ((f) == (1382369651)) return "REISERFS_SUPER_MAGIC"
if ((f) == (29301)) return "ROMFS_MAGIC"
if ((f) == (20859)) return "SMB_SUPER_MAGIC"
if ((f) == (19920822)) return "SYSV2_SUPER_MAGIC"
if ((f) == (19920821)) return "SYSV4_SUPER_MAGIC"
if ((f) == (16914836)) return "TMPFS_MAGIC"
if ((f) == (352400198)) return "UDF_SUPER_MAGIC"
if ((f) == (72020)) return "UFS_MAGIC"
if ((f) == (40866)) return "USBDEVICE_SUPER_MAGIC"
if ((f) == (2768370933)) return "VXFS_SUPER_MAGIC"
if ((f) == (19920820)) return "XENIX_SUPER_MAGIC"
if ((f) == (1481003842)) return "XFS_SUPER_MAGIC"
if ((f) == (19911021)) return "_XIAFS_SUPER_MAGIC"
return ""
}
function _mmap_flags (flags)
{
if ((flags) & (1)) (msg) = ("MAP_SHARED|")
if ((flags) & (2)) (msg) = (("MAP_PRIVATE|") . (msg))
if ((flags) & (16)) (msg) = (("MAP_FIXED|") . (msg))
if ((flags) & (32)) (msg) = (("MAP_ANONYMOUS|") . (msg))
if ((flags) & (256)) (msg) = (("MAP_GROWSDOWN|") . (msg))
if ((flags) & (2048)) (msg) = (("MAP_DENYWRITE|") . (msg))
if ((flags) & (4096)) (msg) = (("MAP_EXECUTABLE|") . (msg))
if ((flags) & (8192)) (msg) = (("MAP_LOCKED|") . (msg))
if ((flags) & (16384)) (msg) = (("MAP_NORESERVE|") . (msg))
if ((flags) & (32768)) (msg) = (("MAP_POPULATE|") . (msg))
if ((flags) & (65536)) (msg) = (("MAP_NONBLOCK|") . (msg))
return substr(msg, 0, (strlen(msg)) - (1))
}
function _mprotect_prot_str (prot)
{
if (prot) {
if ((prot) & (1)) (ps) = ("PROT_READ|")
if ((prot) & (2)) (ps) = (("PROT_WRITE|") . (ps))
if ((prot) & (4)) (ps) = (("PROT_EXEC|") . (ps))
return substr(ps, 0, (strlen(ps)) - (1))
}
return "PROT_NONE"
}
function _madvice_advice_str (behavior)
{
if ((behavior) == (0)) return "MADV_NORMAL"
if ((behavior) == (1)) return "MADV_RANDOM"
if ((behavior) == (2)) return "MADV_SEQUENTIAL"
if ((behavior) == (3)) return "MADV_WILLNEED"
if ((behavior) == (4)) return "MADV_DONTNEED"
return ""
}
function _fadvice_advice_str (behavior)
{
if ((behavior) == (0)) return "FADV_NORMAL"
if ((behavior) == (1)) return "FADV_RANDOM"
if ((behavior) == (2)) return "FADV_SEQUENTIAL"
if ((behavior) == (3)) return "FADV_WILLNEED"
if ((behavior) == (4)) return "FADV_DONTNEED"
return ""
}
function _fcntl_cmd_str (cmd)
{
if ((cmd) == (0)) return "F_DUPFD"
if ((cmd) == (1)) return "F_GETFD"
if ((cmd) == (2)) return "F_SETFD"
if ((cmd) == (3)) return "F_GETFL"
if ((cmd) == (4)) return "F_SETFL"
if ((cmd) == (5)) return "F_GETLK"
if ((cmd) == (6)) return "F_SETLK"
if ((cmd) == (7)) return "F_SETLKW"
if ((cmd) == (8)) return "F_SETOWN"
if ((cmd) == (9)) return "F_GETOWN"
if ((cmd) == (10)) return "F_SETSIG"
if ((cmd) == (11)) return "F_GETLK64"
if ((cmd) == (12)) return "F_SETLK64"
if ((cmd) == (13)) return "F_SETLKW64"
return ""
}
function _seek_whence_str (w)
{
if ((w) == (0)) return "SEEK_SET"
if ((w) == (1)) return "SEEK_CUR"
if ((w) == (2)) return "SEEK_END"
return ""
}
function _quotactl_cmd_str (cmd)
{
if ((cmd) == (8388610)) return "Q_QUOTAON"
F"
if ((cmd) == (8388615)) return "Q_GETQUOTA"
if ((cmd) == (8388616)) return "Q_SETQUOTA"
if ((cmd) == (8388613)) return "Q_GETINFO"
if ((cmd) == (8388614)) return "Q_SETINFO"
if ((cmd) == (8388612)) return "Q_GETFMT"
if ((cmd) == (8388609)) return "Q_SYNC"
if ((cmd) == (22529)) return "Q_XQUOTAON"
if ((cmd) == (22530)) return "Q_XQUOTAOFF"
if ((cmd) == (22531)) return "Q_XGETQUOTA"
if ((cmd) == (22532)) return "Q_XSETQLIM"
if ((cmd) == (22533)) return "Q_XGETQSTAT"
if ((cmd) == (22534)) return "Q_XQUOTARM"
return ""
}
function _sockopt_optname_str (opt)
{
if ((opt) == (1)) return "SO_DEBUG"
if ((opt) == (2)) return "SO_REUSEADDR"
if ((opt) == (3)) return "SO_TYPE"
if ((opt) == (4)) return "SO_ERROR"
if ((opt) == (5)) return "SO_DONTROUTE"
if ((opt) == (6)) return "SO_BROADCAST"
if ((opt) == (7)) return "SO_SNDBUF"
if ((opt) == (8)) return "SO_RCVBUF"
if ((opt) == (9)) return "SO_KEEPALIVE"
if ((opt) == (10)) return "SO_OOBINLINE"
if ((opt) == (11)) return "SO_NO_CHECK"
if ((opt) == (12)) return "SO_PRIORITY"
if ((opt) == (13)) return "SO_LINGER"
if ((opt) == (14)) return "SO_BSDCOMPAT"
if ((opt) == (16)) return "SO_PASSCRED"
if ((opt) == (17)) return "SO_PEERCRED"
if ((opt) == (18)) return "SO_RCVLOWAT"
if ((opt) == (19)) return "SO_SNDLOWAT"
if ((opt) == (20)) return "SO_RCVTIMEO"
if ((opt) == (21)) return "SO_SNDTIMEO"
return ""
}
function _sockopt_level_str (l)
{
if ((l) == (0)) return "IP"
if ((l) == (1)) return "ICMP"
if ((l) == (2)) return "IGMP"
if ((l) == (3)) return "GGP"
if ((l) == (4)) return "IP-ENCAP"
if ((l) == (5)) return "ST"
if ((l) == (6)) return "TCP"
if ((l) == (7)) return "CBT"
if ((l) == (8)) return "EGP"
if ((l) == (9)) return "IGP"
if ((l) == (10)) return "BBN-RCC-MON"
if ((l) == (11)) return "NVP-II"
if ((l) == (12)) return "PUP"
if ((l) == (13)) return "ARGUS"
if ((l) == (14)) return "EMCON"
if ((l) == (15)) return "XNET"
if ((l) == (16)) return "CHAOS"
if ((l) == (17)) return "UDP"
if ((l) == (18)) return "MUX"
if ((l) == (19)) return "DCN-MEAS"
if ((l) == (20)) return "HMP"
if ((l) == (21)) return "PRM"
if ((l) == (22)) return "XNS-IDP"
if ((l) == (23)) return "TRUNK-1"
if ((l) == (24)) return "TRUNK-2"
if ((l) == (25)) return "LEAF-1"
if ((l) == (26)) return "LEAF-2"
if ((l) == (27)) return "RDP"
if ((l) == (28)) return "IRTP"
if ((l) == (29)) return "ISO-TP4"
if ((l) == (30)) return "NETBLT"
if ((l) == (31)) return "MFE-NSP"
if ((l) == (32)) return "MERIT-INP"
if ((l) == (33)) return "SEP"
if ((l) == (34)) return "3PC"
if ((l) == (35)) return "IDPR"
if ((l) == (36)) return "XTP"
if ((l) == (37)) return "DDP"
if ((l) == (38)) return "IDPR-CMTP"
if ((l) == (39)) return "TP++"
if ((l) == (40)) return "IL"
if ((l) == (41)) return "IPv6"
if ((l) == (42)) return "SDRP"
if ((l) == (43)) return "IPv6-Route"
if ((l) == (44)) return "IPv6-Frag"
if ((l) == (45)) return "IDRP"
if ((l) == (46)) return "RSVP"
if ((l) == (47)) return "GRE"
if ((l) == (48)) return "MHRP"
if ((l) == (49)) return "BNA"
if ((l) == (50)) return "IPv6-Crypt"
if ((l) == (51)) return "IPv6-Auth"
if ((l) == (52)) return "I-NLSP"
if ((l) == (53)) return "SWIPE"
if ((l) == (54)) return "NARP"
if ((l) == (55)) return "MOBILE"
if ((l) == (56)) return "TLSP"
if ((l) == (57)) return "SKIP"
if ((l) == (58)) return "IPv6-ICMP"
if ((l) == (59)) return "IPv6-NoNxt"
if ((l) == (60)) return "IPv6-Opts"
if ((l) == (62)) return "CFTP"
if ((l) == (64)) return "SAT-EXPAK"
if ((l) == (65)) return "KRYPTOLAN"
if ((l) == (66)) return "RVD"
if ((l) == (67)) return "IPPC"
if ((l) == (69)) return "SAT-MON"
if ((l) == (70)) return "VISA"
if ((l) == (71)) return "IPCV"
if ((l) == (72)) return "CPNX"
if ((l) == (73)) return "CPHB"
if ((l) == (74)) return "WSN"
if ((l) == (75)) return "PVP"
if ((l) == (76)) return "BR-SAT-MON"
if (
if ((cmd) == (8388611)) return "Q_QUOTAOFF"
if ((cmd) == (8388615)) return "Q_GETQUOTA"
if ((cmd) == (8388616)) return "Q_SETQUOTA"
if ((cmd) == (8388613)) return "Q_GETINFO"
if ((cmd) == (8388614)) return "Q_SETINFO"
if ((cmd) == (8388612)) return "Q_GETFMT"
if ((cmd) == (8388609)) return "Q_SYNC"
if ((cmd) == (22529)) return "Q_XQUOTAON"
if ((cmd) == (22530)) return "Q_XQUOTAOFF"
if ((cmd) == (22531)) return "Q_XGETQUOTA"
if ((cmd) == (22532)) return "Q_XSETQLIM"
if ((cmd) == (22533)) return "Q_XGETQSTAT"
if ((cmd) == (22534)) return "Q_XQUOTARM"
return ""
}
function _sockopt_optname_str (opt)
{
if ((opt) == (1)) return "SO_DEBUG"
if ((opt) == (2)) return "SO_REUSEADDR"
if ((opt) == (3)) return "SO_TYPE"
if ((opt) == (4)) return "SO_ERROR"
if ((opt) == (5)) return "SO_DONTROUTE"
if ((opt) == (6)) return "SO_BROADCAST"
if ((opt) == (7)) return "SO_SNDBUF"
if ((opt) == (8)) return "SO_RCVBUF"
if ((opt) == (9)) return "SO_KEEPALIVE"
if ((opt) == (10)) return "SO_OOBINLINE"
if ((opt) == (11)) return "SO_NO_CHECK"
if ((opt) == (12)) return "SO_PRIORITY"
if ((opt) == (13)) return "SO_LINGER"
if ((opt) == (14)) return "SO_BSDCOMPAT"
if ((opt) == (16)) return "SO_PASSCRED"
if ((opt) == (17)) return "SO_PEERCRED"
if ((opt) == (18)) return "SO_RCVLOWAT"
if ((opt) == (19)) return "SO_SNDLOWAT"
if ((opt) == (20)) return "SO_RCVTIMEO"
if ((opt) == (21)) return "SO_SNDTIMEO"
return ""
}
function _sockopt_level_str (l)
{
if ((l) == (0)) return "IP"
if ((l) == (1)) return "ICMP"
if ((l) == (2)) return "IGMP"
if ((l) == (3)) return "GGP"
if ((l) == (4)) return "IP-ENCAP"
if ((l) == (5)) return "ST"
if ((l) == (6)) return "TCP"
if ((l) == (7)) return "CBT"
if ((l) == (8)) return "EGP"
if ((l) == (9)) return "IGP"
if ((l) == (10)) return "BBN-RCC-MON"
if ((l) == (11)) return "NVP-II"
if ((l) == (12)) return "PUP"
if ((l) == (13)) return "ARGUS"
if ((l) == (14)) return "EMCON"
if ((l) == (15)) return "XNET"
if ((l) == (16)) return "CHAOS"
if ((l) == (17)) return "UDP"
if ((l) == (18)) return "MUX"
if ((l) == (19)) return "DCN-MEAS"
if ((l) == (20)) return "HMP"
if ((l) == (21)) return "PRM"
if ((l) == (22)) return "XNS-IDP"
if ((l) == (23)) return "TRUNK-1"
if ((l) == (24)) return "TRUNK-2"
if ((l) == (25)) return "LEAF-1"
if ((l) == (26)) return "LEAF-2"
if ((l) == (27)) return "RDP"
if ((l) == (28)) return "IRTP"
if ((l) == (29)) return "ISO-TP4"
if ((l) == (30)) return "NETBLT"
if ((l) == (31)) return "MFE-NSP"
if ((l) == (32)) return "MERIT-INP"
if ((l) == (33)) return "SEP"
if ((l) == (34)) return "3PC"
if ((l) == (35)) return "IDPR"
if ((l) == (36)) return "XTP"
if ((l) == (37)) return "DDP"
if ((l) == (38)) return "IDPR-CMTP"
if ((l) == (39)) return "TP++"
if ((l) == (40)) return "IL"
if ((l) == (41)) return "IPv6"
if ((l) == (42)) return "SDRP"
if ((l) == (43)) return "IPv6-Route"
if ((l) == (44)) return "IPv6-Frag"
if ((l) == (45)) return "IDRP"
if ((l) == (46)) return "RSVP"
if ((l) == (47)) return "GRE"
if ((l) == (48)) return "MHRP"
if ((l) == (49)) return "BNA"
if ((l) == (50)) return "IPv6-Crypt"
if ((l) == (51)) return "IPv6-Auth"
if ((l) == (52)) return "I-NLSP"
if ((l) == (53)) return "SWIPE"
if ((l) == (54)) return "NARP"
if ((l) == (55)) return "MOBILE"
if ((l) == (56)) return "TLSP"
if ((l) == (57)) return "SKIP"
if ((l) == (58)) return "IPv6-ICMP"
if ((l) == (59)) return "IPv6-NoNxt"
if ((l) == (60)) return "IPv6-Opts"
if ((l) == (62)) return "CFTP"
if ((l) == (64)) return "SAT-EXPAK"
if ((l) == (65)) return "KRYPTOLAN"
if ((l) == (66)) return "RVD"
if ((l) == (67)) return "IPPC"
if ((l) == (69)) return "SAT-MON"
if ((l) == (70)) return "VISA"
if ((l) == (71)) return "IPCV"
if ((l) == (72)) return "CPNX"
if ((l) == (73)) return "CPHB"
if ((l) == (74)) return "WSN"
if ((l) == (75)) return "PVP"
if ((l) == (76)) return "BR-SAT-MON"
(l) == (77)) return "SUN-ND"
if ((l) == (78)) return "WB-MON"
if ((l) == (79)) return "WB-EXPAK"
if ((l) == (80)) return "ISO-IP"
if ((l) == (81)) return "VMTP"
if ((l) == (82)) return "SECURE-VMTP"
if ((l) == (83)) return "VINES"
if ((l) == (84)) return "TTP"
if ((l) == (85)) return "NSFNET-IGP"
if ((l) == (86)) return "DGP"
if ((l) == (87)) return "TCF"
if ((l) == (88)) return "EIGRP"
if ((l) == (89)) return "OSPFIGP"
if ((l) == (90)) return "Sprite-RPC"
if ((l) == (91)) return "LARP"
if ((l) == (92)) return "MTP"
if ((l) == (93)) return "AX.25"
if ((l) == (94)) return "IPIP"
if ((l) == (95)) return "MICP"
if ((l) == (96)) return "SCC-SP"
if ((l) == (97)) return "ETHERIP"
if ((l) == (98)) return "ENCAP"
if ((l) == (100)) return "GMTP"
if ((l) == (101)) return "IFMP"
if ((l) == (102)) return "PNNI"
if ((l) == (103)) return "PIM"
if ((l) == (104)) return "ARIS"
if ((l) == (105)) return "SCPS"
if ((l) == (106)) return "QNX"
if ((l) == (107)) return "A/N"
if ((l) == (108)) return "IPComp"
if ((l) == (109)) return "SNP"
if ((l) == (110)) return "Compaq-Peer"
if ((l) == (111)) return "IPX-in-IP"
if ((l) == (112)) return "VRRP"
if ((l) == (113)) return "PGM"
if ((l) == (115)) return "L2TP"
if ((l) == (116)) return "DDX"
if ((l) == (117)) return "IATP"
if ((l) == (118)) return "STP"
if ((l) == (119)) return "SRP"
if ((l) == (120)) return "UTI"
if ((l) == (121)) return "SMP"
if ((l) == (122)) return "SM"
if ((l) == (123)) return "PTP"
if ((l) == (124)) return "ISIS"
if ((l) == (125)) return "FIRE"
if ((l) == (126)) return "CRTP"
if ((l) == (127)) return "CRUDP"
if ((l) == (128)) return "SSCOPMCE"
if ((l) == (129)) return "IPLT"
if ((l) == (130)) return "SPS"
if ((l) == (131)) return "PIPE"
if ((l) == (132)) return "SCTP"
if ((l) == (133)) return "FC"
return ""
}
function _sock_family_str (f)
{
if ((f) == (0)) return "PF_UNSPEC"
if ((f) == (1)) return "PF_UNIX"
if ((f) == (1)) return "PF_LOCAL"
if ((f) == (2)) return "PF_INET"
if ((f) == (3)) return "PF_AX25"
if ((f) == (4)) return "PF_IPX"
if ((f) == (5)) return "PF_APPLETALK"
if ((f) == (6)) return "PF_NETROM"
if ((f) == (7)) return "PF_BRIDGE"
if ((f) == (8)) return "PF_ATMPVC"
if ((f) == (9)) return "PF_X25"
if ((f) == (10)) return "PF_INET6"
if ((f) == (11)) return "PF_ROSE"
if ((f) == (12)) return "PF_DECnet"
if ((f) == (13)) return "PF_NETBEUI"
if ((f) == (14)) return "PF_SECURITY"
if ((f) == (15)) return "PF_KEY"
if ((f) == (16)) return "PF_NETLINK"
if ((f) == (17)) return "PF_PACKET"
if ((f) == (18)) return "PF_ASH"
if ((f) == (19)) return "PF_ECONET"
if ((f) == (20)) return "PF_ATMSVC"
if ((f) == (22)) return "PF_SNA"
if ((f) == (23)) return "PF_IRDA"
if ((f) == (24)) return "PF_PPPOX"
if ((f) == (25)) return "PF_WANPIPE"
if ((f) == (26)) return "PF_LLC"
if ((f) == (31)) return "PF_BLUETOOTH"
if ((f) == (32)) return "PF_MAX"
return ""
}
function _sock_type_str (t)
{
if ((t) == (1)) return "SOCK_STREAM"
if ((t) == (2)) return "SOCK_DGRAM"
if ((t) == (5)) return "SOCK_SEQPACKET"
if ((t) == (3)) return "SOCK_RAW"
if ((t) == (4)) return "SOCK_RDM"
if ((t) == (10)) return "SOCK_PACKET"
return ""
}
function _opoll_op_str (o)
{
if ((o) == (1)) return "EPOLL_CTL_ADD"
if ((o) == (3)) return "EPOLL_CTL_MOD"
if ((o) == (2)) return "EPOLL_CTL_DEL"
return ""
}
function _epoll_events_str (e)
{
if ((e) == (1)) return "EPOLLIN"
if ((e) == (4)) return "EPOLLOUT"
if ((e) == (2)) return "EPOLLPRI"
if ((e) == (8)) return "EPOLLERR"
if ((e) == (16)) return "EPOLLHUP"
if ((e) == (-(2147483648))) return "EPOLLET"
if ((e) == (1073741824)) return "EPOLLONESHOT"
return ""
}
function _rlimit_resource_str (r)
{
if ((r) == (-(1))) return "RLIM_INFINITY"
if ((r) == (9)) return "RLIMIT_AS"
if ((r) == (4)) return "RLIMIT_CORE"
if ((r) == (0)) return "RLIMIT_CPU"
if ((r) ==
if ((l) == (77)) return "SUN-ND"
if ((l) == (78)) return "WB-MON"
if ((l) == (79)) return "WB-EXPAK"
if ((l) == (80)) return "ISO-IP"
if ((l) == (81)) return "VMTP"
if ((l) == (82)) return "SECURE-VMTP"
if ((l) == (83)) return "VINES"
if ((l) == (84)) return "TTP"
if ((l) == (85)) return "NSFNET-IGP"
if ((l) == (86)) return "DGP"
if ((l) == (87)) return "TCF"
if ((l) == (88)) return "EIGRP"
if ((l) == (89)) return "OSPFIGP"
if ((l) == (90)) return "Sprite-RPC"
if ((l) == (91)) return "LARP"
if ((l) == (92)) return "MTP"
if ((l) == (93)) return "AX.25"
if ((l) == (94)) return "IPIP"
if ((l) == (95)) return "MICP"
if ((l) == (96)) return "SCC-SP"
if ((l) == (97)) return "ETHERIP"
if ((l) == (98)) return "ENCAP"
if ((l) == (100)) return "GMTP"
if ((l) == (101)) return "IFMP"
if ((l) == (102)) return "PNNI"
if ((l) == (103)) return "PIM"
if ((l) == (104)) return "ARIS"
if ((l) == (105)) return "SCPS"
if ((l) == (106)) return "QNX"
if ((l) == (107)) return "A/N"
if ((l) == (108)) return "IPComp"
if ((l) == (109)) return "SNP"
if ((l) == (110)) return "Compaq-Peer"
if ((l) == (111)) return "IPX-in-IP"
if ((l) == (112)) return "VRRP"
if ((l) == (113)) return "PGM"
if ((l) == (115)) return "L2TP"
if ((l) == (116)) return "DDX"
if ((l) == (117)) return "IATP"
if ((l) == (118)) return "STP"
if ((l) == (119)) return "SRP"
if ((l) == (120)) return "UTI"
if ((l) == (121)) return "SMP"
if ((l) == (122)) return "SM"
if ((l) == (123)) return "PTP"
if ((l) == (124)) return "ISIS"
if ((l) == (125)) return "FIRE"
if ((l) == (126)) return "CRTP"
if ((l) == (127)) return "CRUDP"
if ((l) == (128)) return "SSCOPMCE"
if ((l) == (129)) return "IPLT"
if ((l) == (130)) return "SPS"
if ((l) == (131)) return "PIPE"
if ((l) == (132)) return "SCTP"
if ((l) == (133)) return "FC"
return ""
}
function _sock_family_str (f)
{
if ((f) == (0)) return "PF_UNSPEC"
if ((f) == (1)) return "PF_UNIX"
if ((f) == (1)) return "PF_LOCAL"
if ((f) == (2)) return "PF_INET"
if ((f) == (3)) return "PF_AX25"
if ((f) == (4)) return "PF_IPX"
if ((f) == (5)) return "PF_APPLETALK"
if ((f) == (6)) return "PF_NETROM"
if ((f) == (7)) return "PF_BRIDGE"
if ((f) == (8)) return "PF_ATMPVC"
if ((f) == (9)) return "PF_X25"
if ((f) == (10)) return "PF_INET6"
if ((f) == (11)) return "PF_ROSE"
if ((f) == (12)) return "PF_DECnet"
if ((f) == (13)) return "PF_NETBEUI"
if ((f) == (14)) return "PF_SECURITY"
if ((f) == (15)) return "PF_KEY"
if ((f) == (16)) return "PF_NETLINK"
if ((f) == (17)) return "PF_PACKET"
if ((f) == (18)) return "PF_ASH"
if ((f) == (19)) return "PF_ECONET"
if ((f) == (20)) return "PF_ATMSVC"
if ((f) == (22)) return "PF_SNA"
if ((f) == (23)) return "PF_IRDA"
if ((f) == (24)) return "PF_PPPOX"
if ((f) == (25)) return "PF_WANPIPE"
if ((f) == (26)) return "PF_LLC"
if ((f) == (31)) return "PF_BLUETOOTH"
if ((f) == (32)) return "PF_MAX"
return ""
}
function _sock_type_str (t)
{
if ((t) == (1)) return "SOCK_STREAM"
if ((t) == (2)) return "SOCK_DGRAM"
if ((t) == (5)) return "SOCK_SEQPACKET"
if ((t) == (3)) return "SOCK_RAW"
if ((t) == (4)) return "SOCK_RDM"
if ((t) == (10)) return "SOCK_PACKET"
return ""
}
function _opoll_op_str (o)
{
if ((o) == (1)) return "EPOLL_CTL_ADD"
if ((o) == (3)) return "EPOLL_CTL_MOD"
if ((o) == (2)) return "EPOLL_CTL_DEL"
return ""
}
function _epoll_events_str (e)
{
if ((e) == (1)) return "EPOLLIN"
if ((e) == (4)) return "EPOLLOUT"
if ((e) == (2)) return "EPOLLPRI"
if ((e) == (8)) return "EPOLLERR"
if ((e) == (16)) return "EPOLLHUP"
if ((e) == (-(2147483648))) return "EPOLLET"
if ((e) == (1073741824)) return "EPOLLONESHOT"
return ""
}
function _rlimit_resource_str (r)
{
if ((r) == (-(1))) return "RLIM_INFINITY"
if ((r) == (9)) return "RLIMIT_AS"
if ((r) == (4)) return "RLIMIT_CORE"
if ((r) == (0)) return "RLIMIT_CPU"
(2)) return "RLIMIT_DATA"
if ((r) == (1)) return "RLIMIT_FSIZE"
if ((r) == (10)) return "RLIMIT_LOCKS"
if ((r) == (8)) return "RLIMIT_MEMLOCK"
if ((r) == (7)) return "RLIMIT_NOFILE"
if ((r) == (6)) return "RLIMIT_NPROC"
if ((r) == (5)) return "RLIMIT_RSS"
if ((r) == (3)) return "RLIMIT_STACK"
return ""
}
function _rusage_who_str (w)
{
if ((w) == (0)) return "RUSAGE_SELF"
if ((w) == (-(1))) return "RUSAGE_CHILDREN"
return ""
}
function __short (val)
%{ /* pure */
THIS->__retvalue = (short)THIS->val;
%}
function __uid (val)
%{ /* pure */
THIS->__retvalue = (int)THIS->val;
%}
# file /usr/local/share/systemtap/tapset/context.stp
function print_regs ()
%{
if (CONTEXT->regs) {
_stp_print_regs (CONTEXT->regs);
}
%}
function print_backtrace ()
%{
if (CONTEXT->regs) {
_stp_stack_print(CONTEXT->regs, CONTEXT->pi);
}
%}
function backtrace ()
%{ /* pure */
if (CONTEXT->regs) {
/* XXX: this won't be necessary when runtime and translator */
/* agree on what a string is. */
String str = _stp_string_init (0);
_stp_stack_sprint (str, CONTEXT->regs, 0, CONTEXT->pi);
strlcpy (THIS->__retvalue, _stp_string_ptr(str), MAXSTRINGLEN);
} else
strlcpy (THIS->__retvalue, "", MAXSTRINGLEN);
%}
function execname ()
%{ /* pure */
strlcpy (THIS->__retvalue, current->comm, MAXSTRINGLEN);
%}
function pid ()
%{ /* pure */
THIS->__retvalue = current->tgid;
%}
function tid ()
%{ /* pure */
THIS->__retvalue = current->pid;
%}
function ppid ()
%{ /* pure */
THIS->__retvalue = current->parent->tgid;
%}
function pexecname ()
%{ /* pure */
strlcpy (THIS->__retvalue, current->parent->comm, MAXSTRINGLEN);
%}
function gid ()
%{ /* pure */
THIS->__retvalue = current->gid;
%}
function egid ()
%{ /* pure */
THIS->__retvalue = current->egid;
%}
function uid ()
%{ /* pure */
THIS->__retvalue = current->uid;
%}
function euid ()
%{ /* pure */
THIS->__retvalue = current->euid;
%}
function cpuid ()
%{ /* pure */
THIS->__retvalue = current->thread_info->cpu;
%}
function cpu ()
%{ /* pure */
THIS->__retvalue = current->thread_info->cpu; /* smp_processor_id()? */
%}
function print_stack (stk)
%{
char *ptr = THIS->stk;
char *tok = strsep(&ptr, " ");
while (tok && *tok) {
_stp_print_cstr(" ");
_stp_symbol_print (simple_strtol(tok, NULL, 16));
_stp_print_cstr("\n");
tok = strsep(&ptr, " ");
}
%}
function pp ()
%{ /* pure */
strlcpy (THIS->__retvalue, CONTEXT->probe_point, MAXSTRINGLEN);
%}
function probefunc ()
%{ /* pure */
char *ptr, *start;
start = strstr(CONTEXT->probe_point, "function(\"");
ptr = start + 10;
if (!start) {
start = strstr(CONTEXT->probe_point, "inline(\"");
ptr = start + 8;
}
if (start) {
int len = MAXSTRINGLEN;
char *dst = THIS->__retvalue;
while (*ptr != '@' && --len > 0 && *ptr)
*dst++ = *ptr++;
*dst = 0;
} else if (CONTEXT->regs &&
#if defined (__ia64__)
((unsigned long)REG_IP(CONTEXT->regs) >= (unsigned long)KERNEL_START)) {
#else
((unsigned long)REG_IP(CONTEXT->regs) >= (unsigned long)PAGE_OFFSET)) {
#endif
_stp_symbol_sprint_basic(THIS->__retvalue, MAXSTRINGLEN,
REG_IP(CONTEXT->regs));
if (THIS->__retvalue[0] == '.') /* powerpc symbol has a dot*/
strlcpy(THIS->__retvalue,THIS->__retvalue + 1,MAXSTRINGLEN);
} else {
THIS->__retvalue[0] = '\0';
}
%}
function probemod ()
%{ /* pure */
char *ptr, *start;
start = strstr(CONTEXT->probe_point, "module(\"");
ptr = start + 8;
if (start) {
int len = MAXSTRINGLEN;
char *dst = THIS->__retvalue;
while (*ptr != '"' && --len && *ptr)
*dst++ = *ptr++;
*dst = 0;
} else {
/* XXX: need a PC- and symbol-table-based fallback. */
THIS->__retvalue[0] = '\0';
}
%}
function is_return ()
%{ /* pure */
if (CONTEXT->pi)
THIS->__retvalue = 1;
else
THIS->__retvalue = 0;
%}
function target ()
%{ /* pure */
THIS->__retvalue = _stp_target;
%}
function stp_pid ()
if ((r) == (2)) return "RLIMIT_DATA"
if ((r) == (1)) return "RLIMIT_FSIZE"
if ((r) == (10)) return "RLIMIT_LOCKS"
if ((r) == (8)) return "RLIMIT_MEMLOCK"
if ((r) == (7)) return "RLIMIT_NOFILE"
if ((r) == (6)) return "RLIMIT_NPROC"
if ((r) == (5)) return "RLIMIT_RSS"
if ((r) == (3)) return "RLIMIT_STACK"
return ""
}
function _rusage_who_str (w)
{
if ((w) == (0)) return "RUSAGE_SELF"
if ((w) == (-(1))) return "RUSAGE_CHILDREN"
return ""
}
function __short (val)
%{ /* pure */
THIS->__retvalue = (short)THIS->val;
%}
function __uid (val)
%{ /* pure */
THIS->__retvalue = (int)THIS->val;
%}
# file /usr/local/share/systemtap/tapset/context.stp
function print_regs ()
%{
if (CONTEXT->regs) {
_stp_print_regs (CONTEXT->regs);
}
%}
function print_backtrace ()
%{
if (CONTEXT->regs) {
_stp_stack_print(CONTEXT->regs, CONTEXT->pi);
}
%}
function backtrace ()
%{ /* pure */
if (CONTEXT->regs) {
/* XXX: this won't be necessary when runtime and translator */
/* agree on what a string is. */
String str = _stp_string_init (0);
_stp_stack_sprint (str, CONTEXT->regs, 0, CONTEXT->pi);
strlcpy (THIS->__retvalue, _stp_string_ptr(str), MAXSTRINGLEN);
} else
strlcpy (THIS->__retvalue, "", MAXSTRINGLEN);
%}
function execname ()
%{ /* pure */
strlcpy (THIS->__retvalue, current->comm, MAXSTRINGLEN);
%}
function pid ()
%{ /* pure */
THIS->__retvalue = current->tgid;
%}
function tid ()
%{ /* pure */
THIS->__retvalue = current->pid;
%}
function ppid ()
%{ /* pure */
THIS->__retvalue = current->parent->tgid;
%}
function pexecname ()
%{ /* pure */
strlcpy (THIS->__retvalue, current->parent->comm, MAXSTRINGLEN);
%}
function gid ()
%{ /* pure */
THIS->__retvalue = current->gid;
%}
function egid ()
%{ /* pure */
THIS->__retvalue = current->egid;
%}
function uid ()
%{ /* pure */
THIS->__retvalue = current->uid;
%}
function euid ()
%{ /* pure */
THIS->__retvalue = current->euid;
%}
function cpuid ()
%{ /* pure */
THIS->__retvalue = current->thread_info->cpu;
%}
function cpu ()
%{ /* pure */
THIS->__retvalue = current->thread_info->cpu; /* smp_processor_id()? */
%}
function print_stack (stk)
%{
char *ptr = THIS->stk;
char *tok = strsep(&ptr, " ");
while (tok && *tok) {
_stp_print_cstr(" ");
_stp_symbol_print (simple_strtol(tok, NULL, 16));
_stp_print_cstr("\n");
tok = strsep(&ptr, " ");
}
%}
function pp ()
%{ /* pure */
strlcpy (THIS->__retvalue, CONTEXT->probe_point, MAXSTRINGLEN);
%}
function probefunc ()
%{ /* pure */
char *ptr, *start;
start = strstr(CONTEXT->probe_point, "function(\"");
ptr = start + 10;
if (!start) {
start = strstr(CONTEXT->probe_point, "inline(\"");
ptr = start + 8;
}
if (start) {
int len = MAXSTRINGLEN;
char *dst = THIS->__retvalue;
while (*ptr != '@' && --len > 0 && *ptr)
*dst++ = *ptr++;
*dst = 0;
} else if (CONTEXT->regs &&
#if defined (__ia64__)
((unsigned long)REG_IP(CONTEXT->regs) >= (unsigned long)KERNEL_START)) {
#else
((unsigned long)REG_IP(CONTEXT->regs) >= (unsigned long)PAGE_OFFSET)) {
#endif
_stp_symbol_sprint_basic(THIS->__retvalue, MAXSTRINGLEN,
REG_IP(CONTEXT->regs));
if (THIS->__retvalue[0] == '.') /* powerpc symbol has a dot*/
strlcpy(THIS->__retvalue,THIS->__retvalue + 1,MAXSTRINGLEN);
} else {
THIS->__retvalue[0] = '\0';
}
%}
function probemod ()
%{ /* pure */
char *ptr, *start;
start = strstr(CONTEXT->probe_point, "module(\"");
ptr = start + 8;
if (start) {
int len = MAXSTRINGLEN;
char *dst = THIS->__retvalue;
while (*ptr != '"' && --len && *ptr)
*dst++ = *ptr++;
*dst = 0;
} else {
/* XXX: need a PC- and symbol-table-based fallback. */
THIS->__retvalue[0] = '\0';
}
%}
function is_return ()
%{ /* pure */
if (CONTEXT->pi)
THIS->__retvalue = 1;
else
THIS->__retvalue = 0;
%}
function target ()
%{ /* pure */
THIS->__retvalue = _stp_target;
%}
function stp_pid ()
%{ /* pure */
THIS->__retvalue = _stp_pid;
%}
function stack_size ()
%{ /* pure */
THIS->__retvalue = THREAD_SIZE;
%}
function stack_used ()
%{ /* pure */
char a;
THIS->__retvalue = THREAD_SIZE - ((long)&a & (THREAD_SIZE-1));
%}
function stack_unused ()
%{ /* pure */
char a;
THIS->__retvalue = (long)&a & (THREAD_SIZE-1);
%}
function caller_addr ()
%{ /* pure */
if (CONTEXT->pi)
THIS->__retvalue = (int64_t)(long)_stp_ret_addr_r(CONTEXT->pi);
else
THIS->__retvalue = 0;
%}
function caller ()
%{ /* pure */
if (CONTEXT->pi)
_stp_symbol_sprint_basic( THIS->__retvalue, MAXSTRINGLEN,
(unsigned long)_stp_ret_addr_r(CONTEXT->pi));
else
strlcpy(THIS->__retvalue,"unknown",MAXSTRINGLEN);
%}
# file /usr/local/share/systemtap/tapset/conversions.stp
function kernel_string (addr)
%{ /* pure */
char *destination = THIS->__retvalue;
deref_string (destination, THIS->addr, MAXSTRINGLEN);
goto success;
deref_fault: /* branched to from deref() */
{
static char errmsg[40];
snprintf (errmsg, 40, "kernel string copy fault at 0x%p",
(void *) (uintptr_t) THIS->addr);
CONTEXT->last_error = errmsg;
}
success: ;
%}
function user_string (addr)
%{ /* pure */
if (_stp_strncpy_from_user (THIS->__retvalue,
(const char __user*) (uintptr_t) THIS->addr,
MAXSTRINGLEN) < 0)
strlcpy (THIS->__retvalue, "<unknown>", MAXSTRINGLEN);
%}
function user_string2 (addr, err_msg)
%{ /* pure */
if (_stp_strncpy_from_user (THIS->__retvalue,
(const char __user*) (uintptr_t) THIS->addr,
MAXSTRINGLEN) < 0)
strlcpy (THIS->__retvalue, THIS->err_msg, MAXSTRINGLEN);
%}
function user_string_warn (addr)
%{ /* pure */
long rc = _stp_strncpy_from_user (THIS->__retvalue,
(const char __user*) (uintptr_t) THIS->addr, MAXSTRINGLEN);
if (rc < 0) {
static char errmsg[40];
snprintf (errmsg, 40, "user string copy fault %ld at %p", rc,
(void *) (uintptr_t) THIS->addr);
_stp_warn(errmsg);
strlcpy (THIS->__retvalue, "<unknown>", MAXSTRINGLEN);
}
%}
function user_string_quoted (addr)
%{ /* pure */
if (THIS->addr == 0)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else
_stp_text_str(THIS->__retvalue, (char *)(uintptr_t)THIS->addr, MAXSTRINGLEN, 1, 1);
%}
# file /usr/local/share/systemtap/tapset/ctime.stp
function ctime (epochsecs)
%{
#define SECSPERMIN 60L
#define MINSPERHOUR 60L
#define HOURSPERDAY 24L
#define SECSPERHOUR (SECSPERMIN * MINSPERHOUR)
#define SECSPERDAY (SECSPERHOUR * HOURSPERDAY)
#define DAYSPERWEEK 7
#define MONSPERYEAR 12
#define EPOCH_YEAR 1970
#define EPOCH_WDAY 4
#define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
static const int mon_lengths[2][MONSPERYEAR] = {
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
} ;
static const int year_lengths[2] = {
365,
366
} ;
static const char day_name[7][3] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};
static const char mon_name[12][3] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
long days, rem;
time_t lcltime;
int yleap;
const int *ip;
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
lcltime = THIS->epochsecs;
days = ((long)lcltime) / SECSPERDAY;
rem = ((long)lcltime) % SECSPERDAY;
while (rem < 0)
{
rem += SECSPERDAY;
--days;
}
while (rem >= SECSPERDAY)
{
rem -= SECSPERDAY;
++days;
}
/* compute hour, min, and sec */
tm_hour = (int) (rem / SECSPERHOUR);
rem %= SECSPERHOUR;
tm_min = (int) (rem / SECSPERMIN);
tm_sec = (int) (rem % SECSPERMIN);
/* comput
%{ /* pure */
THIS->__retvalue = _stp_pid;
%}
function stack_size ()
%{ /* pure */
THIS->__retvalue = THREAD_SIZE;
%}
function stack_used ()
%{ /* pure */
char a;
THIS->__retvalue = THREAD_SIZE - ((long)&a & (THREAD_SIZE-1));
%}
function stack_unused ()
%{ /* pure */
char a;
THIS->__retvalue = (long)&a & (THREAD_SIZE-1);
%}
function caller_addr ()
%{ /* pure */
if (CONTEXT->pi)
THIS->__retvalue = (int64_t)(long)_stp_ret_addr_r(CONTEXT->pi);
else
THIS->__retvalue = 0;
%}
function caller ()
%{ /* pure */
if (CONTEXT->pi)
_stp_symbol_sprint_basic( THIS->__retvalue, MAXSTRINGLEN,
(unsigned long)_stp_ret_addr_r(CONTEXT->pi));
else
strlcpy(THIS->__retvalue,"unknown",MAXSTRINGLEN);
%}
# file /usr/local/share/systemtap/tapset/conversions.stp
function kernel_string (addr)
%{ /* pure */
char *destination = THIS->__retvalue;
deref_string (destination, THIS->addr, MAXSTRINGLEN);
goto success;
deref_fault: /* branched to from deref() */
{
static char errmsg[40];
snprintf (errmsg, 40, "kernel string copy fault at 0x%p",
(void *) (uintptr_t) THIS->addr);
CONTEXT->last_error = errmsg;
}
success: ;
%}
function user_string (addr)
%{ /* pure */
if (_stp_strncpy_from_user (THIS->__retvalue,
(const char __user*) (uintptr_t) THIS->addr,
MAXSTRINGLEN) < 0)
strlcpy (THIS->__retvalue, "<unknown>", MAXSTRINGLEN);
%}
function user_string2 (addr, err_msg)
%{ /* pure */
if (_stp_strncpy_from_user (THIS->__retvalue,
(const char __user*) (uintptr_t) THIS->addr,
MAXSTRINGLEN) < 0)
strlcpy (THIS->__retvalue, THIS->err_msg, MAXSTRINGLEN);
%}
function user_string_warn (addr)
%{ /* pure */
long rc = _stp_strncpy_from_user (THIS->__retvalue,
(const char __user*) (uintptr_t) THIS->addr, MAXSTRINGLEN);
if (rc < 0) {
static char errmsg[40];
snprintf (errmsg, 40, "user string copy fault %ld at %p", rc,
(void *) (uintptr_t) THIS->addr);
_stp_warn(errmsg);
strlcpy (THIS->__retvalue, "<unknown>", MAXSTRINGLEN);
}
%}
function user_string_quoted (addr)
%{ /* pure */
if (THIS->addr == 0)
strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
else
_stp_text_str(THIS->__retvalue, (char *)(uintptr_t)THIS->addr, MAXSTRINGLEN, 1, 1);
%}
# file /usr/local/share/systemtap/tapset/ctime.stp
function ctime (epochsecs)
%{
#define SECSPERMIN 60L
#define MINSPERHOUR 60L
#define HOURSPERDAY 24L
#define SECSPERHOUR (SECSPERMIN * MINSPERHOUR)
#define SECSPERDAY (SECSPERHOUR * HOURSPERDAY)
#define DAYSPERWEEK 7
#define MONSPERYEAR 12
#define EPOCH_YEAR 1970
#define EPOCH_WDAY 4
#define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
static const int mon_lengths[2][MONSPERYEAR] = {
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
} ;
static const int year_lengths[2] = {
365,
366
} ;
static const char day_name[7][3] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};
static const char mon_name[12][3] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
long days, rem;
time_t lcltime;
int yleap;
const int *ip;
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
lcltime = THIS->epochsecs;
days = ((long)lcltime) / SECSPERDAY;
rem = ((long)lcltime) % SECSPERDAY;
while (rem < 0)
{
rem += SECSPERDAY;
--days;
}
while (rem >= SECSPERDAY)
{
rem -= SECSPERDAY;
++days;
}
/* compute hour, min, and sec */
tm_hour = (int) (rem / SECSPERHOUR);
rem %= SECSPERHOUR;
tm_min = (int) (rem / SECSPERMIN);
tm_sec = (int) (rem % SECSPERMIN);
e day of week */
if ((tm_wday = ((EPOCH_WDAY + days) % DAYSPERWEEK)) < 0)
tm_wday += DAYSPERWEEK;
/* compute year & day of year */
tm_year = EPOCH_YEAR;
if (days >= 0)
{
for (;;)
{
yleap = isleap(tm_year);
if (days < year_lengths[yleap])
break;
tm_year++;
days -= year_lengths[yleap];
}
}
else
{
do
{
--tm_year;
yleap = isleap(tm_year);
days += year_lengths[yleap];
} while (days < 0);
}
ip = mon_lengths[yleap];
for (tm_mon = 0; days >= ip[tm_mon]; ++tm_mon)
days -= ip[tm_mon];
tm_mday = days + 1;
/*
* At this point we have all our information. Now we need to
* convert it to an ascii representation.
*/
snprintf (THIS->__retvalue, MAXSTRINGLEN, "%.3s %.3s%3d %.2d:%.2d:%.2d %d",
day_name[tm_wday], mon_name[tm_mon],
tm_mday, tm_hour, tm_min,
tm_sec, tm_year);
%}
# file /usr/local/share/systemtap/tapset/endian.stp
function set_endian (val)
%{
_stp_endian = THIS->val;
%}
function big_endian2 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_be16(THIS->val);
%}
function big_endian4 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_be32(THIS->val);
%}
function big_endian8 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_be64(THIS->val);
%}
function little_endian2 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_le16(THIS->val);
%}
function little_endian4 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_le32(THIS->val);
%}
function little_endian8 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_le64(THIS->val);
%}
# file /usr/local/share/systemtap/tapset/errno.stp
%{
#define N(a) [a]=#a
const char * const errlist[] = {
/* from asm-generic/errno-base.h */
[1] = "EPERM",
[2] = "ENOENT",
[3] = "ESRCH",
[4] = "EINTR",
[5] = "EIO",
[6] = "ENXIO",
[7] = "E2BIG",
[8] = "ENOEXEC",
[9] = "EBADF",
[10]= "ECHILD",
[11]= "EAGAIN",
[12]= "ENOMEM",
[13]= "EACCES",
[14]= "EFAULT",
[15]= "ENOTBLK",
[16]= "EBUSY",
[17]= "EEXIST",
[18]= "EXDEV",
[19]= "ENODEV",
[20]= "ENOTDIR",
[21]= "EISDIR",
[22]= "EINVAL",
[23]= "ENFILE",
[24]= "EMFILE",
[25]= "ENOTTY",
[26]= "ETXTBSY",
[27]= "EFBIG",
[28]= "ENOSPC",
[29]= "ESPIPE",
[30]= "EROFS",
[31]= "EMLINK",
[32]= "EPIPE",
[33]= "EDOM",
[34]= "ERANGE",
/* end of errno-base.h */
/* The rest of this is arch-dependent */
#ifdef EDEADLK
N(EDEADLK),
#endif
#ifdef ENAMETOOLONG
N(ENAMETOOLONG),
#endif
#ifdef ENOLCK
N(ENOLCK),
#endif
#ifdef ENOSYS
N(ENOSYS),
#endif
#ifdef ENOTEMPTY
N(ENOTEMPTY),
#endif
#ifdef ELOOP
N(ELOOP),
#endif
#ifdef ENOMSG
N(ENOMSG),
#endif
#ifdef EIDRM
N(EIDRM),
#endif
#ifdef ECHRNG
N(ECHRNG),
#endif
#ifdef EL2NSYNC
N(EL2NSYNC),
#endif
#ifdef EL3HLT
N(EL3HLT),
#endif
#ifdef EL3RST
N(EL3RST),
#endif
#ifdef ELNRNG
N(ELNRNG),
#endif
#ifdef EUNATCH
N(EUNATCH),
#endif
#ifdef ENOCSI
N(ENOCSI),
#endif
#ifdef EL2HLT
N(EL2HLT),
#endif
#ifdef EBADE
N(EBADE),
#endif
#ifdef EBADR
N(EBADR),
#endif
#ifdef EXFULL
N(EXFULL),
#endif
#ifdef ENOANO
N(ENOANO),
#endif
#ifdef EBADRQC
N(EBADRQC),
#endif
#ifdef EBADSLT
N(EBADSLT),
#endif
#ifdef EBFONT
N(EBFONT),
#endif
#ifdef ENOSTR
N(ENOSTR),
#endif
#ifdef ENODATA
N(ENODATA),
#endif
#ifdef ETIME
N(ETIME),
#endif
#ifdef ENOSR
N(ENOSR),
#endif
#ifdef ENONET
N(ENONET),
#endif
#ifdef ENOPKG
N(ENOPKG),
#endif
#ifdef EREMOTE
N(EREMOTE),
#endif
#ifdef ENOLINK
N(ENOLINK),
#endif
#ifdef EAVD
N(EADV),
#endif
#ifdef ESRMNT
N(ESRMNT),
#endif
#ifdef ECOMM
N(ECOMM),
#endif
#ifdef EPROTO
N(EPROTO),
#endif
#ifdef EMULTIHOP
N(EMULTIHOP),
#endif
#ifdef EDOTDOT
N(EDOTDOT),
#endif
#ifdef EBADMSG
N(EBADMSG),
#endif
#ifdef EOVERFLOW
N(EOVERFLOW),
#endif
#ifdef ENOTUNIQ
N(ENOTUNIQ),
#endif
#ifdef EBADFD
N(EBADFD),
#endif
#ifdef EREMCHG
N(EREMCHG),
#endif
#ifdef ELIBACC
N(ELIBACC),
#endif
#ifdef ELIBBAD
N(ELIBBAD),
#endif
#ifdef ELIBSCN
N(ELIBSCN),
#endif
#ifdef ELIBM
/* compute day of week */
if ((tm_wday = ((EPOCH_WDAY + days) % DAYSPERWEEK)) < 0)
tm_wday += DAYSPERWEEK;
/* compute year & day of year */
tm_year = EPOCH_YEAR;
if (days >= 0)
{
for (;;)
{
yleap = isleap(tm_year);
if (days < year_lengths[yleap])
break;
tm_year++;
days -= year_lengths[yleap];
}
}
else
{
do
{
--tm_year;
yleap = isleap(tm_year);
days += year_lengths[yleap];
} while (days < 0);
}
ip = mon_lengths[yleap];
for (tm_mon = 0; days >= ip[tm_mon]; ++tm_mon)
days -= ip[tm_mon];
tm_mday = days + 1;
/*
* At this point we have all our information. Now we need to
* convert it to an ascii representation.
*/
snprintf (THIS->__retvalue, MAXSTRINGLEN, "%.3s %.3s%3d %.2d:%.2d:%.2d %d",
day_name[tm_wday], mon_name[tm_mon],
tm_mday, tm_hour, tm_min,
tm_sec, tm_year);
%}
# file /usr/local/share/systemtap/tapset/endian.stp
function set_endian (val)
%{
_stp_endian = THIS->val;
%}
function big_endian2 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_be16(THIS->val);
%}
function big_endian4 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_be32(THIS->val);
%}
function big_endian8 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_be64(THIS->val);
%}
function little_endian2 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_le16(THIS->val);
%}
function little_endian4 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_le32(THIS->val);
%}
function little_endian8 (val)
%{ /* pure */
THIS->__retvalue = cpu_to_le64(THIS->val);
%}
# file /usr/local/share/systemtap/tapset/errno.stp
%{
#define N(a) [a]=#a
const char * const errlist[] = {
/* from asm-generic/errno-base.h */
[1] = "EPERM",
[2] = "ENOENT",
[3] = "ESRCH",
[4] = "EINTR",
[5] = "EIO",
[6] = "ENXIO",
[7] = "E2BIG",
[8] = "ENOEXEC",
[9] = "EBADF",
[10]= "ECHILD",
[11]= "EAGAIN",
[12]= "ENOMEM",
[13]= "EACCES",
[14]= "EFAULT",
[15]= "ENOTBLK",
[16]= "EBUSY",
[17]= "EEXIST",
[18]= "EXDEV",
[19]= "ENODEV",
[20]= "ENOTDIR",
[21]= "EISDIR",
[22]= "EINVAL",
[23]= "ENFILE",
[24]= "EMFILE",
[25]= "ENOTTY",
[26]= "ETXTBSY",
[27]= "EFBIG",
[28]= "ENOSPC",
[29]= "ESPIPE",
[30]= "EROFS",
[31]= "EMLINK",
[32]= "EPIPE",
[33]= "EDOM",
[34]= "ERANGE",
/* end of errno-base.h */
/* The rest of this is arch-dependent */
#ifdef EDEADLK
N(EDEADLK),
#endif
#ifdef ENAMETOOLONG
N(ENAMETOOLONG),
#endif
#ifdef ENOLCK
N(ENOLCK),
#endif
#ifdef ENOSYS
N(ENOSYS),
#endif
#ifdef ENOTEMPTY
N(ENOTEMPTY),
#endif
#ifdef ELOOP
N(ELOOP),
#endif
#ifdef ENOMSG
N(ENOMSG),
#endif
#ifdef EIDRM
N(EIDRM),
#endif
#ifdef ECHRNG
N(ECHRNG),
#endif
#ifdef EL2NSYNC
N(EL2NSYNC),
#endif
#ifdef EL3HLT
N(EL3HLT),
#endif
#ifdef EL3RST
N(EL3RST),
#endif
#ifdef ELNRNG
N(ELNRNG),
#endif
#ifdef EUNATCH
N(EUNATCH),
#endif
#ifdef ENOCSI
N(ENOCSI),
#endif
#ifdef EL2HLT
N(EL2HLT),
#endif
#ifdef EBADE
N(EBADE),
#endif
#ifdef EBADR
N(EBADR),
#endif
#ifdef EXFULL
N(EXFULL),
#endif
#ifdef ENOANO
N(ENOANO),
#endif
#ifdef EBADRQC
N(EBADRQC),
#endif
#ifdef EBADSLT
N(EBADSLT),
#endif
#ifdef EBFONT
N(EBFONT),
#endif
#ifdef ENOSTR
N(ENOSTR),
#endif
#ifdef ENODATA
N(ENODATA),
#endif
#ifdef ETIME
N(ETIME),
#endif
#ifdef ENOSR
N(ENOSR),
#endif
#ifdef ENONET
N(ENONET),
#endif
#ifdef ENOPKG
N(ENOPKG),
#endif
#ifdef EREMOTE
N(EREMOTE),
#endif
#ifdef ENOLINK
N(ENOLINK),
#endif
#ifdef EAVD
N(EADV),
#endif
#ifdef ESRMNT
N(ESRMNT),
#endif
#ifdef ECOMM
N(ECOMM),
#endif
#ifdef EPROTO
N(EPROTO),
#endif
#ifdef EMULTIHOP
N(EMULTIHOP),
#endif
#ifdef EDOTDOT
N(EDOTDOT),
#endif
#ifdef EBADMSG
N(EBADMSG),
#endif
#ifdef EOVERFLOW
N(EOVERFLOW),
#endif
#ifdef ENOTUNIQ
N(ENOTUNIQ),
#endif
#ifdef EBADFD
N(EBADFD),
#endif
#ifdef EREMCHG
N(EREMCHG),
#endif
#ifdef ELIBACC
N(ELIBACC),
#endif
#ifdef ELIBBAD
N(ELIBBAD),
#endif
#ifdef ELIBSCN
N(ELIBSCN),
#endif
AX
N(ELIBMAX),
#endif
#ifdef ELIBEXEC
N(ELIBEXEC),
#endif
#ifdef EILSEQ
N(EILSEQ),
#endif
#ifdef ERESTART
N(ERESTART),
#endif
#ifdef ESTRPIPE
N(ESTRPIPE),
#endif
#ifdef EUSERS
N(EUSERS),
#endif
#ifdef ENOTSOCK
N(ENOTSOCK),
#endif
#ifdef EDESTADDRREQ
N(EDESTADDRREQ),
#endif
#ifdef EMSGSIZE
N(EMSGSIZE),
#endif
#ifdef EPROTOTYPE
N(EPROTOTYPE),
#endif
#ifdef ENOPROTOOPT
N(ENOPROTOOPT),
#endif
#ifdef EPROTONOSUPPORT
N(EPROTONOSUPPORT),
#endif
#ifdef ESOCKTNOSUPPORT
N(ESOCKTNOSUPPORT),
#endif
#ifdef EOPNOTSUPP
N(EOPNOTSUPP),
#endif
#ifdef EPFNOSUPPORT
N(EPFNOSUPPORT),
#endif
#ifdef EAFNOSUPPORT
N(EAFNOSUPPORT),
#endif
#ifdef EADDRINUSE
N(EADDRINUSE),
#endif
#ifdef EADDRNOTAVAIL
N(EADDRNOTAVAIL),
#endif
#ifdef ENETDOWN
N(ENETDOWN),
#endif
#ifdef ENETUNREACH
N(ENETUNREACH),
#endif
#ifdef ENETRESET
N(ENETRESET),
#endif
#ifdef ECONNABORTED
N(ECONNABORTED),
#endif
#ifdef ECONNRESET
N(ECONNRESET),
#endif
#ifdef ENOBUFS
N(ENOBUFS),
#endif
#ifdef EISCONN
N(EISCONN),
#endif
#ifdef ENOTCONN
N(ENOTCONN),
#endif
#ifdef ESHUTDOWN
N(ESHUTDOWN),
#endif
#ifdef ETOOMANYREFS
N(ETOOMANYREFS),
#endif
#ifdef ETIMEDOUT
N(ETIMEDOUT),
#endif
#ifdef ECONNREFUSED
N(ECONNREFUSED),
#endif
#ifdef EHOSTDOWN
N(EHOSTDOWN),
#endif
#ifdef EHOSTUNREACH
N(EHOSTUNREACH),
#endif
#ifdef EALREADY
N(EALREADY),
#endif
#ifdef EINPROGRESS
N(EINPROGRESS),
#endif
#ifdef ESTALE
N(ESTALE),
#endif
#ifdef EUCLEAN
N(EUCLEAN),
#endif
#ifdef ENOTNAM
N(ENOTNAM),
#endif
#ifdef ENAVAIL
N(ENAVAIL),
#endif
#ifdef EISNAM
N(EISNAM),
#endif
#ifdef EREMOTEIO
N(EREMOTEIO),
#endif
#ifdef EDQUOT
N(EDQUOT),
#endif
#ifdef ENOMEDIUM
N(ENOMEDIUM),
#endif
#ifdef EMEDIUMTYPE
N(EMEDIUMTYPE),
#endif
#ifdef ECANCELED
N(ECANCELED),
#endif
#ifdef ENOKEY
N(ENOKEY),
#endif
#ifdef EKEYEXPIRED
N(EKEYEXPIRED),
#endif
#ifdef EKEYREVOKED
N(EKEYREVOKED),
#endif
#ifdef EKEYREJECTED
N(EKEYREJECTED),
#endif
#ifdef EOWNERDEAD
N(EOWNERDEAD),
#endif
#ifdef ENOTRECOVERABLE
N(ENOTRECOVERABLE),
#endif
#if defined (EDEADLOCK) && EDEADLOCK != EDEADLK
N(EDEADLOCK),
#endif
#ifdef E
N(EADV),
#endif
};
#undef N
const int Maxerrno = sizeof(errlist)/sizeof(char *);
%}function errno_str (err)
%{ /* pure */
long e = THIS->err;
if (e < 0 && e > -Maxerrno && errlist[-e])
strlcpy (THIS->__retvalue, errlist[-e], MAXSTRINGLEN);
else if (e > 0 && e < Maxerrno && errlist[e])
strlcpy (THIS->__retvalue, errlist[e], MAXSTRINGLEN);
%}
function returnstr (returnp)
%{ /* pure */
long ret;
/* XXX: unfortunate duplication with return.stp:retval() */
if (CONTEXT->regs) {
#if defined (__i386__)
ret = CONTEXT->regs->eax;
#elif defined (__x86_64__)
ret = CONTEXT->regs->rax;
#elif defined (__powerpc64__)
ret = CONTEXT->regs->gpr[3];
#elif defined (__ia64__)
ret = CONTEXT->regs->r8;
#elif defined (__sparc64__)
ret = CONTEXT->regs->u_regs[UREG_RETPC];
#else
return;
#endif
} else
return;
if (ret < 0 && ret > -Maxerrno && errlist[-ret])
snprintf (THIS->__retvalue, MAXSTRINGLEN, "%ld (%s)", ret, errlist[-ret]);
else if (THIS->returnp == 2)
snprintf (THIS->__retvalue, MAXSTRINGLEN, "0x%lx", ret);
else if (THIS->returnp == 3)
snprintf (THIS->__retvalue, MAXSTRINGLEN, "%#lo", ret);
else
snprintf (THIS->__retvalue, MAXSTRINGLEN, "%ld", ret);
%}
# file /usr/local/share/systemtap/tapset/indent-default.stp
function __indent_timestamp ()
{
return gettimeofday_us()
}
# file /usr/local/share/systemtap/tapset/indent.stp
global _indent_counters
global _indent_timestamps
function _generic_indent (idx, delta)
{
(ts) = (__indent_timestamp())
if (!(_indent_counters[idx])) (_indent_timestamps[idx]) = (ts)
(x) = ((_indent_counters[idx]) + (((delta) > (0))?(delta):(0)))
(_indent_counters[idx]) += (delta)
(r) = (sprintf("%6d %s(%d):", (ts) - (_indent_ti
#ifdef ELIBMAX
N(ELIBMAX),
#endif
#ifdef ELIBEXEC
N(ELIBEXEC),
#endif
#ifdef EILSEQ
N(EILSEQ),
#endif
#ifdef ERESTART
N(ERESTART),
#endif
#ifdef ESTRPIPE
N(ESTRPIPE),
#endif
#ifdef EUSERS
N(EUSERS),
#endif
#ifdef ENOTSOCK
N(ENOTSOCK),
#endif
#ifdef EDESTADDRREQ
N(EDESTADDRREQ),
#endif
#ifdef EMSGSIZE
N(EMSGSIZE),
#endif
#ifdef EPROTOTYPE
N(EPROTOTYPE),
#endif
#ifdef ENOPROTOOPT
N(ENOPROTOOPT),
#endif
#ifdef EPROTONOSUPPORT
N(EPROTONOSUPPORT),
#endif
#ifdef ESOCKTNOSUPPORT
N(ESOCKTNOSUPPORT),
#endif
#ifdef EOPNOTSUPP
N(EOPNOTSUPP),
#endif
#ifdef EPFNOSUPPORT
N(EPFNOSUPPORT),
#endif
#ifdef EAFNOSUPPORT
N(EAFNOSUPPORT),
#endif
#ifdef EADDRINUSE
N(EADDRINUSE),
#endif
#ifdef EADDRNOTAVAIL
N(EADDRNOTAVAIL),
#endif
#ifdef ENETDOWN
N(ENETDOWN),
#endif
#ifdef ENETUNREACH
N(ENETUNREACH),
#endif
#ifdef ENETRESET
N(ENETRESET),
#endif
#ifdef ECONNABORTED
N(ECONNABORTED),
#endif
#ifdef ECONNRESET
N(ECONNRESET),
#endif
#ifdef ENOBUFS
N(ENOBUFS),
#endif
#ifdef EISCONN
N(EISCONN),
#endif
#ifdef ENOTCONN
N(ENOTCONN),
#endif
#ifdef ESHUTDOWN
N(ESHUTDOWN),
#endif
#ifdef ETOOMANYREFS
N(ETOOMANYREFS),
#endif
#ifdef ETIMEDOUT
N(ETIMEDOUT),
#endif
#ifdef ECONNREFUSED
N(ECONNREFUSED),
#endif
#ifdef EHOSTDOWN
N(EHOSTDOWN),
#endif
#ifdef EHOSTUNREACH
N(EHOSTUNREACH),
#endif
#ifdef EALREADY
N(EALREADY),
#endif
#ifdef EINPROGRESS
N(EINPROGRESS),
#endif
#ifdef ESTALE
N(ESTALE),
#endif
#ifdef EUCLEAN
N(EUCLEAN),
#endif
#ifdef ENOTNAM
N(ENOTNAM),
#endif
#ifdef ENAVAIL
N(ENAVAIL),
#endif
#ifdef EISNAM
N(EISNAM),
#endif
#ifdef EREMOTEIO
N(EREMOTEIO),
#endif
#ifdef EDQUOT
N(EDQUOT),
#endif
#ifdef ENOMEDIUM
N(ENOMEDIUM),
#endif
#ifdef EMEDIUMTYPE
N(EMEDIUMTYPE),
#endif
#ifdef ECANCELED
N(ECANCELED),
#endif
#ifdef ENOKEY
N(ENOKEY),
#endif
#ifdef EKEYEXPIRED
N(EKEYEXPIRED),
#endif
#ifdef EKEYREVOKED
N(EKEYREVOKED),
#endif
#ifdef EKEYREJECTED
N(EKEYREJECTED),
#endif
#ifdef EOWNERDEAD
N(EOWNERDEAD),
#endif
#ifdef ENOTRECOVERABLE
N(ENOTRECOVERABLE),
#endif
#if defined (EDEADLOCK) && EDEADLOCK != EDEADLK
N(EDEADLOCK),
#endif
#ifdef E
N(EADV),
#endif
};
#undef N
const int Maxerrno = sizeof(errlist)/sizeof(char *);
%}function errno_str (err)
%{ /* pure */
long e = THIS->err;
if (e < 0 && e > -Maxerrno && errlist[-e])
strlcpy (THIS->__retvalue, errlist[-e], MAXSTRINGLEN);
else if (e > 0 && e < Maxerrno && errlist[e])
strlcpy (THIS->__retvalue, errlist[e], MAXSTRINGLEN);
%}
function returnstr (returnp)
%{ /* pure */
long ret;
/* XXX: unfortunate duplication with return.stp:retval() */
if (CONTEXT->regs) {
#if defined (__i386__)
ret = CONTEXT->regs->eax;
#elif defined (__x86_64__)
ret = CONTEXT->regs->rax;
#elif defined (__powerpc64__)
ret = CONTEXT->regs->gpr[3];
#elif defined (__ia64__)
ret = CONTEXT->regs->r8;
#elif defined (__sparc64__)
ret = CONTEXT->regs->u_regs[UREG_RETPC];
#else
return;
#endif
} else
return;
if (ret < 0 && ret > -Maxerrno && errlist[-ret])
snprintf (THIS->__retvalue, MAXSTRINGLEN, "%ld (%s)", ret, errlist[-ret]);
else if (THIS->returnp == 2)
snprintf (THIS->__retvalue, MAXSTRINGLEN, "0x%lx", ret);
else if (THIS->returnp == 3)
snprintf (THIS->__retvalue, MAXSTRINGLEN, "%#lo", ret);
else
snprintf (THIS->__retvalue, MAXSTRINGLEN, "%ld", ret);
%}
# file /usr/local/share/systemtap/tapset/indent-default.stp
function __indent_timestamp ()
{
return gettimeofday_us()
}
# file /usr/local/share/systemtap/tapset/indent.stp
global _indent_counters
global _indent_timestamps
function _generic_indent (idx, delta)
{
(ts) = (__indent_timestamp())
if (!(_indent_counters[idx])) (_indent_timestamps[idx]) = (ts)
(x) = ((_indent_counters[idx]) + (((delta) > (0))?(delta):(0)))
(_indent_counters[idx]) += (delta)
mestamps[idx]), execname(), tid()))
for ((i) = (1); (i) < (x); (i)++) (r) .= (" ")
return r
}
function thread_indent (delta)
{
return _generic_indent(tid(), delta)
}
# file /usr/local/share/systemtap/tapset/inet_sock.stp
%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/tcp.h>
#include <net/ip.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11)
#define LPORT (inet->inet.num)
#define DADDR (&inet->inet.daddr)
#else
#define LPORT (inet->num)
#define DADDR (&inet->daddr)
#endif
%}function inet_get_local_port (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
struct inet_sock *inet = (struct inet_sock *) ptr;
THIS->__retvalue = deref(sizeof(LPORT), &(LPORT));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function inet_get_ip_source (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
struct inet_sock *inet = (struct inet_sock *) ptr;
unsigned char addr[4];
memcpy(addr, DADDR, sizeof(addr));
sprintf(THIS->__retvalue, "%d.%d.%d.%d",
addr[0], addr[1], addr[2], addr[3]);
%}
# file /usr/local/share/systemtap/tapset/ioblock.stp
%{
#include <linux/bio.h>
#include <linux/genhd.h>
%}global BIO_READ
global BIO_WRITE
probe ioblock.request = kernel.function("generic_make_request"){
(devname) = (__bio_devname($bio))
(ino) = (__bio_ino($bio))
(sector) = ($bio->bi_sector)
(flags) = ($bio->bi_flags)
(rw) = ($bio->bi_rw)
(vcnt) = ($bio->bi_vcnt)
(idx) = ($bio->bi_idx)
(phys_segments) = ($bio->bi_phys_segments)
(hw_segments) = ($bio->bi_hw_segments)
(size) = ($bio->bi_size)
(bdev) = ($bio->bi_bdev)
(bdev_contains) = ($bio->bi_bdev->bd_contains)
(p_start_sect) = (__bio_start_sect($bio))
}
probe ioblock.end = kernel.function("bio_endio"){
(devname) = (__bio_devname($bio))
(ino) = (__bio_ino($bio))
(bytes_done) = ($bytes_done)
(error) = ($error)
(sector) = ($bio->bi_sector)
(flags) = ($bio->bi_flags)
(rw) = ($bio->bi_rw)
(vcnt) = ($bio->bi_vcnt)
(idx) = ($bio->bi_idx)
(phys_segments) = ($bio->bi_phys_segments)
(hw_segments) = ($bio->bi_hw_segments)
(size) = ($bio->bi_size)
}
probe begin{
(BIO_READ) = (0)
(BIO_WRITE) = (1)
}
function __bio_ino (bio)
%{
struct bio *bio;
struct page *bv_page;
struct address_space *mapping;
struct inode *host;
bio = (struct bio *)(long)THIS->bio;
bv_page = (struct page*)deref(sizeof(bio->bi_io_vec[0].bv_page),
&(bio->bi_io_vec[0].bv_page));
if (bv_page == NULL) {
THIS->__retvalue = -1;
goto end;
}
mapping = (struct address_space*)deref(sizeof(bv_page->mapping),
&(bv_page->mapping));
if (mapping == NULL) {
THIS->__retvalue = -1;
goto end;
}
host = (struct inode*)deref(sizeof(mapping->host),
&(mapping->host));
if (host == NULL) {
THIS->__retvalue = -1;
goto end;
}
THIS->__retvalue = deref(sizeof(host->i_ino), &(host->i_ino));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
end: ;
%}
function __bio_direction (rw)
%{
long rw = (long)THIS->rw;
THIS->__retvalue = (rw & (1 << BIO_RW));
%}
function bio_rw_str (rw)
{
return ((__bio_direction(rw)) == (BIO_READ))?("R"):("W")
}
function __bio_start_sect (bio)
%{
struct bio *bio;
struct block_device *bi_bdev;
struct hd_struct *bd_part;
bio = (struct bio *)(long)THIS->bio;
bi_bdev = (struct block_device *)deref(sizeof(bio->bi_bdev),
&(bio->bi_bdev));
if (bi_bdev == NULL) {
THIS->__retvalue = -1;
goto end;
}
bd_part = (struct hd_struct *)deref(sizeof(bi_bdev->bd_part),
&(bi_bdev->bd_part));
if (bd_part == NULL) {
THIS->__retvalue = -1;
goto end;
}
/*
There is a bug in deref() that prevents the code below.
THIS->__retvalue = der
(r) = (sprintf("%6d %s(%d):", (ts) - (_indent_timestamps[idx]), execname(), tid()))
for ((i) = (1); (i) < (x); (i)++) (r) .= (" ")
return r
}
function thread_indent (delta)
{
return _generic_indent(tid(), delta)
}
# file /usr/local/share/systemtap/tapset/inet_sock.stp
%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/tcp.h>
#include <net/ip.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11)
#define LPORT (inet->inet.num)
#define DADDR (&inet->inet.daddr)
#else
#define LPORT (inet->num)
#define DADDR (&inet->daddr)
#endif
%}function inet_get_local_port (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
struct inet_sock *inet = (struct inet_sock *) ptr;
THIS->__retvalue = deref(sizeof(LPORT), &(LPORT));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function inet_get_ip_source (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
struct inet_sock *inet = (struct inet_sock *) ptr;
unsigned char addr[4];
memcpy(addr, DADDR, sizeof(addr));
sprintf(THIS->__retvalue, "%d.%d.%d.%d",
addr[0], addr[1], addr[2], addr[3]);
%}
# file /usr/local/share/systemtap/tapset/ioblock.stp
%{
#include <linux/bio.h>
#include <linux/genhd.h>
%}global BIO_READ
global BIO_WRITE
probe ioblock.request = kernel.function("generic_make_request"){
(devname) = (__bio_devname($bio))
(ino) = (__bio_ino($bio))
(sector) = ($bio->bi_sector)
(flags) = ($bio->bi_flags)
(rw) = ($bio->bi_rw)
(vcnt) = ($bio->bi_vcnt)
(idx) = ($bio->bi_idx)
(phys_segments) = ($bio->bi_phys_segments)
(hw_segments) = ($bio->bi_hw_segments)
(size) = ($bio->bi_size)
(bdev) = ($bio->bi_bdev)
(bdev_contains) = ($bio->bi_bdev->bd_contains)
(p_start_sect) = (__bio_start_sect($bio))
}
probe ioblock.end = kernel.function("bio_endio"){
(devname) = (__bio_devname($bio))
(ino) = (__bio_ino($bio))
(bytes_done) = ($bytes_done)
(error) = ($error)
(sector) = ($bio->bi_sector)
(flags) = ($bio->bi_flags)
(rw) = ($bio->bi_rw)
(vcnt) = ($bio->bi_vcnt)
(idx) = ($bio->bi_idx)
(phys_segments) = ($bio->bi_phys_segments)
(hw_segments) = ($bio->bi_hw_segments)
(size) = ($bio->bi_size)
}
probe begin{
(BIO_READ) = (0)
(BIO_WRITE) = (1)
}
function __bio_ino (bio)
%{
struct bio *bio;
struct page *bv_page;
struct address_space *mapping;
struct inode *host;
bio = (struct bio *)(long)THIS->bio;
bv_page = (struct page*)deref(sizeof(bio->bi_io_vec[0].bv_page),
&(bio->bi_io_vec[0].bv_page));
if (bv_page == NULL) {
THIS->__retvalue = -1;
goto end;
}
mapping = (struct address_space*)deref(sizeof(bv_page->mapping),
&(bv_page->mapping));
if (mapping == NULL) {
THIS->__retvalue = -1;
goto end;
}
host = (struct inode*)deref(sizeof(mapping->host),
&(mapping->host));
if (host == NULL) {
THIS->__retvalue = -1;
goto end;
}
THIS->__retvalue = deref(sizeof(host->i_ino), &(host->i_ino));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
end: ;
%}
function __bio_direction (rw)
%{
long rw = (long)THIS->rw;
THIS->__retvalue = (rw & (1 << BIO_RW));
%}
function bio_rw_str (rw)
{
return ((__bio_direction(rw)) == (BIO_READ))?("R"):("W")
}
function __bio_start_sect (bio)
%{
struct bio *bio;
struct block_device *bi_bdev;
struct hd_struct *bd_part;
bio = (struct bio *)(long)THIS->bio;
bi_bdev = (struct block_device *)deref(sizeof(bio->bi_bdev),
&(bio->bi_bdev));
if (bi_bdev == NULL) {
THIS->__retvalue = -1;
goto end;
}
bd_part = (struct hd_struct *)deref(sizeof(bi_bdev->bd_part),
&(bi_bdev->bd_part));
if (bd_part == NULL) {
THIS->__retvalue = -1;
goto end;
}
/*
There is a bug in deref() that prevents the code below.
ef(sizeof(bd_part->start_sect),
&(bd_part->start_sect));
*/
THIS->__retvalue = bd_part->start_sect;
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
end: ;
%}
function __bio_devname (bio)
%{
char b[BDEVNAME_SIZE];
struct bio *bio = (struct bio *)(long)THIS->bio;
if (bio == NULL || bio->bi_bdev == NULL) {
strlcpy(THIS->__retvalue, "N/A", MAXSTRINGLEN);
return;
}
deref_string(THIS->__retvalue, bdevname(bio->bi_bdev,b), MAXSTRINGLEN);
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
# file /usr/local/share/systemtap/tapset/ioscheduler.stp
%{
#include <linux/blkdev.h>
#include <linux/elevator.h>
%}probe ioscheduler.elv_next_request = kernel.function("elv_next_request"){
(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))
}
probe ioscheduler.elv_next_request.return = kernel.function("elv_next_request").return{
if (($return) == (0)) {
(req) = (0)
(req_flags) = (0)
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(req) = ($return)
(req_flags) = ($return->flags)
if (($return->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($return->rq_disk->major)
(disk_minor) = ($return->rq_disk->first_minor)
}
}
}
probe ioscheduler.elv_add_request = kernel.function("__elv_add_request"){
(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))
if (($rq) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
if (($rq->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($rq->rq_disk->major)
(disk_minor) = ($rq->rq_disk->first_minor)
}
}
(req) = ($rq)
(req_flags) = ($rq->flags)
}
probe ioscheduler.elv_completed_request = kernel.function("elv_completed_request"){
(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))
if (($rq) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
if (($rq->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($rq->rq_disk->major)
(disk_minor) = ($rq->rq_disk->first_minor)
}
}
(req) = ($rq)
(req_flags) = ($rq->flags)
}
function disk_major_from_request (var_q)
%{ /* pure */
struct request_queue *q;
struct request *rq;
q = (struct request_queue *)((long)THIS->var_q);
if(list_empty(&(q->queue_head)))
THIS->__retvalue = -1;
else {
rq = list_entry_rq(q->queue_head.next);
THIS->__retvalue = rq->rq_disk->first_minor;
}
%}
function disk_minor_from_request (var_q)
%{ /* pure */
struct request_queue *q;
struct request *rq;
q = (struct request_queue *)((long)THIS->var_q);
if(list_empty(&(q->queue_head)))
THIS->__retvalue = -1;
else {
rq = list_entry_rq(q->queue_head.next);
THIS->__retvalue = rq->rq_disk->first_minor;
}
%}
# file /usr/local/share/systemtap/tapset/logging.stp
function log (msg)
%{
_stp_printf ("%s\n", THIS->msg);
%}
function warn (msg)
%{
_stp_warn ("%s", THIS->msg);
%}
function exit ()
%{
atomic_set (&session_state, STAP_SESSION_STOPPING);
_stp_exit ();
%}
function error (msg)
%{
/* This is an assignment of a local char[] to a global char*.
It would normally be just as unsafe as returning a pointer to
a local variable from a function. However, the translated
code ensures that upon an error (last_error != NULL), the
context stack is only ever unwound, and not reused, before
the probe-level stp-error call. */
CONTEXT->last_error = THIS->msg;
CONTEXT->last_stmt = NULL;
%}
function stp_print_binary (n, arg1, arg2, arg3, arg4)
%{
_stp_print_binary (THIS->n, THIS->arg1, THIS->arg2, THIS->arg3, THIS->arg4);
%}
# file /usr/local/share/systemtap/tapset/memory.stp
probe vm.pagefault = kernel.function("__handle_mm_fault"){
(write_access) = ($write_access)
(address) =
THIS->__retvalue = deref(sizeof(bd_part->start_sect),
&(bd_part->start_sect));
*/
THIS->__retvalue = bd_part->start_sect;
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
end: ;
%}
function __bio_devname (bio)
%{
char b[BDEVNAME_SIZE];
struct bio *bio = (struct bio *)(long)THIS->bio;
if (bio == NULL || bio->bi_bdev == NULL) {
strlcpy(THIS->__retvalue, "N/A", MAXSTRINGLEN);
return;
}
deref_string(THIS->__retvalue, bdevname(bio->bi_bdev,b), MAXSTRINGLEN);
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
# file /usr/local/share/systemtap/tapset/ioscheduler.stp
%{
#include <linux/blkdev.h>
#include <linux/elevator.h>
%}probe ioscheduler.elv_next_request = kernel.function("elv_next_request"){
(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))
}
probe ioscheduler.elv_next_request.return = kernel.function("elv_next_request").return{
if (($return) == (0)) {
(req) = (0)
(req_flags) = (0)
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(req) = ($return)
(req_flags) = ($return->flags)
if (($return->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($return->rq_disk->major)
(disk_minor) = ($return->rq_disk->first_minor)
}
}
}
probe ioscheduler.elv_add_request = kernel.function("__elv_add_request"){
(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))
if (($rq) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
if (($rq->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($rq->rq_disk->major)
(disk_minor) = ($rq->rq_disk->first_minor)
}
}
(req) = ($rq)
(req_flags) = ($rq->flags)
}
probe ioscheduler.elv_completed_request = kernel.function("elv_completed_request"){
(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))
if (($rq) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
if (($rq->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($rq->rq_disk->major)
(disk_minor) = ($rq->rq_disk->first_minor)
}
}
(req) = ($rq)
(req_flags) = ($rq->flags)
}
function disk_major_from_request (var_q)
%{ /* pure */
struct request_queue *q;
struct request *rq;
q = (struct request_queue *)((long)THIS->var_q);
if(list_empty(&(q->queue_head)))
THIS->__retvalue = -1;
else {
rq = list_entry_rq(q->queue_head.next);
THIS->__retvalue = rq->rq_disk->first_minor;
}
%}
function disk_minor_from_request (var_q)
%{ /* pure */
struct request_queue *q;
struct request *rq;
q = (struct request_queue *)((long)THIS->var_q);
if(list_empty(&(q->queue_head)))
THIS->__retvalue = -1;
else {
rq = list_entry_rq(q->queue_head.next);
THIS->__retvalue = rq->rq_disk->first_minor;
}
%}
# file /usr/local/share/systemtap/tapset/logging.stp
function log (msg)
%{
_stp_printf ("%s\n", THIS->msg);
%}
function warn (msg)
%{
_stp_warn ("%s", THIS->msg);
%}
function exit ()
%{
atomic_set (&session_state, STAP_SESSION_STOPPING);
_stp_exit ();
%}
function error (msg)
%{
/* This is an assignment of a local char[] to a global char*.
It would normally be just as unsafe as returning a pointer to
a local variable from a function. However, the translated
code ensures that upon an error (last_error != NULL), the
context stack is only ever unwound, and not reused, before
the probe-level stp-error call. */
CONTEXT->last_error = THIS->msg;
CONTEXT->last_stmt = NULL;
%}
function stp_print_binary (n, arg1, arg2, arg3, arg4)
%{
_stp_print_binary (THIS->n, THIS->arg1, THIS->arg2, THIS->arg3, THIS->arg4);
%}
# file /usr/local/share/systemtap/tapset/memory.stp
probe vm.pagefault = kernel.function("__handle_mm_fault"){
(write_access) = ($write_access)
($address)
}
probe vm.write_shared = kernel.function("do_wp_page"){
(address) = ($address)
}
probe vm.write_shared_copy = kernel.inline("copy_cow_page")?{
(address) = ($address)
(zero) = (_IS_ZERO_PAGE($from, address))
;
}
probe vm.mmap = kernel.inline("do_mmap"), kernel.inline("do_mmap2")?{
(address) = ($addr)
(length) = ($len)
}
probe vm.munmap = kernel.function("do_munmap"){
(address) = ($start)
(length) = ($len)
}
probe vm.brk = kernel.function("do_brk"){
(address) = ($addr)
(length) = ($len)
}
probe vm.oom_kill = kernel.function("__oom_kill_task"){
(task) = ($p)
}
function addr_to_node (addr)
%{
int nid;
int pfn = __pa(THIS->addr) >> PAGE_SHIFT;
for_each_online_node(nid)
if ( node_start_pfn(nid) <= pfn &&
pfn < (node_start_pfn(nid) +
NODE_DATA(nid)->node_spanned_pages) )
{
THIS->__retvalue = nid;
break;
}
%}
function _IS_ZERO_PAGE (from, vaddr)
%{ /* pure */
THIS->__retvalue = (from == ZERO_PAGE(vaddr));
%}
# file /usr/local/share/systemtap/tapset/networking.stp
%{
#include <linux/netdevice.h>
%}probe netdev.receive = kernel.function("netif_receive_skb"){
(dev_name) = (kernel_string($skb->dev->name))
(length) = ($skb->len)
(protocol) = ($skb->protocol)
(truesize) = ($skb->truesize)
}
probe netdev.transmit = kernel.function("dev_queue_xmit"){
(dev_name) = (kernel_string($skb->dev->name))
(length) = ($skb->len)
(protocol) = ($skb->protocol)
(truesize) = ($skb->truesize)
}
# file /usr/local/share/systemtap/tapset/nfs.stp
%{
#include <linux/kernel.h>
#include <linux/nfs_fs.h>
%}%{
struct nfs_inode * __nfs_i (struct inode *inode)
{
struct nfs_inode * nfsi = NFS_I(inode);
return (nfsi);
}
%}probe nfs.fop.entries = nfs.fop.llseek, nfs.fop.read, nfs.fop.write, nfs.fop.aio_read, nfs.fop.aio_write, nfs.fop.mmap, nfs.fop.open, nfs.fop.flush, nfs.fop.release, nfs.fop.fsync, nfs.fop.lock, nfs.fop.sendfile{
}
probe nfs.fop.return = nfs.fop.llseek.return, nfs.fop.read.return, nfs.fop.write.return, nfs.fop.aio_read.return, nfs.fop.aio_write.return, nfs.fop.mmap.return, nfs.fop.open.return, nfs.fop.flush.return, nfs.fop.release.return, nfs.fop.fsync.return, nfs.fop.lock.return, nfs.fop.sendfile.return{
}
probe nfs.fop.llseek = kernel.function("nfs_file_llseek")?, module("nfs").function("nfs_file_llseek")?{
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(maxbyte) = (__file_maxbytes($filp))
(offset) = ($offset)
(origin) = ($origin)
(name) = ("nfs.fop.llseek")
(argstr) = (sprintf("%d, %d", offset, origin))
}
probe nfs.fop.llseek.return = kernel.function("nfs_file_llseek").return?, module("nfs").function("nfs_file_llseek").return?{
(name) = ("nfs.fop.llseek.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.read = vfs.do_sync_read{
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(name) = ("nfs.fop.read")
}
probe nfs.fop.read.return = vfs.do_sync_read.return{
(name) = ("nfs.fop.read.return")
}
probe nfs.fop.write = vfs.do_sync_write{
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(name) = ("nfs.fop.write")
}
probe nfs.fop.write.return = vfs.do_sync_write.return{
(name) = ("nfs.fop.write.return")
}
probe nfs.fop.aio_read = kernel.function("nfs_file_read")?, module("nfs").function("nfs_file_read")?{
(dev) = (__file_dev($iocb->ki_filp))
(ino) = (__file_ino($iocb->ki_filp))
(s_id) = (__file_id($iocb->ki_filp))
(devname) = (kernel_string(s_id))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(parent_name) = (__file_parentname($iocb->ki_filp))
(file_name) = (__file_filename($iocb->ki_filp))
(cache_valid) = (__nfsi_cache_valid(__file_inode($iocb->ki_filp)))
(cache_time) = (__nfsi_rcache_time(__file_inode($iocb->ki_filp)))
(attr_time) = (__nfsi_attr_time(__file_inode($iocb->ki_filp)))
(name) = ("nfs.fop.aio_read")
(argstr) = (sprintf("%p,%d, %d", buf,
(address) = ($address)
}
probe vm.write_shared = kernel.function("do_wp_page"){
(address) = ($address)
}
probe vm.write_shared_copy = kernel.inline("copy_cow_page")?{
(address) = ($address)
(zero) = (_IS_ZERO_PAGE($from, address))
;
}
probe vm.mmap = kernel.inline("do_mmap"), kernel.inline("do_mmap2")?{
(address) = ($addr)
(length) = ($len)
}
probe vm.munmap = kernel.function("do_munmap"){
(address) = ($start)
(length) = ($len)
}
probe vm.brk = kernel.function("do_brk"){
(address) = ($addr)
(length) = ($len)
}
probe vm.oom_kill = kernel.function("__oom_kill_task"){
(task) = ($p)
}
function addr_to_node (addr)
%{
int nid;
int pfn = __pa(THIS->addr) >> PAGE_SHIFT;
for_each_online_node(nid)
if ( node_start_pfn(nid) <= pfn &&
pfn < (node_start_pfn(nid) +
NODE_DATA(nid)->node_spanned_pages) )
{
THIS->__retvalue = nid;
break;
}
%}
function _IS_ZERO_PAGE (from, vaddr)
%{ /* pure */
THIS->__retvalue = (from == ZERO_PAGE(vaddr));
%}
# file /usr/local/share/systemtap/tapset/networking.stp
%{
#include <linux/netdevice.h>
%}probe netdev.receive = kernel.function("netif_receive_skb"){
(dev_name) = (kernel_string($skb->dev->name))
(length) = ($skb->len)
(protocol) = ($skb->protocol)
(truesize) = ($skb->truesize)
}
probe netdev.transmit = kernel.function("dev_queue_xmit"){
(dev_name) = (kernel_string($skb->dev->name))
(length) = ($skb->len)
(protocol) = ($skb->protocol)
(truesize) = ($skb->truesize)
}
# file /usr/local/share/systemtap/tapset/nfs.stp
%{
#include <linux/kernel.h>
#include <linux/nfs_fs.h>
%}%{
struct nfs_inode * __nfs_i (struct inode *inode)
{
struct nfs_inode * nfsi = NFS_I(inode);
return (nfsi);
}
%}probe nfs.fop.entries = nfs.fop.llseek, nfs.fop.read, nfs.fop.write, nfs.fop.aio_read, nfs.fop.aio_write, nfs.fop.mmap, nfs.fop.open, nfs.fop.flush, nfs.fop.release, nfs.fop.fsync, nfs.fop.lock, nfs.fop.sendfile{
}
probe nfs.fop.return = nfs.fop.llseek.return, nfs.fop.read.return, nfs.fop.write.return, nfs.fop.aio_read.return, nfs.fop.aio_write.return, nfs.fop.mmap.return, nfs.fop.open.return, nfs.fop.flush.return, nfs.fop.release.return, nfs.fop.fsync.return, nfs.fop.lock.return, nfs.fop.sendfile.return{
}
probe nfs.fop.llseek = kernel.function("nfs_file_llseek")?, module("nfs").function("nfs_file_llseek")?{
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(maxbyte) = (__file_maxbytes($filp))
(offset) = ($offset)
(origin) = ($origin)
(name) = ("nfs.fop.llseek")
(argstr) = (sprintf("%d, %d", offset, origin))
}
probe nfs.fop.llseek.return = kernel.function("nfs_file_llseek").return?, module("nfs").function("nfs_file_llseek").return?{
(name) = ("nfs.fop.llseek.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.read = vfs.do_sync_read{
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(name) = ("nfs.fop.read")
}
probe nfs.fop.read.return = vfs.do_sync_read.return{
(name) = ("nfs.fop.read.return")
}
probe nfs.fop.write = vfs.do_sync_write{
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(name) = ("nfs.fop.write")
}
probe nfs.fop.write.return = vfs.do_sync_write.return{
(name) = ("nfs.fop.write.return")
}
probe nfs.fop.aio_read = kernel.function("nfs_file_read")?, module("nfs").function("nfs_file_read")?{
(dev) = (__file_dev($iocb->ki_filp))
(ino) = (__file_ino($iocb->ki_filp))
(s_id) = (__file_id($iocb->ki_filp))
(devname) = (kernel_string(s_id))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(parent_name) = (__file_parentname($iocb->ki_filp))
(file_name) = (__file_filename($iocb->ki_filp))
(cache_valid) = (__nfsi_cache_valid(__file_inode($iocb->ki_filp)))
(cache_time) = (__nfsi_rcache_time(__file_inode($iocb->ki_filp)))
(attr_time) = (__nfsi_attr_time(__file_inode($iocb->ki_filp)))
(name) = ("nfs.fop.aio_read")
count, pos))
(size) = (count)
(units) = ("bytes")
}
probe nfs.fop.aio_read.return = kernel.function("nfs_file_read").return?, module("nfs").function("nfs_file_read").return?{
(name) = ("nfs.fop.aio_read.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe nfs.fop.aio_write = kernel.function("nfs_file_write")?, module("nfs").function("nfs_file_write")?{
(dev) = (__file_dev($iocb->ki_filp))
(ino) = (__file_ino($iocb->ki_filp))
(s_id) = (__file_id($iocb->ki_filp))
(devname) = (kernel_string(s_id))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(parent_name) = (__file_parentname($iocb->ki_filp))
(file_name) = (__file_filename($iocb->ki_filp))
(name) = ("nfs.fop.aio.write")
(argstr) = (sprintf("%p, %d, %d", buf, count, pos))
(size) = (count)
(units) = ("bytes")
}
probe nfs.fop.aio_write.return = kernel.function("nfs_file_write").return?, module("nfs").function("nfs_file_write").return?{
(name) = ("nfs.fop.aio_write.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe nfs.fop.mmap = kernel.function("nfs_file_mmap")?, module("nfs").function("nfs_file_mmap")?{
(dev) = (__file_dev($file))
(ino) = (__file_ino($file))
(s_id) = (__file_id($file))
(devname) = (kernel_string(s_id))
(vm_start) = ($vma->vm_start)
(vm_end) = ($vma->vm_end)
(vm_flags) = ($vma->vm_flags)
(parent_name) = (__file_parentname($file))
(file_name) = (__file_filename($file))
(cache_valid) = (__nfsi_cache_valid(__file_inode($file)))
(cache_time) = (__nfsi_rcache_time(__file_inode($file)))
(attr_time) = (__nfsi_attr_time(__file_inode($file)))
(name) = ("nfs.fop.mmap")
(argstr) = (sprintf("0x%x, 0x%x, 0x%x", vm_start, vm_end, vm_flags))
}
probe nfs.fop.mmap.return = kernel.function("nfs_file_mmap").return?, module("nfs").function("nfs_file_mmap").return?{
(name) = ("nfs.fop.mmap.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.open = kernel.function("nfs_file_open")?, module("nfs").function("nfs_file_open")?{
(dev) = (__file_dev($filp))
(ino) = ($inode->i_ino)
(s_id) = ($inode->i_sb->s_id)
(devname) = (kernel_string(s_id))
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(i_size) = ($inode->i_size)
(name) = ("nfs.fop.open")
(argstr) = (sprintf("%d,%d, %s", flag, ino, filename))
}
probe nfs.fop.open.return = kernel.function("nfs_file_open").return?, module("nfs").function("nfs_file_open").return?{
(name) = ("nfs.fop.open.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.flush = kernel.function("nfs_file_flush")?, module("nfs").function("nfs_file_flush")?{
(dev) = (__file_dev($file))
(ino) = (__file_ino($file))
(s_id) = (__file_id($file))
(devname) = (kernel_string(s_id))
(mode) = ($file->f_mode)
(ndirty) = (__nfsi_ndirty(__file_inode($file)))
(name) = ("nfs.fop.flush")
(argstr) = (sprintf("%d", ino))
}
probe nfs.fop.flush.return = kernel.function("nfs_file_flush").return?, module("nfs").function("nfs_file_flush").return?{
(name) = ("nfs.fop.flush.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.release = kernel.function("nfs_file_release")?, module("nfs").function("nfs_file_release")?{
(dev) = (__file_dev($filp))
(ino) = ($inode->i_ino)
(s_id) = ($inode->i_sb->s_id)
(devname) = (kernel_string(s_id))
(mode) = ($filp->f_mode)
(name) = ("nfs.fop.release")
(argstr) = (sprintf("%d", ino))
}
probe nfs.fop.release.return = kernel.function("nfs_file_release").return?, module("nfs").function("nfs_file_release").return?{
(name) = ("nfs.fop.release.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.fsync = kernel.function("nfs_fsync")?, module("nfs").function("nfs_fsync")?{
(dev) = (__file_dev($file))
(ino) = (__file_ino($file))
(s_id) = (__file_id($file))
(devname) = (kernel_string(s_id))
(ndirty) = (__nfsi_ndirty(__file_inode($file)))
(name) = ("nfs.fop.fsync")
(argstr) = (sprintf("%d", ino))
}
probe nfs.fop.fsync.return = kernel.function("nfs_fsync").return?, module("nfs").functi
(argstr) = (sprintf("%p,%d, %d", buf, count, pos))
(size) = (count)
(units) = ("bytes")
}
probe nfs.fop.aio_read.return = kernel.function("nfs_file_read").return?, module("nfs").function("nfs_file_read").return?{
(name) = ("nfs.fop.aio_read.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe nfs.fop.aio_write = kernel.function("nfs_file_write")?, module("nfs").function("nfs_file_write")?{
(dev) = (__file_dev($iocb->ki_filp))
(ino) = (__file_ino($iocb->ki_filp))
(s_id) = (__file_id($iocb->ki_filp))
(devname) = (kernel_string(s_id))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(parent_name) = (__file_parentname($iocb->ki_filp))
(file_name) = (__file_filename($iocb->ki_filp))
(name) = ("nfs.fop.aio.write")
(argstr) = (sprintf("%p, %d, %d", buf, count, pos))
(size) = (count)
(units) = ("bytes")
}
probe nfs.fop.aio_write.return = kernel.function("nfs_file_write").return?, module("nfs").function("nfs_file_write").return?{
(name) = ("nfs.fop.aio_write.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe nfs.fop.mmap = kernel.function("nfs_file_mmap")?, module("nfs").function("nfs_file_mmap")?{
(dev) = (__file_dev($file))
(ino) = (__file_ino($file))
(s_id) = (__file_id($file))
(devname) = (kernel_string(s_id))
(vm_start) = ($vma->vm_start)
(vm_end) = ($vma->vm_end)
(vm_flags) = ($vma->vm_flags)
(parent_name) = (__file_parentname($file))
(file_name) = (__file_filename($file))
(cache_valid) = (__nfsi_cache_valid(__file_inode($file)))
(cache_time) = (__nfsi_rcache_time(__file_inode($file)))
(attr_time) = (__nfsi_attr_time(__file_inode($file)))
(name) = ("nfs.fop.mmap")
(argstr) = (sprintf("0x%x, 0x%x, 0x%x", vm_start, vm_end, vm_flags))
}
probe nfs.fop.mmap.return = kernel.function("nfs_file_mmap").return?, module("nfs").function("nfs_file_mmap").return?{
(name) = ("nfs.fop.mmap.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.open = kernel.function("nfs_file_open")?, module("nfs").function("nfs_file_open")?{
(dev) = (__file_dev($filp))
(ino) = ($inode->i_ino)
(s_id) = ($inode->i_sb->s_id)
(devname) = (kernel_string(s_id))
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(i_size) = ($inode->i_size)
(name) = ("nfs.fop.open")
(argstr) = (sprintf("%d,%d, %s", flag, ino, filename))
}
probe nfs.fop.open.return = kernel.function("nfs_file_open").return?, module("nfs").function("nfs_file_open").return?{
(name) = ("nfs.fop.open.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.flush = kernel.function("nfs_file_flush")?, module("nfs").function("nfs_file_flush")?{
(dev) = (__file_dev($file))
(ino) = (__file_ino($file))
(s_id) = (__file_id($file))
(devname) = (kernel_string(s_id))
(mode) = ($file->f_mode)
(ndirty) = (__nfsi_ndirty(__file_inode($file)))
(name) = ("nfs.fop.flush")
(argstr) = (sprintf("%d", ino))
}
probe nfs.fop.flush.return = kernel.function("nfs_file_flush").return?, module("nfs").function("nfs_file_flush").return?{
(name) = ("nfs.fop.flush.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.release = kernel.function("nfs_file_release")?, module("nfs").function("nfs_file_release")?{
(dev) = (__file_dev($filp))
(ino) = ($inode->i_ino)
(s_id) = ($inode->i_sb->s_id)
(devname) = (kernel_string(s_id))
(mode) = ($filp->f_mode)
(name) = ("nfs.fop.release")
(argstr) = (sprintf("%d", ino))
}
probe nfs.fop.release.return = kernel.function("nfs_file_release").return?, module("nfs").function("nfs_file_release").return?{
(name) = ("nfs.fop.release.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.fsync = kernel.function("nfs_fsync")?, module("nfs").function("nfs_fsync")?{
(dev) = (__file_dev($file))
(ino) = (__file_ino($file))
(s_id) = (__file_id($file))
(devname) = (kernel_string(s_id))
(ndirty) = (__nfsi_ndirty(__file_inode($file)))
(name) = ("nfs.fop.fsync")
(argstr) = (sprintf("%d", ino))
}
on("nfs_fsync").return?{
(name) = ("nfs.fop.fsync.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.lock = kernel.function("nfs_lock")?, module("nfs").function("nfs_lock")?{
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(i_mode) = (__file_mode($filp))
(cmd) = ($cmd)
(fl_type) = ($fl->fl_type)
(fl_flag) = ($fl->fl_flags)
(fl_start) = ($fl->fl_start)
(fl_end) = ($fl->fl_end)
(name) = ("nfs.fop.lock")
(argstr) = (sprintf("%d,%d", cmd, i_mode))
}
probe nfs.fop.lock.return = kernel.function("nfs_lock").return?, module("nfs").function("nfs_lock").return?{
(name) = ("nfs.fop.lock.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.sendfile = kernel.function("nfs_file_sendfile")?, module("nfs").function("nfs_file_sendfile")?{
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(count) = ($count)
(ppos) = (__d_loff_t($ppos))
(cache_valid) = (__nfsi_cache_valid(__file_inode($filp)))
(cache_time) = (__nfsi_rcache_time(__file_inode($filp)))
(attr_time) = (__nfsi_attr_time(__file_inode($filp)))
(name) = ("nfs.fop.sendfile")
(argstr) = (sprintf("%d,%d", count, ppos))
(size) = (count)
(units) = ("bytes")
}
probe nfs.fop.sendfile.return = kernel.function("nfs_file_sendfile").return?, module("nfs").function("nfs_file_sendfile").return?{
(name) = ("nfs.fopsendfile.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe nfs.fop.check_flags = kernel.function("nfs_check_flags")?, module("nfs").function("nfs_check_flags")?{
(flag) = ($flags)
(name) = ("nfs.fop.check_flags")
(argstr) = (sprintf("%d", flag))
}
probe nfs.fop.check_flags.return = kernel.function("nfs_check_flags").return?, module("nfs").function("nfs_check_flags").return?{
(name) = ("nfs.fop.check_flags.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.entries = nfs.aop.readpage, nfs.aop.readpages, nfs.aop.writepage, nfs.aop.writepages, nfs.aop.release_page?, nfs.aop.prepare_write, nfs.aop.commit_write{
}
probe nfs.aop.return = nfs.aop.readpage.return, nfs.aop.readpages.return, nfs.aop.writepage.return, nfs.aop.writepages.return, nfs.aop.release_page.return?, nfs.aop.prepare_write.return, nfs.aop.commit_write.return{
}
probe nfs.aop.readpage = kernel.function("nfs_readpage")?, module("nfs").function("nfs_readpage")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(i_flag) = (__p2i_flag($page))
(i_size) = (__p2i_size($page))
(sb_flag) = (__p2sb_flag($page))
(file) = ($file)
(page_index) = ($page->index)
(__inode) = (__p2i($page))
(rsize) = (__nfs_server_rsize(__inode))
(name) = ("nfs.aop.readpage")
(argstr) = (sprintf("%d,%d", page_index, r_size))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.readpage.return = kernel.function("nfs_readpage").return?, module("nfs").function("nfs_readpage").return?{
(name) = ("nfs.aop.readpage.return")
(retstr) = (sprintf("%d", $return))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.readpages = kernel.function("nfs_readpages")?, module("nfs").function("nfs_readpages")?{
(dev) = ($mapping->host->i_sb->s_dev)
(ino) = ($mapping->host->i_ino)
(nr_pages) = ($nr_pages)
(file) = ($filp)
(rpages) = (__nfs_rpages($mapping->host))
(rsize) = (__nfs_server_rsize($mapping->host))
(name) = ("nfs.aop.readpages")
(argstr) = (sprintf("%d", nr_pages))
(size) = (nr_pages)
(units) = ("pages")
}
probe nfs.aop.readpages.return = kernel.function("nfs_readpages").return?, module("nfs").function("nfs_readpages").return?{
(name) = ("nfs.aop.readpages.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = (retstr)
}
(units) = ("pages")
}
probe nfs.aop.set_page_dirty = kernel.function("__set_page_dirty_nobuffers")?, module("nfs").function("__set_page_dirty_nobuffers")?{
(__page) = ($page)
(page_flag) = ($page->flags)
(name) = ("nfs.aop.set_page_dirty")
(argstr) = (sprintf("%d", flag))
}
probe nfs.fop.fsync.return = kernel.function("nfs_fsync").return?, module("nfs").function("nfs_fsync").return?{
(name) = ("nfs.fop.fsync.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.lock = kernel.function("nfs_lock")?, module("nfs").function("nfs_lock")?{
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(i_mode) = (__file_mode($filp))
(cmd) = ($cmd)
(fl_type) = ($fl->fl_type)
(fl_flag) = ($fl->fl_flags)
(fl_start) = ($fl->fl_start)
(fl_end) = ($fl->fl_end)
(name) = ("nfs.fop.lock")
(argstr) = (sprintf("%d,%d", cmd, i_mode))
}
probe nfs.fop.lock.return = kernel.function("nfs_lock").return?, module("nfs").function("nfs_lock").return?{
(name) = ("nfs.fop.lock.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.sendfile = kernel.function("nfs_file_sendfile")?, module("nfs").function("nfs_file_sendfile")?{
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(count) = ($count)
(ppos) = (__d_loff_t($ppos))
(cache_valid) = (__nfsi_cache_valid(__file_inode($filp)))
(cache_time) = (__nfsi_rcache_time(__file_inode($filp)))
(attr_time) = (__nfsi_attr_time(__file_inode($filp)))
(name) = ("nfs.fop.sendfile")
(argstr) = (sprintf("%d,%d", count, ppos))
(size) = (count)
(units) = ("bytes")
}
probe nfs.fop.sendfile.return = kernel.function("nfs_file_sendfile").return?, module("nfs").function("nfs_file_sendfile").return?{
(name) = ("nfs.fopsendfile.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe nfs.fop.check_flags = kernel.function("nfs_check_flags")?, module("nfs").function("nfs_check_flags")?{
(flag) = ($flags)
(name) = ("nfs.fop.check_flags")
(argstr) = (sprintf("%d", flag))
}
probe nfs.fop.check_flags.return = kernel.function("nfs_check_flags").return?, module("nfs").function("nfs_check_flags").return?{
(name) = ("nfs.fop.check_flags.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.entries = nfs.aop.readpage, nfs.aop.readpages, nfs.aop.writepage, nfs.aop.writepages, nfs.aop.release_page?, nfs.aop.prepare_write, nfs.aop.commit_write{
}
probe nfs.aop.return = nfs.aop.readpage.return, nfs.aop.readpages.return, nfs.aop.writepage.return, nfs.aop.writepages.return, nfs.aop.release_page.return?, nfs.aop.prepare_write.return, nfs.aop.commit_write.return{
}
probe nfs.aop.readpage = kernel.function("nfs_readpage")?, module("nfs").function("nfs_readpage")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(i_flag) = (__p2i_flag($page))
(i_size) = (__p2i_size($page))
(sb_flag) = (__p2sb_flag($page))
(file) = ($file)
(page_index) = ($page->index)
(__inode) = (__p2i($page))
(rsize) = (__nfs_server_rsize(__inode))
(name) = ("nfs.aop.readpage")
(argstr) = (sprintf("%d,%d", page_index, r_size))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.readpage.return = kernel.function("nfs_readpage").return?, module("nfs").function("nfs_readpage").return?{
(name) = ("nfs.aop.readpage.return")
(retstr) = (sprintf("%d", $return))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.readpages = kernel.function("nfs_readpages")?, module("nfs").function("nfs_readpages")?{
(dev) = ($mapping->host->i_sb->s_dev)
(ino) = ($mapping->host->i_ino)
(nr_pages) = ($nr_pages)
(file) = ($filp)
(rpages) = (__nfs_rpages($mapping->host))
(rsize) = (__nfs_server_rsize($mapping->host))
(name) = ("nfs.aop.readpages")
(argstr) = (sprintf("%d", nr_pages))
(size) = (nr_pages)
(units) = ("pages")
}
probe nfs.aop.readpages.return = kernel.function("nfs_readpages").return?, module("nfs").function("nfs_readpages").return?{
(name) = ("nfs.aop.readpages.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = (retstr)
}
(units) = ("pages")
}
probe nfs.aop.set_page_dirty = kernel.function("__set_page_dirty_nobuffers")?, module("nfs").function("__set_page_dirty_nobuffers")?{
(__page) = ($page)
(page_flag) = ($page->flags)
(name) = ("nfs.aop.set_page_dirty")
(argstr) = (sprintf("%d", flag))
probe nfs.aop.set_page_dirty.return = kernel.function("__set_page_dirty_nobuffers").return?, module("nfs").function("__set_page_dirty_nobuffers").return?{
(name) = ("nfs.aop.set_page_dirty.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.writepage = kernel.function("nfs_writepage")?, module("nfs").function("nfs_writepage")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(for_reclaim) = ($wbc->for_reclaim)
(for_kupdate) = ($wbc->for_kupdate)
(i_flag) = (__p2i_flag($page))
(i_state) = (__p2i_state($page))
(i_size) = (__p2i_size($page))
(sb_flag) = (__p2sb_flag($page))
(page_index) = ($page->index)
(__inode) = (__p2i($page))
(wsize) = (__nfs_server_wsize(__inode))
(name) = ("nfs.aop.writepage")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.writepage.return = kernel.function("nfs_writepage").return?, module("nfs").function("nfs_writepage").return?{
(name) = ("nfs.aop.writepage.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.writepages = kernel.function("nfs_writepages")?, module("nfs").function("nfs_writepages")?{
(dev) = ($mapping->host->i_sb->s_dev)
(ino) = ($mapping->host->i_ino)
(for_reclaim) = ($wbc->for_reclaim)
(for_kupdate) = ($wbc->for_kupdate)
(nr_to_write) = ($wbc->nr_to_write)
(wsize) = (__nfs_server_wsize($mapping->host))
(wpages) = (__nfs_wpages($mapping->host))
(name) = ("nfs.aop.writepages")
(argstr) = (sprintf("%d", nr_to_write))
(size) = (nr_to_write)
(units) = ("pages")
}
probe nfs.aop.writepages.return = kernel.function("nfs_writepages").return?, module("nfs").function("nfs_writepages").return?{
(name) = ("nfs.aop.writepages.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.prepare_write = kernel.function("nfs_prepare_write")?, module("nfs").function("nfs_prepare_write")?{
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(offset) = ($offset)
(to) = ($to)
(page_index) = ($page->index)
(__page) = ($page)
(name) = ("nfs.aop.prepare_write")
(argstr) = (sprintf("%d", page_index))
(size) = ((to) - (offset))
(units) = ("bytes")
}
probe nfs.aop.prepare_write.return = kernel.function("nfs_prepare_write").return?, module("nfs").function("nfs_prepare_write").return?{
(name) = ("nfs.aop.nfs_prepare_write.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.commit_write = kernel.function("nfs_commit_write")?, module("nfs").function("nfs_commit_write")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(offset) = ($offset)
(to) = ($to)
(i_flag) = (__p2i_flag($page))
(i_size) = (__p2i_size($page))
(sb_flag) = (__p2sb_flag($page))
(page_index) = ($page->index)
(name) = ("nfs.aop.commit_write")
(argstr) = (sprintf("%d, %d", offset, to))
(size) = ((to) - (offset))
(units) = ("bytes")
}
probe nfs.aop.commit_write.return = kernel.function("nfs_commit_write").return?, module("nfs").function("nfs_commit_write").return?{
(name) = ("nfs.aop.nfs_commit_write.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.release_page = kernel.function("nfs_release_page")?, module("nfs").function("nfs_release_page")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(page_index) = ($page->index)
(name) = ("nfs.aop.releasepage")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.release_page.return = kernel.function("nfs_release_page").return?, module("nfs").function("nfs_release_page").return?{
(name) = ("nfs.aop.nfs_release_page.return")
(retstr) = (sprintf("%d", $return))
}
function __nfsi_cache_valid (inode)
%{ /* pure */
struct inode * inode = (struct inode *)(THIS->inode);
struct nfs_inode * nfsi;
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
nfsi = __nfs_i(inode);
THIS->__retvalue = nfsi->cache_validity;
%}
function __nfsi_rcache_time (inode)
%{ /* pure */
struct inode * inode = (struct inode
}
probe nfs.aop.set_page_dirty.return = kernel.function("__set_page_dirty_nobuffers").return?, module("nfs").function("__set_page_dirty_nobuffers").return?{
(name) = ("nfs.aop.set_page_dirty.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.writepage = kernel.function("nfs_writepage")?, module("nfs").function("nfs_writepage")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(for_reclaim) = ($wbc->for_reclaim)
(for_kupdate) = ($wbc->for_kupdate)
(i_flag) = (__p2i_flag($page))
(i_state) = (__p2i_state($page))
(i_size) = (__p2i_size($page))
(sb_flag) = (__p2sb_flag($page))
(page_index) = ($page->index)
(__inode) = (__p2i($page))
(wsize) = (__nfs_server_wsize(__inode))
(name) = ("nfs.aop.writepage")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.writepage.return = kernel.function("nfs_writepage").return?, module("nfs").function("nfs_writepage").return?{
(name) = ("nfs.aop.writepage.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.writepages = kernel.function("nfs_writepages")?, module("nfs").function("nfs_writepages")?{
(dev) = ($mapping->host->i_sb->s_dev)
(ino) = ($mapping->host->i_ino)
(for_reclaim) = ($wbc->for_reclaim)
(for_kupdate) = ($wbc->for_kupdate)
(nr_to_write) = ($wbc->nr_to_write)
(wsize) = (__nfs_server_wsize($mapping->host))
(wpages) = (__nfs_wpages($mapping->host))
(name) = ("nfs.aop.writepages")
(argstr) = (sprintf("%d", nr_to_write))
(size) = (nr_to_write)
(units) = ("pages")
}
probe nfs.aop.writepages.return = kernel.function("nfs_writepages").return?, module("nfs").function("nfs_writepages").return?{
(name) = ("nfs.aop.writepages.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.prepare_write = kernel.function("nfs_prepare_write")?, module("nfs").function("nfs_prepare_write")?{
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(offset) = ($offset)
(to) = ($to)
(page_index) = ($page->index)
(__page) = ($page)
(name) = ("nfs.aop.prepare_write")
(argstr) = (sprintf("%d", page_index))
(size) = ((to) - (offset))
(units) = ("bytes")
}
probe nfs.aop.prepare_write.return = kernel.function("nfs_prepare_write").return?, module("nfs").function("nfs_prepare_write").return?{
(name) = ("nfs.aop.nfs_prepare_write.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.commit_write = kernel.function("nfs_commit_write")?, module("nfs").function("nfs_commit_write")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(offset) = ($offset)
(to) = ($to)
(i_flag) = (__p2i_flag($page))
(i_size) = (__p2i_size($page))
(sb_flag) = (__p2sb_flag($page))
(page_index) = ($page->index)
(name) = ("nfs.aop.commit_write")
(argstr) = (sprintf("%d, %d", offset, to))
(size) = ((to) - (offset))
(units) = ("bytes")
}
probe nfs.aop.commit_write.return = kernel.function("nfs_commit_write").return?, module("nfs").function("nfs_commit_write").return?{
(name) = ("nfs.aop.nfs_commit_write.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.release_page = kernel.function("nfs_release_page")?, module("nfs").function("nfs_release_page")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(page_index) = ($page->index)
(name) = ("nfs.aop.releasepage")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.release_page.return = kernel.function("nfs_release_page").return?, module("nfs").function("nfs_release_page").return?{
(name) = ("nfs.aop.nfs_release_page.return")
(retstr) = (sprintf("%d", $return))
}
function __nfsi_cache_valid (inode)
%{ /* pure */
struct inode * inode = (struct inode *)(THIS->inode);
struct nfs_inode * nfsi;
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
nfsi = __nfs_i(inode);
THIS->__retvalue = nfsi->cache_validity;
%}
function __nfsi_rcache_time (inode)
%{ /* pure */
*)(THIS->inode);
struct nfs_inode * nfsi ;
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
nfsi = (struct nfs_inode *) __nfs_i(inode);
THIS->__retvalue = nfsi->read_cache_jiffies;
%}
function __nfsi_attr_time (inode)
%{ /* pure */
struct inode * inode = (struct inode *)(THIS->inode);
struct nfs_inode * nfsi ;
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
nfsi= (struct nfs_inode *) __nfs_i(inode);
THIS->__retvalue = nfsi->attrtimeo;
%}
function __nfsi_ndirty (inode)
%{ /* pure */
struct inode *inode = (struct inode *)((long)THIS->inode);
struct nfs_inode *nfsi ;
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
nfsi = NFS_I(inode);
THIS->__retvalue = nfsi->ndirty;
%}
function __nfs_server_rsize (inode)
%{ /* pure */
struct inode * inode = (struct inode *)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_SERVER(inode)->rsize;
%}
function __nfs_version (inode)
%{ /* pure */
struct inode * inode = (struct inode *)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_PROTO(inode)->version;
%}
function __nfs_server_wsize (inode)
%{ /* pure */
struct inode * inode = (struct inode *)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_SERVER(inode)->wsize;
%}
function __nfs_rpages (inode)
%{ /* pure */
struct inode * inode = (struct inode *)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_SERVER(inode)->rpages;
%}
function __nfs_wpages (inode)
%{ /* pure */
struct inode *inode = (struct inode*)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_SERVER(inode)->wpages;
%}
function __p2i (page)
%{ /* pure */
struct page *page = (struct page *)((long)THIS->page);
if ((page == NULL) || (page->mapping == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host),
&(page->mapping->host));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __p2i_flag (page)
%{ /* pure */
struct page *page = (struct page *) (THIS->page);
if ((page == NULL) || (page->mapping == NULL) \
||(page->mapping->host == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_flags),
&(page->mapping->host->i_flags));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __p2i_state (page)
%{ /* pure */
struct page *page = (struct page *) (THIS->page);
if ((page == NULL) || (page->mapping == NULL) \
||(page->mapping->host == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_state),
&(page->mapping->host->i_state));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __p2i_size (page)
%{ /* pure */
struct page *page = (struct page *) (THIS->page);
if ((page == NULL) || (page->mapping == NULL) \
||(page->mapping->host == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->
struct inode * inode = (struct inode *)(THIS->inode);
struct nfs_inode * nfsi ;
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
nfsi = (struct nfs_inode *) __nfs_i(inode);
THIS->__retvalue = nfsi->read_cache_jiffies;
%}
function __nfsi_attr_time (inode)
%{ /* pure */
struct inode * inode = (struct inode *)(THIS->inode);
struct nfs_inode * nfsi ;
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
nfsi= (struct nfs_inode *) __nfs_i(inode);
THIS->__retvalue = nfsi->attrtimeo;
%}
function __nfsi_ndirty (inode)
%{ /* pure */
struct inode *inode = (struct inode *)((long)THIS->inode);
struct nfs_inode *nfsi ;
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
nfsi = NFS_I(inode);
THIS->__retvalue = nfsi->ndirty;
%}
function __nfs_server_rsize (inode)
%{ /* pure */
struct inode * inode = (struct inode *)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_SERVER(inode)->rsize;
%}
function __nfs_version (inode)
%{ /* pure */
struct inode * inode = (struct inode *)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_PROTO(inode)->version;
%}
function __nfs_server_wsize (inode)
%{ /* pure */
struct inode * inode = (struct inode *)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_SERVER(inode)->wsize;
%}
function __nfs_rpages (inode)
%{ /* pure */
struct inode * inode = (struct inode *)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_SERVER(inode)->rpages;
%}
function __nfs_wpages (inode)
%{ /* pure */
struct inode *inode = (struct inode*)((long)THIS->inode);
if(inode == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = NFS_SERVER(inode)->wpages;
%}
function __p2i (page)
%{ /* pure */
struct page *page = (struct page *)((long)THIS->page);
if ((page == NULL) || (page->mapping == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host),
&(page->mapping->host));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __p2i_flag (page)
%{ /* pure */
struct page *page = (struct page *) (THIS->page);
if ((page == NULL) || (page->mapping == NULL) \
||(page->mapping->host == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_flags),
&(page->mapping->host->i_flags));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __p2i_state (page)
%{ /* pure */
struct page *page = (struct page *) (THIS->page);
if ((page == NULL) || (page->mapping == NULL) \
||(page->mapping->host == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_state),
&(page->mapping->host->i_state));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __p2i_size (page)
%{ /* pure */
struct page *page = (struct page *) (THIS->page);
if ((page == NULL) || (page->mapping == NULL) \
||(page->mapping->host == NULL)) {
THIS->__retvalue = -1;
return;
}
mapping->host->i_size),
&(page->mapping->host->i_size));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __p2sb_flag (page)
%{ /* pure */
struct page *page = (struct page *)(THIS->page);
if ((page == NULL) || (page->mapping == NULL) \
||(page->mapping->host == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_flags),
&(page->mapping->host->i_flags));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __d_loff_t (ppos)
%{ /* pure */
loff_t * ppos = (loff_t *) ((long)THIS->ppos);
if (ppos == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = *ppos;
%}
function __file_inode (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode),
&(file->f_dentry->d_inode));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_id (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = (long)&(file->f_dentry->d_inode->i_sb->s_id);
%}
function __file_mode (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_mode),
&(file->f_dentry->d_inode->i_mode));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_parentname (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL)
|| (file->f_dentry == NULL)
|| (file->f_dentry->d_parent == NULL))
strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
strlcpy(THIS->__retvalue, file->f_dentry->d_parent->d_name->name, MAXSTRINGLEN);
}
%}
# file /usr/local/share/systemtap/tapset/nfs_proc.stp
%{
#include <linux/nfs_fs.h>
#include <linux/nfs_xdr.h>
%}%{
/*Get ip address from a rpc_task*/
__u32 get_ip(struct rpc_task *);
/*Get protocol types from a rpc_task*/
int get_prot(struct rpc_task *);
%}%{
__u32 get_ip(struct rpc_task * task)
{
struct rpc_clnt * tk_client;
struct rpc_xprt * cl_xprt;
struct sockaddr_in *addr;
tk_client = task->tk_client;
cl_xprt= tk_client->cl_xprt;
addr = (struct sockaddr_in *)&(cl_xprt->addr);
if (addr->sin_family != AF_INET)
/* Now consider ipv4 only */
return 0;
return addr->sin_addr.s_addr;
}
int get_prot(struct rpc_task * task)
{
struct rpc_clnt * tk_client;
struct rpc_xprt * cl_xprt;
tk_client = task->tk_client;
cl_xprt= tk_client->cl_xprt;
return cl_xprt->prot;
}
%}probe nfs.proc.entries = nfs.proc.lookup, nfs.proc.read, nfs.proc.write, nfs.proc.commit, nfs.proc.read_setup, nfs.proc.write_setup, nfs.proc.commit_setup, nfs.proc.read_done, nfs.proc.write_done, nfs.proc.commit_done, nfs.proc.open, nfs.proc.create, nfs.proc.rename, nfs.proc.remove, nfs.proc.release{
}
probe nfs.proc.return = nfs.proc.lookup.return, nfs.proc.read.return, nfs.proc.write.return, nfs.proc.commit.return, nfs.proc.read_setup.return, nfs.proc.write_setup.return, nfs.proc.commit_setup.return, nfs.proc.read_done.return, nfs.proc.write_done.return, nfs.proc.commit_done.return, nfs.proc.open.return, nfs.proc.create.return, nfs.proc.rename.return, nfs.proc.remove.return, nfs.proc.release.return{
}
probe nfs.proc.lookup = nfs.proc2.lookup, nfs.proc3.looku
THIS->__retvalue = deref(sizeof(page->mapping->host->i_size),
&(page->mapping->host->i_size));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __p2sb_flag (page)
%{ /* pure */
struct page *page = (struct page *)(THIS->page);
if ((page == NULL) || (page->mapping == NULL) \
||(page->mapping->host == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_flags),
&(page->mapping->host->i_flags));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __d_loff_t (ppos)
%{ /* pure */
loff_t * ppos = (loff_t *) ((long)THIS->ppos);
if (ppos == NULL)
{
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = *ppos;
%}
function __file_inode (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode),
&(file->f_dentry->d_inode));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_id (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = (long)&(file->f_dentry->d_inode->i_sb->s_id);
%}
function __file_mode (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_mode),
&(file->f_dentry->d_inode->i_mode));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_parentname (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL)
|| (file->f_dentry == NULL)
|| (file->f_dentry->d_parent == NULL))
strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
strlcpy(THIS->__retvalue, file->f_dentry->d_parent->d_name->name, MAXSTRINGLEN);
}
%}
# file /usr/local/share/systemtap/tapset/nfs_proc.stp
%{
#include <linux/nfs_fs.h>
#include <linux/nfs_xdr.h>
%}%{
/*Get ip address from a rpc_task*/
__u32 get_ip(struct rpc_task *);
/*Get protocol types from a rpc_task*/
int get_prot(struct rpc_task *);
%}%{
__u32 get_ip(struct rpc_task * task)
{
struct rpc_clnt * tk_client;
struct rpc_xprt * cl_xprt;
struct sockaddr_in *addr;
tk_client = task->tk_client;
cl_xprt= tk_client->cl_xprt;
addr = (struct sockaddr_in *)&(cl_xprt->addr);
if (addr->sin_family != AF_INET)
/* Now consider ipv4 only */
return 0;
return addr->sin_addr.s_addr;
}
int get_prot(struct rpc_task * task)
{
struct rpc_clnt * tk_client;
struct rpc_xprt * cl_xprt;
tk_client = task->tk_client;
cl_xprt= tk_client->cl_xprt;
return cl_xprt->prot;
}
%}probe nfs.proc.entries = nfs.proc.lookup, nfs.proc.read, nfs.proc.write, nfs.proc.commit, nfs.proc.read_setup, nfs.proc.write_setup, nfs.proc.commit_setup, nfs.proc.read_done, nfs.proc.write_done, nfs.proc.commit_done, nfs.proc.open, nfs.proc.create, nfs.proc.rename, nfs.proc.remove, nfs.proc.release{
}
probe nfs.proc.return = nfs.proc.lookup.return, nfs.proc.read.return, nfs.proc.write.return, nfs.proc.commit.return, nfs.proc.read_setup.return, nfs.proc.write_setup.return, nfs.proc.commit_setup.return, nfs.proc.read_done.return, nfs.proc.write_done.return, nfs.proc.commit_done.return, nfs.proc.open.return, nfs.proc.create.return, nfs.proc.rename.return, nfs.proc.remove.return, nfs.proc.release.return{
}
p, nfs.proc4.lookup{
}
probe nfs.proc.lookup.return = nfs.proc2.lookup.return, nfs.proc3.lookup.return, nfs.proc4.lookup.return{
}
probe nfs.proc2.lookup = kernel.function("nfs_proc_lookup")?, module("nfs").function("nfs_proc_lookup")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (2)
(filename) = (kernel_string($name->name))
(name_len) = ($name->len)
(name) = ("nfs.proc2.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc2.lookup.return = kernel.function("nfs_proc_lookup").return?, module("nfs").function("nfs_proc_lookup").return?{
(version) = (2)
(name) = ("nfs.proc2.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.lookup = kernel.function("nfs3_proc_lookup")?, module("nfs").function("nfs3_proc_lookup")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (3)
(filename) = (kernel_string($name->name))
(name_len) = ($name->len)
(name) = ("nfs.proc3.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc3.lookup.return = kernel.function("nfs3_proc_lookup").return?, module("nfs").function("nfs3_proc_lookup").return?{
(version) = (3)
(name) = ("nfs.proc3.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.lookup = kernel.function("nfs4_proc_lookup")?, module("nfs").function("nfs4_proc_lookup")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (4)
(filename) = (kernel_string($name->name))
(name_len) = ($name->len)
(bitmask0) = (__nfsv4_bitmask($dir, 0))
(bitmask1) = (__nfsv4_bitmask($dir, 1))
(name) = ("nfs.proc4.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc4.lookup.return = kernel.function("nfs4_proc_lookup").return?, module("nfs").function("nfs4_proc_lookup").return?{
(version) = (4)
(name) = ("nfs.proc4.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.read = nfs.proc2.read, nfs.proc3.read, nfs.proc4.read{
}
probe nfs.proc.read.return = nfs.proc2.read.return, nfs.proc3.read.return, nfs.proc4.read.return{
}
probe nfs.proc2.read = kernel.function("nfs_proc_read")?, module("nfs").function("nfs_proc_read")?{
(server_ip) = (__nfs_read_data_info($rdata, 0))
(prot) = (__nfs_read_data_info($rdata, 1))
(version) = (2)
(flags) = ($rdata->flags)
(count) = ($rdata->args->count)
(offset) = ($rdata->args->offset)
(name) = ("nfs.proc2.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.read.return = kernel.function("nfs_proc_read").return?, module("nfs").function("nfs_proc_read").return?{
(version) = (2)
(name) = ("nfs.proc2.read.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc3.read = kernel.function("nfs3_proc_read")?, module("nfs").function("nfs3_proc_read")?{
(server_ip) = (__nfs_read_data_info($rdata, 0))
(prot) = (__nfs_read_data_info($rdata, 1))
(version) = (3)
(flags) = ($rdata->flags)
(count) = ($rdata->args->count)
(offset) = ($rdata->args->offset)
(name) = ("nfs.proc3.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.read.return = kernel.function("nfs3_proc_read").return?, module("nfs").function("nfs3_proc_read").return?{
(version) = (3)
(name) = ("nfs.proc3.read.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc4.read = kernel.function("nfs4_proc_read")?, module("nfs").function("nfs4_proc_read")?{
(server_ip) = (__nfs_read_data_info($rdata, 0))
(prot) = (__nfs_read_data_info($rdata, 1))
(version) = (4)
(flags) = ($rdata->flags)
(count) = ($rdata->args->count)
(offset) = ($rdata->args->offset)
(name) = ("nfs.proc4.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.read.return = kernel.function("nfs4_proc_read").return?, module("nfs").function("nfs4_proc_read").return?{
(version) = (4)
(name) = ("n
probe nfs.proc.lookup = nfs.proc2.lookup, nfs.proc3.lookup, nfs.proc4.lookup{
}
probe nfs.proc.lookup.return = nfs.proc2.lookup.return, nfs.proc3.lookup.return, nfs.proc4.lookup.return{
}
probe nfs.proc2.lookup = kernel.function("nfs_proc_lookup")?, module("nfs").function("nfs_proc_lookup")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (2)
(filename) = (kernel_string($name->name))
(name_len) = ($name->len)
(name) = ("nfs.proc2.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc2.lookup.return = kernel.function("nfs_proc_lookup").return?, module("nfs").function("nfs_proc_lookup").return?{
(version) = (2)
(name) = ("nfs.proc2.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.lookup = kernel.function("nfs3_proc_lookup")?, module("nfs").function("nfs3_proc_lookup")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (3)
(filename) = (kernel_string($name->name))
(name_len) = ($name->len)
(name) = ("nfs.proc3.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc3.lookup.return = kernel.function("nfs3_proc_lookup").return?, module("nfs").function("nfs3_proc_lookup").return?{
(version) = (3)
(name) = ("nfs.proc3.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.lookup = kernel.function("nfs4_proc_lookup")?, module("nfs").function("nfs4_proc_lookup")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (4)
(filename) = (kernel_string($name->name))
(name_len) = ($name->len)
(bitmask0) = (__nfsv4_bitmask($dir, 0))
(bitmask1) = (__nfsv4_bitmask($dir, 1))
(name) = ("nfs.proc4.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc4.lookup.return = kernel.function("nfs4_proc_lookup").return?, module("nfs").function("nfs4_proc_lookup").return?{
(version) = (4)
(name) = ("nfs.proc4.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.read = nfs.proc2.read, nfs.proc3.read, nfs.proc4.read{
}
probe nfs.proc.read.return = nfs.proc2.read.return, nfs.proc3.read.return, nfs.proc4.read.return{
}
probe nfs.proc2.read = kernel.function("nfs_proc_read")?, module("nfs").function("nfs_proc_read")?{
(server_ip) = (__nfs_read_data_info($rdata, 0))
(prot) = (__nfs_read_data_info($rdata, 1))
(version) = (2)
(flags) = ($rdata->flags)
(count) = ($rdata->args->count)
(offset) = ($rdata->args->offset)
(name) = ("nfs.proc2.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.read.return = kernel.function("nfs_proc_read").return?, module("nfs").function("nfs_proc_read").return?{
(version) = (2)
(name) = ("nfs.proc2.read.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc3.read = kernel.function("nfs3_proc_read")?, module("nfs").function("nfs3_proc_read")?{
(server_ip) = (__nfs_read_data_info($rdata, 0))
(prot) = (__nfs_read_data_info($rdata, 1))
(version) = (3)
(flags) = ($rdata->flags)
(count) = ($rdata->args->count)
(offset) = ($rdata->args->offset)
(name) = ("nfs.proc3.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.read.return = kernel.function("nfs3_proc_read").return?, module("nfs").function("nfs3_proc_read").return?{
(version) = (3)
(name) = ("nfs.proc3.read.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc4.read = kernel.function("nfs4_proc_read")?, module("nfs").function("nfs4_proc_read")?{
(server_ip) = (__nfs_read_data_info($rdata, 0))
(prot) = (__nfs_read_data_info($rdata, 1))
(version) = (4)
(flags) = ($rdata->flags)
(count) = ($rdata->args->count)
(offset) = ($rdata->args->offset)
(name) = ("nfs.proc4.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.read.return = kernel.function("nfs4_proc_read").return?, module("nfs").function("nfs4_proc_read").return?{
(version) = (4)
fs.proc4.read.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc.write = nfs.proc2.write, nfs.proc3.write, nfs.proc4.write{
}
probe nfs.proc.write.return = nfs.proc2.write.return, nfs.proc3.write.return, nfs.proc4.write.return{
}
probe nfs.proc2.write = kernel.function("nfs_proc_write")?, module("nfs").function("nfs_proc_write")?{
(server_ip) = (__nfs_write_data_info($wdata, 0))
(prot) = (__nfs_write_data_info($wdata, 1))
(version) = (2)
(flags) = ($wdata->flags)
(count) = ($wdata->args->count)
(offset) = ($wdata->args->offset)
(name) = ("nfs.proc2.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.write.return = kernel.function("nfs_proc_write").return?, module("nfs").function("nfs_proc_write").return?{
(version) = (2)
(name) = ("nfs.proc2.write.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc3.write = kernel.function("nfs3_proc_write")?, module("nfs").function("nfs3_proc_write")?{
(server_ip) = (__nfs_write_data_info($wdata, 0))
(prot) = (__nfs_write_data_info($wdata, 1))
(version) = (3)
(flags) = ($wdata->flags)
(count) = ($wdata->args->count)
(offset) = ($wdata->args->offset)
(name) = ("nfs.proc3.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.write.return = kernel.function("nfs3_proc_write").return?, module("nfs").function("nfs3_proc_write").return?{
(version) = (3)
(name) = ("nfs.proc3.write.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc4.write = kernel.function("nfs4_proc_write")?, module("nfs").function("nfs4_proc_write")?{
(server_ip) = (__nfs_write_data_info($wdata, 0))
(prot) = (__nfs_write_data_info($wdata, 1))
(version) = (4)
(flags) = ($wdata->flags)
(count) = ($wdata->args->count)
(offset) = ($wdata->args->offset)
(bitmask0) = (__nfsv4_bitmask($wdata->inode, 0))
(bitmask1) = (__nfsv4_bitmask($wdata->inode, 1))
(name) = ("nfs.proc4.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.write.return = kernel.function("nfs4_proc_write").return?, module("nfs").function("nfs4_proc_write").return?{
(version) = (4)
(name) = ("nfs.proc4.write.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc.commit = nfs.proc3.commit, nfs.proc4.commit{
}
probe nfs.proc.commit.return = nfs.proc3.commit.return, nfs.proc4.commit.return{
}
probe nfs.proc3.commit = kernel.function("nfs3_proc_commit")?, module("nfs").function("nfs3_proc_commit")?{
(server_ip) = (__nfs_write_data_info($cdata, 0))
(prot) = (__nfs_write_data_info($cdata, 1))
(version) = (3)
(count) = ($cdata->args->count)
(offset) = ($cdata->args->offset)
(name) = ("nfs.proc3.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.commit.return = kernel.function("nfs3_proc_commit").return?, module("nfs").function("nfs3_proc_commit").return?{
(version) = (3)
(name) = ("nfs.proc3.commit.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc4.commit = kernel.function("nfs4_proc_commit")?, module("nfs").function("nfs4_proc_commit")?{
(server_ip) = (__nfs_write_data_info($cdata, 0))
(prot) = (__nfs_write_data_info($cdata, 1))
(version) = (4)
(count) = ($cdata->args->count)
(offset) = ($cdata->args->offset)
(bitmask0) = (__nfsv4_bitmask($cdata->inode, 0))
(bitmask1) = (__nfsv4_bitmask($cdata->inode, 1))
(name) = ("nfs.proc4.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.commit.return = kernel.function("nfs4_proc_commit").return?, module("nfs").function("nfs4_proc_commit").return?{
(version) = (4)
(name) = ("nf
(name) = ("nfs.proc4.read.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc.write = nfs.proc2.write, nfs.proc3.write, nfs.proc4.write{
}
probe nfs.proc.write.return = nfs.proc2.write.return, nfs.proc3.write.return, nfs.proc4.write.return{
}
probe nfs.proc2.write = kernel.function("nfs_proc_write")?, module("nfs").function("nfs_proc_write")?{
(server_ip) = (__nfs_write_data_info($wdata, 0))
(prot) = (__nfs_write_data_info($wdata, 1))
(version) = (2)
(flags) = ($wdata->flags)
(count) = ($wdata->args->count)
(offset) = ($wdata->args->offset)
(name) = ("nfs.proc2.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.write.return = kernel.function("nfs_proc_write").return?, module("nfs").function("nfs_proc_write").return?{
(version) = (2)
(name) = ("nfs.proc2.write.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc3.write = kernel.function("nfs3_proc_write")?, module("nfs").function("nfs3_proc_write")?{
(server_ip) = (__nfs_write_data_info($wdata, 0))
(prot) = (__nfs_write_data_info($wdata, 1))
(version) = (3)
(flags) = ($wdata->flags)
(count) = ($wdata->args->count)
(offset) = ($wdata->args->offset)
(name) = ("nfs.proc3.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.write.return = kernel.function("nfs3_proc_write").return?, module("nfs").function("nfs3_proc_write").return?{
(version) = (3)
(name) = ("nfs.proc3.write.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc4.write = kernel.function("nfs4_proc_write")?, module("nfs").function("nfs4_proc_write")?{
(server_ip) = (__nfs_write_data_info($wdata, 0))
(prot) = (__nfs_write_data_info($wdata, 1))
(version) = (4)
(flags) = ($wdata->flags)
(count) = ($wdata->args->count)
(offset) = ($wdata->args->offset)
(bitmask0) = (__nfsv4_bitmask($wdata->inode, 0))
(bitmask1) = (__nfsv4_bitmask($wdata->inode, 1))
(name) = ("nfs.proc4.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.write.return = kernel.function("nfs4_proc_write").return?, module("nfs").function("nfs4_proc_write").return?{
(version) = (4)
(name) = ("nfs.proc4.write.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc.commit = nfs.proc3.commit, nfs.proc4.commit{
}
probe nfs.proc.commit.return = nfs.proc3.commit.return, nfs.proc4.commit.return{
}
probe nfs.proc3.commit = kernel.function("nfs3_proc_commit")?, module("nfs").function("nfs3_proc_commit")?{
(server_ip) = (__nfs_write_data_info($cdata, 0))
(prot) = (__nfs_write_data_info($cdata, 1))
(version) = (3)
(count) = ($cdata->args->count)
(offset) = ($cdata->args->offset)
(name) = ("nfs.proc3.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.commit.return = kernel.function("nfs3_proc_commit").return?, module("nfs").function("nfs3_proc_commit").return?{
(version) = (3)
(name) = ("nfs.proc3.commit.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc4.commit = kernel.function("nfs4_proc_commit")?, module("nfs").function("nfs4_proc_commit")?{
(server_ip) = (__nfs_write_data_info($cdata, 0))
(prot) = (__nfs_write_data_info($cdata, 1))
(version) = (4)
(count) = ($cdata->args->count)
(offset) = ($cdata->args->offset)
(bitmask0) = (__nfsv4_bitmask($cdata->inode, 0))
(bitmask1) = (__nfsv4_bitmask($cdata->inode, 1))
(name) = ("nfs.proc4.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.commit.return = kernel.function("nfs4_proc_commit").return?, module("nfs").function("nfs4_proc_commit").return?{
(version) = (4)
s.proc4.commit.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc.read_setup = nfs.proc2.read_setup, nfs.proc3.read_setup, nfs.proc4.read_setup{
}
probe nfs.proc.read_setup.return = nfs.proc2.read_setup.return, nfs.proc3.read_setup.return, nfs.proc4.read_setup.return{
}
probe nfs.proc2.read_setup = kernel.function("nfs_proc_read_setup")?, module("nfs").function("nfs_proc_read_setup")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(version) = (2)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc2.read_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.read_setup.return = kernel.function("nfs_proc_read_setup").return?, module("nfs").function("nfs_proc_read_setup").return?{
(name) = ("nfs.proc2.read_setup.return")
(retvalue) = (0)
;
}
probe nfs.proc3.read_setup = kernel.function("nfs3_proc_read_setup")?, module("nfs").function("nfs3_proc_read_setup")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(version) = (3)
(fh) = ((count) = ($data->args->count))
(offset) = ($data->args->offset)
(name) = ("nfs.proc3.read_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.read_setup.return = kernel.function("nfs3_proc_read_setup").return?, module("nfs").function("nfs3_proc_read_setup").return?{
(name) = ("nfs.proc3.read_setup.return")
(retvalue) = (0)
;
}
probe nfs.proc4.read_setup = kernel.function("nfs4_proc_read_setup")?, module("nfs").function("nfs4_proc_read_setup")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(version) = (4)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc4.read_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.read_setup.return = kernel.function("nfs4_proc_read_setup").return?, module("nfs").function("nfs4_proc_read_setup").return?{
(name) = ("nfs.proc4.read_setup.return")
(retvalue) = (0)
;
}
probe nfs.proc.read_done = nfs.proc2.read_done, nfs.proc3.read_done, nfs.proc4.read_done{
}
probe nfs.proc.read_done.return = nfs.proc2.read_done.return, nfs.proc3.read_done.return, nfs.proc4.read_done.return{
}
probe nfs.proc2.read_done = kernel.function("nfs_read_done")?, module("nfs").function("nfs_read_done")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(count) = (__nfs_read_data_info($data, 2))
(version) = (2)
(status) = ($task->tk_status)
(name) = ("nfs.proc2.read_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc2.read_done.return = kernel.function("nfs_read_done").return?, module("nfs").function("nfs_read_done").return?{
(version) = (2)
(name) = ("nfs.proc2.read_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.read_done = kernel.function("nfs3_read_done")?, module("nfs").function("nfs3_read_done")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(count) = (__nfs_read_data_info($data, 2))
(version) = (3)
(status) = ($task->tk_status)
(name) = ("nfs.proc3.read_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc3.read_done.return = kernel.function("nfs3_read_done").return?, module("nfs").function("nfs3_read_done").return?{
(version) = (3)
(name) = ("nfs.proc3.read_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.read_done = kernel.function("nfs4_read_done")?, module("nfs").function("nfs4_read_done")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(count) = (__nfs_read_data_info($data, 2))
(timestamp) = (__nfs_read_data_info($data, 4))
(version) = (4)
(status) = ($task->tk_status)
(name) = ("nfs.proc4.read_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc4.read_done.return = kernel.functi
(name) = ("nfs.proc4.commit.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}
}
probe nfs.proc.read_setup = nfs.proc2.read_setup, nfs.proc3.read_setup, nfs.proc4.read_setup{
}
probe nfs.proc.read_setup.return = nfs.proc2.read_setup.return, nfs.proc3.read_setup.return, nfs.proc4.read_setup.return{
}
probe nfs.proc2.read_setup = kernel.function("nfs_proc_read_setup")?, module("nfs").function("nfs_proc_read_setup")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(version) = (2)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc2.read_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.read_setup.return = kernel.function("nfs_proc_read_setup").return?, module("nfs").function("nfs_proc_read_setup").return?{
(name) = ("nfs.proc2.read_setup.return")
(retvalue) = (0)
;
}
probe nfs.proc3.read_setup = kernel.function("nfs3_proc_read_setup")?, module("nfs").function("nfs3_proc_read_setup")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(version) = (3)
(fh) = ((count) = ($data->args->count))
(offset) = ($data->args->offset)
(name) = ("nfs.proc3.read_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.read_setup.return = kernel.function("nfs3_proc_read_setup").return?, module("nfs").function("nfs3_proc_read_setup").return?{
(name) = ("nfs.proc3.read_setup.return")
(retvalue) = (0)
;
}
probe nfs.proc4.read_setup = kernel.function("nfs4_proc_read_setup")?, module("nfs").function("nfs4_proc_read_setup")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(version) = (4)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc4.read_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.read_setup.return = kernel.function("nfs4_proc_read_setup").return?, module("nfs").function("nfs4_proc_read_setup").return?{
(name) = ("nfs.proc4.read_setup.return")
(retvalue) = (0)
;
}
probe nfs.proc.read_done = nfs.proc2.read_done, nfs.proc3.read_done, nfs.proc4.read_done{
}
probe nfs.proc.read_done.return = nfs.proc2.read_done.return, nfs.proc3.read_done.return, nfs.proc4.read_done.return{
}
probe nfs.proc2.read_done = kernel.function("nfs_read_done")?, module("nfs").function("nfs_read_done")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(count) = (__nfs_read_data_info($data, 2))
(version) = (2)
(status) = ($task->tk_status)
(name) = ("nfs.proc2.read_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc2.read_done.return = kernel.function("nfs_read_done").return?, module("nfs").function("nfs_read_done").return?{
(version) = (2)
(name) = ("nfs.proc2.read_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.read_done = kernel.function("nfs3_read_done")?, module("nfs").function("nfs3_read_done")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(count) = (__nfs_read_data_info($data, 2))
(version) = (3)
(status) = ($task->tk_status)
(name) = ("nfs.proc3.read_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc3.read_done.return = kernel.function("nfs3_read_done").return?, module("nfs").function("nfs3_read_done").return?{
(version) = (3)
(name) = ("nfs.proc3.read_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.read_done = kernel.function("nfs4_read_done")?, module("nfs").function("nfs4_read_done")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(count) = (__nfs_read_data_info($data, 2))
(timestamp) = (__nfs_read_data_info($data, 4))
(version) = (4)
(status) = ($task->tk_status)
(name) = ("nfs.proc4.read_done")
(argstr) = (sprintf("%d", status))
}
on("nfs4_read_done").return?, module("nfs").function("nfs4_read_done").return?{
(version) = (4)
(name) = ("nfs.proc4.read_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.write_setup = nfs.proc2.write_setup, nfs.proc3.write_setup, nfs.proc4.write_setup{
}
probe nfs.proc.write_setup.return = nfs.proc2.write_setup.return, nfs.proc3.write_setup.return, nfs.proc4.write_setup.return{
}
probe nfs.proc2.write_setup = kernel.function("nfs_proc_write_setup")?, module("nfs").function("nfs_proc_write_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (2)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc2.write_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.write_setup.return = kernel.function("nfs_proc_write_setup").return?, module("nfs").function("nfs_proc_write_setup").return?{
(name) = ("nfs.proc2.write_setup.return")
(retvalue) = (0)
}
probe nfs.proc3.write_setup = kernel.function("nfs3_proc_write_setup")?, module("nfs").function("nfs3_proc_write_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (3)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(how) = ($how)
(name) = ("nfs.proc3.write_setup")
(argstr) = (sprintf("%d,%d,%d", count, offset, how))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.write_setup.return = kernel.function("nfs3_proc_write_setup").return?, module("nfs").function("nfs3_proc_write_setup").return?{
(name) = ("nfs.proc3.write_setup.return")
(retvalue) = (0)
}
probe nfs.proc4.write_setup = kernel.function("nfs4_proc_write_setup")?, module("nfs").function("nfs4_proc_write_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (4)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(how) = ($how)
(bitmask0) = (__nfsv4_bitmask($data->inode, 0))
(bitmask1) = (__nfsv4_bitmask($data->inode, 1))
(name) = ("nfs.proc4.write_setup")
(argstr) = (sprintf("%d,%d,%d", count, offset, how))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.write_setup.return = kernel.function("nfs4_proc_write_setup").return?, module("nfs").function("nfs4_proc_write_setup").return?{
(name) = ("nfs.proc4.write_setup.return")
(retvalue) = (0)
}
probe nfs.proc.write_done = nfs.proc2.write_done, nfs.proc3.write_done, nfs.proc4.write_done{
}
probe nfs.proc.write_done.return = nfs.proc2.write_done.return, nfs.proc3.write_done.return, nfs.proc4.write_done.return{
}
probe nfs.proc2.write_done = kernel.function("nfs_write_done")?, module("nfs").function("nfs_write_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(version) = (2)
(status) = ($task->tk_status)
(name) = ("nfs.proc2.write_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc2.write_done.return = kernel.function("nfs_write_done").return?, module("nfs").function("nfs_write_done").return?{
(version) = (2)
(name) = ("nfs.proc2.write_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.write_done = kernel.function("nfs3_write_done")?, module("nfs").function("nfs3_write_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(version) = (3)
(status) = ($task->tk_status)
(name) = ("nfs.proc3.write_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc3.write_done.return = kernel.function("nfs3_write_done").return?, module("nfs").function("nfs3_write_done").return?{
(version) = (3)
(name) = ("nfs.proc3.write_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.write_done = kernel.function("nfs4_write_done")?, module("nfs").function("nfs4_write_done")?{
(server_ip) = (__n
probe nfs.proc4.read_done.return = kernel.function("nfs4_read_done").return?, module("nfs").function("nfs4_read_done").return?{
(version) = (4)
(name) = ("nfs.proc4.read_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.write_setup = nfs.proc2.write_setup, nfs.proc3.write_setup, nfs.proc4.write_setup{
}
probe nfs.proc.write_setup.return = nfs.proc2.write_setup.return, nfs.proc3.write_setup.return, nfs.proc4.write_setup.return{
}
probe nfs.proc2.write_setup = kernel.function("nfs_proc_write_setup")?, module("nfs").function("nfs_proc_write_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (2)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc2.write_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.write_setup.return = kernel.function("nfs_proc_write_setup").return?, module("nfs").function("nfs_proc_write_setup").return?{
(name) = ("nfs.proc2.write_setup.return")
(retvalue) = (0)
}
probe nfs.proc3.write_setup = kernel.function("nfs3_proc_write_setup")?, module("nfs").function("nfs3_proc_write_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (3)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(how) = ($how)
(name) = ("nfs.proc3.write_setup")
(argstr) = (sprintf("%d,%d,%d", count, offset, how))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.write_setup.return = kernel.function("nfs3_proc_write_setup").return?, module("nfs").function("nfs3_proc_write_setup").return?{
(name) = ("nfs.proc3.write_setup.return")
(retvalue) = (0)
}
probe nfs.proc4.write_setup = kernel.function("nfs4_proc_write_setup")?, module("nfs").function("nfs4_proc_write_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (4)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(how) = ($how)
(bitmask0) = (__nfsv4_bitmask($data->inode, 0))
(bitmask1) = (__nfsv4_bitmask($data->inode, 1))
(name) = ("nfs.proc4.write_setup")
(argstr) = (sprintf("%d,%d,%d", count, offset, how))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.write_setup.return = kernel.function("nfs4_proc_write_setup").return?, module("nfs").function("nfs4_proc_write_setup").return?{
(name) = ("nfs.proc4.write_setup.return")
(retvalue) = (0)
}
probe nfs.proc.write_done = nfs.proc2.write_done, nfs.proc3.write_done, nfs.proc4.write_done{
}
probe nfs.proc.write_done.return = nfs.proc2.write_done.return, nfs.proc3.write_done.return, nfs.proc4.write_done.return{
}
probe nfs.proc2.write_done = kernel.function("nfs_write_done")?, module("nfs").function("nfs_write_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(version) = (2)
(status) = ($task->tk_status)
(name) = ("nfs.proc2.write_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc2.write_done.return = kernel.function("nfs_write_done").return?, module("nfs").function("nfs_write_done").return?{
(version) = (2)
(name) = ("nfs.proc2.write_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.write_done = kernel.function("nfs3_write_done")?, module("nfs").function("nfs3_write_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(version) = (3)
(status) = ($task->tk_status)
(name) = ("nfs.proc3.write_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc3.write_done.return = kernel.function("nfs3_write_done").return?, module("nfs").function("nfs3_write_done").return?{
(version) = (3)
(name) = ("nfs.proc3.write_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.write_done = kernel.function("nfs4_write_done")?, module("nfs").function("nfs4_write_done")?{
fs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(timestamp) = (__nfs_write_data_info($data, 4))
(version) = (4)
(status) = ($task->tk_status)
(name) = ("nfs.proc4.write_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc4.write_done.return = kernel.function("nfs4_write_done").return?, module("nfs").function("nfs4_write_done").return?{
(version) = (4)
(name) = ("nfs.proc4.write_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.commit_setup = nfs.proc3.commit_setup, nfs.proc4.commit_setup{
}
probe nfs.proc.commit_setup.return = nfs.proc3.commit_setup.return, nfs.proc4.commit_setup.return{
}
probe nfs.proc3.commit_setup = kernel.function("nfs3_proc_commit_setup")?, module("nfs").function("nfs3_proc_commit_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (3)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc3.commit_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.commit_setup.return = kernel.function("nfs3_proc_commit_setup").return?, module("nfs").function("nfs3_proc_commit_setup").return?{
(name) = ("nfs.proc3.commit_setup.return")
(retvalue) = (0)
}
probe nfs.proc4.commit_setup = kernel.function("nfs4_proc_commit_setup")?, module("nfs").function("nfs4_proc_commit_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (4)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(bitmask0) = (__nfsv4_bitmask($data->inode, 0))
(bitmask1) = (__nfsv4_bitmask($data->inode, 1))
(name) = ("nfs.proc4.commit_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.commit_setup.return = kernel.function("nfs4_proc_commit_setup").return?, module("nfs").function("nfs4_proc_commit_setup").return?{
(name) = ("nfs.proc4.commit_setup.return")
(retvalue) = (0)
}
probe nfs.proc.commit_done = nfs.proc3.commit_done, nfs.proc4.commit_done{
}
probe nfs.proc.commit_done.return = nfs.proc3.commit_done.return, nfs.proc4.commit_done.return{
}
probe nfs.proc3.commit_done = kernel.function("nfs3_commit_done")?, module("nfs").function("nfs3_commit_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(version) = (3)
(status) = ($task->tk_status)
(name) = ("nfs.proc3.commit_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc3.commit_done.return = kernel.function("nfs3_commit_done").return?, module("nfs").function("nfs3_commit_done").return?{
(version) = (3)
(name) = ("nfs.proc3.commit_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.commit_done = kernel.function("nfs4_commit_done")?, module("nfs").function("nfs4_commit_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(timestamp) = (__nfs_write_data_info($data, 4))
(version) = (4)
(status) = ($task->tk_status)
(name) = ("nfs.proc4.commit_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc4.commit_done.return = kernel.function("nfs4_commit_done").return?, module("nfs").function("nfs4_commit_done").return?{
(version) = (4)
(name) = ("nfs.proc4.commit_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.open = kernel.function("nfs_open")?, module("nfs").function("nfs_open")?{
(server_ip) = (__i2n_ip_proto($inode, 0))
(prot) = (__i2n_ip_proto($inode, 1))
(version) = (__nfs_version($inode))
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(mode) = ($filp->f_mode)
(name) = ("nfs.proc.open")
(argstr) = (sprintf("%s,%d,%d", filename, flag, mode))
}
probe nfs.proc.open.return = kernel.fu
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(timestamp) = (__nfs_write_data_info($data, 4))
(version) = (4)
(status) = ($task->tk_status)
(name) = ("nfs.proc4.write_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc4.write_done.return = kernel.function("nfs4_write_done").return?, module("nfs").function("nfs4_write_done").return?{
(version) = (4)
(name) = ("nfs.proc4.write_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.commit_setup = nfs.proc3.commit_setup, nfs.proc4.commit_setup{
}
probe nfs.proc.commit_setup.return = nfs.proc3.commit_setup.return, nfs.proc4.commit_setup.return{
}
probe nfs.proc3.commit_setup = kernel.function("nfs3_proc_commit_setup")?, module("nfs").function("nfs3_proc_commit_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (3)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc3.commit_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.commit_setup.return = kernel.function("nfs3_proc_commit_setup").return?, module("nfs").function("nfs3_proc_commit_setup").return?{
(name) = ("nfs.proc3.commit_setup.return")
(retvalue) = (0)
}
probe nfs.proc4.commit_setup = kernel.function("nfs4_proc_commit_setup")?, module("nfs").function("nfs4_proc_commit_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (4)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(bitmask0) = (__nfsv4_bitmask($data->inode, 0))
(bitmask1) = (__nfsv4_bitmask($data->inode, 1))
(name) = ("nfs.proc4.commit_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.commit_setup.return = kernel.function("nfs4_proc_commit_setup").return?, module("nfs").function("nfs4_proc_commit_setup").return?{
(name) = ("nfs.proc4.commit_setup.return")
(retvalue) = (0)
}
probe nfs.proc.commit_done = nfs.proc3.commit_done, nfs.proc4.commit_done{
}
probe nfs.proc.commit_done.return = nfs.proc3.commit_done.return, nfs.proc4.commit_done.return{
}
probe nfs.proc3.commit_done = kernel.function("nfs3_commit_done")?, module("nfs").function("nfs3_commit_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(version) = (3)
(status) = ($task->tk_status)
(name) = ("nfs.proc3.commit_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc3.commit_done.return = kernel.function("nfs3_commit_done").return?, module("nfs").function("nfs3_commit_done").return?{
(version) = (3)
(name) = ("nfs.proc3.commit_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.commit_done = kernel.function("nfs4_commit_done")?, module("nfs").function("nfs4_commit_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(timestamp) = (__nfs_write_data_info($data, 4))
(version) = (4)
(status) = ($task->tk_status)
(name) = ("nfs.proc4.commit_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc4.commit_done.return = kernel.function("nfs4_commit_done").return?, module("nfs").function("nfs4_commit_done").return?{
(version) = (4)
(name) = ("nfs.proc4.commit_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.open = kernel.function("nfs_open")?, module("nfs").function("nfs_open")?{
(server_ip) = (__i2n_ip_proto($inode, 0))
(prot) = (__i2n_ip_proto($inode, 1))
(version) = (__nfs_version($inode))
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(mode) = ($filp->f_mode)
(name) = ("nfs.proc.open")
(argstr) = (sprintf("%s,%d,%d", filename, flag, mode))
}
nction("nfs_open").return?, module("nfs").function("nfs_open").return?{
(name) = ("nfs.proc.open.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.release = kernel.function("nfs_release")?, module("nfs").function("nfs_release")?{
(server_ip) = (__i2n_ip_proto($inode, 0))
(prot) = (__i2n_ip_proto($inode, 1))
(version) = (__nfs_version($inode))
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(mode) = ($filp->f_mode)
(name) = ("nfs.proc.release")
(argstr) = (sprintf("%s,%d,%d", filename, flag, mode))
}
probe nfs.proc.release.return = kernel.function("nfs_release").return?, module("nfs").function("nfs_release").return?{
(name) = ("nfs.proc.release.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.handle_exception = kernel.function("nfs4_handle_exception")?, module("nfs").function("nfs4_handle_exception")?{
(version) = (4)
(errorcode) = ($errorcode)
(name) = ("nfs.proc4.handle_exception")
(argstr) = (sprintf("%d", errorcode))
}
probe nfs.proc4.handle_exception.return = kernel.function("nfs4_handle_exception").return?, module("nfs").function("nfs4_handle_exception").return?{
(name) = ("nfs.proc4.handle_exception.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.create = nfs.proc2.create, nfs.proc3.create, nfs.proc4.create{
}
probe nfs.proc.create.return = nfs.proc2.create.return, nfs.proc3.create.return, nfs.proc4.create.return{
}
probe nfs.proc2.create = kernel.function("nfs_proc_create")?, module("nfs").function("nfs_proc_create")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (2)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($dentry->d_name->name))
(filelen) = ($dentry->d_name->len)
(mode) = ($sattr->ia_mode)
(name) = ("nfs.proc2.create")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc2.create.return = kernel.function("nfs_proc_create").return?, module("nfs").function("nfs_proc_create").return?{
(name) = ("nfs.proc2.create.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.create = kernel.function("nfs3_proc_create")?, module("nfs").function("nfs3_proc_create")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (3)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($dentry->d_name->name))
(filelen) = ($dentry->d_name->len)
(flag) = ($flags)
(mode) = ($sattr->ia_mode)
(name) = ("nfs.proc3.create")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc3.create.return = kernel.function("nfs3_proc_create").return?, module("nfs").function("nfs3_proc_create").return?{
(name) = ("nfs.proc3.create.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.create = kernel.function("nfs4_proc_create")?, module("nfs").function("nfs4_proc_create")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (4)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($dentry->d_name->name))
(filelen) = ($dentry->d_name->len)
(flag) = ($flags)
(mode) = ($sattr->ia_mode)
(name) = ("nfs.proc4.create")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc4.create.return = kernel.function("nfs4_proc_create").return?, module("nfs").function("nfs4_proc_create").return?{
(name) = ("nfs.proc4.create.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.remove = nfs.proc2.remove, nfs.proc3.remove, nfs.proc4.remove{
}
probe nfs.proc.remove.return = nfs.proc2.remove.return, nfs.proc3.remove.return, nfs.proc4.remove.return{
}
probe nfs.proc2.remove = kernel.function("nfs_proc_remove")?, module("nfs").function("nfs_proc_remove")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (2)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($name->name))
(filelen) = ($name->len)
(name) = ("nfs.proc2.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc2.remove.return = kernel.function("nfs_proc_remove").return?, module("nfs").function("nfs_proc_remove").return
probe nfs.proc.open.return = kernel.function("nfs_open").return?, module("nfs").function("nfs_open").return?{
(name) = ("nfs.proc.open.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.release = kernel.function("nfs_release")?, module("nfs").function("nfs_release")?{
(server_ip) = (__i2n_ip_proto($inode, 0))
(prot) = (__i2n_ip_proto($inode, 1))
(version) = (__nfs_version($inode))
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(mode) = ($filp->f_mode)
(name) = ("nfs.proc.release")
(argstr) = (sprintf("%s,%d,%d", filename, flag, mode))
}
probe nfs.proc.release.return = kernel.function("nfs_release").return?, module("nfs").function("nfs_release").return?{
(name) = ("nfs.proc.release.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.handle_exception = kernel.function("nfs4_handle_exception")?, module("nfs").function("nfs4_handle_exception")?{
(version) = (4)
(errorcode) = ($errorcode)
(name) = ("nfs.proc4.handle_exception")
(argstr) = (sprintf("%d", errorcode))
}
probe nfs.proc4.handle_exception.return = kernel.function("nfs4_handle_exception").return?, module("nfs").function("nfs4_handle_exception").return?{
(name) = ("nfs.proc4.handle_exception.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.create = nfs.proc2.create, nfs.proc3.create, nfs.proc4.create{
}
probe nfs.proc.create.return = nfs.proc2.create.return, nfs.proc3.create.return, nfs.proc4.create.return{
}
probe nfs.proc2.create = kernel.function("nfs_proc_create")?, module("nfs").function("nfs_proc_create")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (2)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($dentry->d_name->name))
(filelen) = ($dentry->d_name->len)
(mode) = ($sattr->ia_mode)
(name) = ("nfs.proc2.create")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc2.create.return = kernel.function("nfs_proc_create").return?, module("nfs").function("nfs_proc_create").return?{
(name) = ("nfs.proc2.create.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.create = kernel.function("nfs3_proc_create")?, module("nfs").function("nfs3_proc_create")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (3)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($dentry->d_name->name))
(filelen) = ($dentry->d_name->len)
(flag) = ($flags)
(mode) = ($sattr->ia_mode)
(name) = ("nfs.proc3.create")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc3.create.return = kernel.function("nfs3_proc_create").return?, module("nfs").function("nfs3_proc_create").return?{
(name) = ("nfs.proc3.create.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.create = kernel.function("nfs4_proc_create")?, module("nfs").function("nfs4_proc_create")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (4)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($dentry->d_name->name))
(filelen) = ($dentry->d_name->len)
(flag) = ($flags)
(mode) = ($sattr->ia_mode)
(name) = ("nfs.proc4.create")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc4.create.return = kernel.function("nfs4_proc_create").return?, module("nfs").function("nfs4_proc_create").return?{
(name) = ("nfs.proc4.create.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.remove = nfs.proc2.remove, nfs.proc3.remove, nfs.proc4.remove{
}
probe nfs.proc.remove.return = nfs.proc2.remove.return, nfs.proc3.remove.return, nfs.proc4.remove.return{
}
probe nfs.proc2.remove = kernel.function("nfs_proc_remove")?, module("nfs").function("nfs_proc_remove")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (2)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($name->name))
(filelen) = ($name->len)
(name) = ("nfs.proc2.remove")
(argstr) = (sprintf("%s", filename))
}
?{
(name) = ("nfs.proc2.remove.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.remove = kernel.function("nfs3_proc_remove")?, module("nfs").function("nfs3_proc_remove")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (3)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($name->name))
(filelen) = ($name->len)
(name) = ("nfs.proc3.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc3.remove.return = kernel.function("nfs3_proc_remove").return?, module("nfs").function("nfs3_proc_remove").return?{
(name) = ("nfs.proc3.remove.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.remove = kernel.function("nfs4_proc_remove")?, module("nfs").function("nfs4_proc_remove")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (4)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($name->name))
(filelen) = ($name->len)
(name) = ("nfs.proc4.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc4.remove.return = kernel.function("nfs4_proc_remove").return?, module("nfs").function("nfs4_proc_remove").return?{
(name) = ("nfs.proc4.remove.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.rename = nfs.proc2.rename, nfs.proc3.rename, nfs.proc4.rename{
}
probe nfs.proc.rename.return = nfs.proc2.rename.return, nfs.proc3.rename.return, nfs.proc4.rename.return{
}
probe nfs.proc2.rename = kernel.function("nfs_proc_rename")?, module("nfs").function("nfs_proc_rename")?{
(server_ip) = (__i2n_ip_proto($old_dir, 0))
(prot) = (__i2n_ip_proto($old_dir, 1))
(version) = (2)
(old_fh) = (__getfh_inode($old_dir))
(old_name) = (kernel_string($old_name->name))
(old_filelen) = ($old_name->len)
(new_fh) = (__getfh_inode($new_dir))
(new_name) = (kernel_string($new_name->name))
(new_filelen) = ($new_name->len)
(name) = ("nfs.proc2.remove")
(argstr) = (sprintf("%s,%s", old_name, new_name))
}
probe nfs.proc2.rename.return = kernel.function("nfs_proc_rename").return?, module("nfs").function("nfs_proc_rename").return?{
(name) = ("nfs.proc2.rename.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.rename = kernel.function("nfs3_proc_rename")?, module("nfs").function("nfs3_proc_rename")?{
(server_ip) = (__i2n_ip_proto($old_dir, 0))
(prot) = (__i2n_ip_proto($old_dir, 1))
(version) = (3)
(old_fh) = (__getfh_inode($old_dir))
(old_name) = (kernel_string($old_name->name))
(old_filelen) = ($old_name->len)
(new_fh) = (__getfh_inode($new_dir))
(new_name) = (kernel_string($new_name->name))
(new_filelen) = ($new_name->len)
(name) = ("nfs.proc3.remove")
(argstr) = (sprintf("%s,%s", old_name, new_name))
}
probe nfs.proc3.rename.return = kernel.function("nfs3_proc_rename").return?, module("nfs").function("nfs3_proc_rename").return?{
(name) = ("nfs.proc3.rename.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.rename = kernel.function("nfs4_proc_rename")?, module("nfs").function("nfs4_proc_rename")?{
(server_ip) = (__i2n_ip_proto($old_dir, 0))
(prot) = (__i2n_ip_proto($old_dir, 1))
(version) = (4)
(old_fh) = (__getfh_inode($old_dir))
(old_name) = (kernel_string($old_name->name))
(old_filelen) = ($old_name->len)
(new_fh) = (__getfh_inode($new_dir))
(new_name) = (kernel_string($new_name->name))
(new_filelen) = ($new_name->len)
(name) = ("nfs.proc4.remove")
(argstr) = (sprintf("%s,%s", old_name, new_name))
}
probe nfs.proc4.rename.return = kernel.function("nfs4_proc_rename").return?, module("nfs").function("nfs4_proc_rename").return?{
(name) = ("nfs.proc4.rename.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
function __i2n_ip_proto (dir, index)
%{ /* pure */
int index = (int) (THIS->index);
struct inode * dir = (struct inode *)(THIS->dir);
struct rpc_clnt * clnt = NFS_CLIENT(dir);
struct rpc_xprt * cl_xprt = clnt->cl_xprt;
struct sockaddr_in * addr = (struct sockaddr_in *)&(cl_xprt->addr);
probe nfs.proc2.remove.return = kernel.function("nfs_proc_remove").return?, module("nfs").function("nfs_proc_remove").return?{
(name) = ("nfs.proc2.remove.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.remove = kernel.function("nfs3_proc_remove")?, module("nfs").function("nfs3_proc_remove")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (3)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($name->name))
(filelen) = ($name->len)
(name) = ("nfs.proc3.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc3.remove.return = kernel.function("nfs3_proc_remove").return?, module("nfs").function("nfs3_proc_remove").return?{
(name) = ("nfs.proc3.remove.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.remove = kernel.function("nfs4_proc_remove")?, module("nfs").function("nfs4_proc_remove")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (4)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($name->name))
(filelen) = ($name->len)
(name) = ("nfs.proc4.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc4.remove.return = kernel.function("nfs4_proc_remove").return?, module("nfs").function("nfs4_proc_remove").return?{
(name) = ("nfs.proc4.remove.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.rename = nfs.proc2.rename, nfs.proc3.rename, nfs.proc4.rename{
}
probe nfs.proc.rename.return = nfs.proc2.rename.return, nfs.proc3.rename.return, nfs.proc4.rename.return{
}
probe nfs.proc2.rename = kernel.function("nfs_proc_rename")?, module("nfs").function("nfs_proc_rename")?{
(server_ip) = (__i2n_ip_proto($old_dir, 0))
(prot) = (__i2n_ip_proto($old_dir, 1))
(version) = (2)
(old_fh) = (__getfh_inode($old_dir))
(old_name) = (kernel_string($old_name->name))
(old_filelen) = ($old_name->len)
(new_fh) = (__getfh_inode($new_dir))
(new_name) = (kernel_string($new_name->name))
(new_filelen) = ($new_name->len)
(name) = ("nfs.proc2.remove")
(argstr) = (sprintf("%s,%s", old_name, new_name))
}
probe nfs.proc2.rename.return = kernel.function("nfs_proc_rename").return?, module("nfs").function("nfs_proc_rename").return?{
(name) = ("nfs.proc2.rename.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.rename = kernel.function("nfs3_proc_rename")?, module("nfs").function("nfs3_proc_rename")?{
(server_ip) = (__i2n_ip_proto($old_dir, 0))
(prot) = (__i2n_ip_proto($old_dir, 1))
(version) = (3)
(old_fh) = (__getfh_inode($old_dir))
(old_name) = (kernel_string($old_name->name))
(old_filelen) = ($old_name->len)
(new_fh) = (__getfh_inode($new_dir))
(new_name) = (kernel_string($new_name->name))
(new_filelen) = ($new_name->len)
(name) = ("nfs.proc3.remove")
(argstr) = (sprintf("%s,%s", old_name, new_name))
}
probe nfs.proc3.rename.return = kernel.function("nfs3_proc_rename").return?, module("nfs").function("nfs3_proc_rename").return?{
(name) = ("nfs.proc3.rename.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.rename = kernel.function("nfs4_proc_rename")?, module("nfs").function("nfs4_proc_rename")?{
(server_ip) = (__i2n_ip_proto($old_dir, 0))
(prot) = (__i2n_ip_proto($old_dir, 1))
(version) = (4)
(old_fh) = (__getfh_inode($old_dir))
(old_name) = (kernel_string($old_name->name))
(old_filelen) = ($old_name->len)
(new_fh) = (__getfh_inode($new_dir))
(new_name) = (kernel_string($new_name->name))
(new_filelen) = ($new_name->len)
(name) = ("nfs.proc4.remove")
(argstr) = (sprintf("%s,%s", old_name, new_name))
}
probe nfs.proc4.rename.return = kernel.function("nfs4_proc_rename").return?, module("nfs").function("nfs4_proc_rename").return?{
(name) = ("nfs.proc4.rename.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
function __i2n_ip_proto (dir, index)
%{ /* pure */
int index = (int) (THIS->index);
struct inode * dir = (struct inode *)(THIS->dir);
struct rpc_clnt * clnt = NFS_CLIENT(dir);
struct rpc_xprt * cl_xprt = clnt->cl_xprt;
if(index == 0) {
if (addr->sin_family == AF_INET) {
/* Now consider ipv4 only */
THIS->__retvalue = addr->sin_addr.s_addr;
} else
THIS->__retvalue = 0;
} else
THIS->__retvalue = cl_xprt->prot;
%}
function __nfs_read_data_info (rdata, index)
%{ /* pure */
struct nfs_read_data * rdata = (struct nfs_read_data *)(long)THIS->rdata;
struct rpc_task *task = &(rdata->task);
struct nfs_readres *rres = &(rdata->res);
int index = THIS->index;
switch(index) {
case 0:
THIS->__retvalue = get_ip(task);
break;
case 1:
THIS->__retvalue = get_prot(task);
break;
case 2:
THIS->__retvalue = rres->count;
break;
case 3:
THIS->__retvalue = rres->fattr->valid;
break;
#ifdef CONFIG_NFS_V4
case 4:
THIS->__retvalue = rdata->timestamp;
break;
#endif
default:
THIS->__retvalue = 0;
break;
}
%}
function __nfs_write_data_info (wdata, index)
%{ /* pure */
struct nfs_write_data * wdata = (struct nfs_write_data *)(long)THIS->wdata;
struct rpc_task *task = &(wdata->task);
int index = THIS->index;
switch(index) {
case 0:
THIS->__retvalue = get_ip(task);
break;
case 1:
THIS->__retvalue = get_prot(task);
break;
default:
break;
}
%}
function __nfsv4_bitmask (dir, i)
%{ /* pure */
int i = (int) (THIS->i);
struct inode * dir = (struct inode *)(THIS->dir);
struct nfs_server * server = NFS_SERVER(dir);
THIS->__retvalue = server->attr_bitmask[i];
%}
function __getfh_inode (dir)
%{ /* pure */
struct inode * dir = (struct inode *)(THIS->dir);
struct nfs_fh * fh = NFS_FH(dir);
THIS->__retvalue =(long) fh;
%}
# file /usr/local/share/systemtap/tapset/nfsd.stp
%{
#include <linux/sunrpc/svc.h>
#include <linux/nfsd/nfsd.h>
#include <linux/nfsd/cache.h>
#include <linux/nfsd/xdr.h>
#include <linux/nfsd/xdr3.h>
%}%{
/*Get file handle from struct svc_fh */
char * fh_fmt(struct svc_fh * fhp)
{
struct knfsd_fh *fh = &fhp->fh_handle;
static char buf[80];
sprintf(buf, "%d: %08x %08x %08x %08x %08x %08x",
fh->fh_size,
fh->fh_base.fh_pad[0],
fh->fh_base.fh_pad[1],
fh->fh_base.fh_pad[2],
fh->fh_base.fh_pad[3],
fh->fh_base.fh_pad[4],
fh->fh_base.fh_pad[5]);
return buf;
}
%}probe nfsd.dispatch = kernel.function("nfsd_dispatch")?, module("nfsd").function("nfsd_dispatch")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = ($rqstp->rq_vers)
(xid) = ($rqstp->rq_xid)
(prog) = ($rqstp->rq_prog)
(proc) = ($rqstp->rq_proc)
(name) = ("nfsd.dispatch")
(argstr) = (sprintf("%d,%d", version, proto))
}
probe nfsd.dispatch.return = kernel.function("nfsd_dispatch").return?, module("nfsd").function("nfsd_dispatch").return?{
(name) = ("nfsd.dispatch.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.entries = nfsd.proc.lookup, nfsd.proc.read, nfsd.proc.write, nfsd.proc.commit, nfsd.proc.compound, nfsd.proc.remove, nfsd.proc.rename, nfsd.proc.create{
}
probe nfsd.proc.return = nfsd.proc.lookup.return, nfsd.proc.read.return, nfsd.proc.write.return, nfsd.proc.commit.return, nfsd.proc.compound.return, nfsd.proc.remove.return, nfsd.proc.rename.return, nfsd.proc.create.return{
}
probe nfsd.proc.lookup = nfsd.proc2.lookup, nfsd.proc3.lookup{
}
probe nfsd.proc.lookup.return = nfsd.proc2.lookup.return, nfsd.proc3.lookup.return{
}
probe nfsd.proc2.lookup = kernel.function("nfsd_proc_lookup")?, module("nfsd").function("nfsd_proc_lookup")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 1))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc2.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc2.lookup.return = kernel.function("nfsd_proc_lookup").return?, module("nfsd").function("nfsd_proc_lookup").return?{
(na
struct sockaddr_in * addr = (struct sockaddr_in *)&(cl_xprt->addr);
if(index == 0) {
if (addr->sin_family == AF_INET) {
/* Now consider ipv4 only */
THIS->__retvalue = addr->sin_addr.s_addr;
} else
THIS->__retvalue = 0;
} else
THIS->__retvalue = cl_xprt->prot;
%}
function __nfs_read_data_info (rdata, index)
%{ /* pure */
struct nfs_read_data * rdata = (struct nfs_read_data *)(long)THIS->rdata;
struct rpc_task *task = &(rdata->task);
struct nfs_readres *rres = &(rdata->res);
int index = THIS->index;
switch(index) {
case 0:
THIS->__retvalue = get_ip(task);
break;
case 1:
THIS->__retvalue = get_prot(task);
break;
case 2:
THIS->__retvalue = rres->count;
break;
case 3:
THIS->__retvalue = rres->fattr->valid;
break;
#ifdef CONFIG_NFS_V4
case 4:
THIS->__retvalue = rdata->timestamp;
break;
#endif
default:
THIS->__retvalue = 0;
break;
}
%}
function __nfs_write_data_info (wdata, index)
%{ /* pure */
struct nfs_write_data * wdata = (struct nfs_write_data *)(long)THIS->wdata;
struct rpc_task *task = &(wdata->task);
int index = THIS->index;
switch(index) {
case 0:
THIS->__retvalue = get_ip(task);
break;
case 1:
THIS->__retvalue = get_prot(task);
break;
default:
break;
}
%}
function __nfsv4_bitmask (dir, i)
%{ /* pure */
int i = (int) (THIS->i);
struct inode * dir = (struct inode *)(THIS->dir);
struct nfs_server * server = NFS_SERVER(dir);
THIS->__retvalue = server->attr_bitmask[i];
%}
function __getfh_inode (dir)
%{ /* pure */
struct inode * dir = (struct inode *)(THIS->dir);
struct nfs_fh * fh = NFS_FH(dir);
THIS->__retvalue =(long) fh;
%}
# file /usr/local/share/systemtap/tapset/nfsd.stp
%{
#include <linux/sunrpc/svc.h>
#include <linux/nfsd/nfsd.h>
#include <linux/nfsd/cache.h>
#include <linux/nfsd/xdr.h>
#include <linux/nfsd/xdr3.h>
%}%{
/*Get file handle from struct svc_fh */
char * fh_fmt(struct svc_fh * fhp)
{
struct knfsd_fh *fh = &fhp->fh_handle;
static char buf[80];
sprintf(buf, "%d: %08x %08x %08x %08x %08x %08x",
fh->fh_size,
fh->fh_base.fh_pad[0],
fh->fh_base.fh_pad[1],
fh->fh_base.fh_pad[2],
fh->fh_base.fh_pad[3],
fh->fh_base.fh_pad[4],
fh->fh_base.fh_pad[5]);
return buf;
}
%}probe nfsd.dispatch = kernel.function("nfsd_dispatch")?, module("nfsd").function("nfsd_dispatch")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = ($rqstp->rq_vers)
(xid) = ($rqstp->rq_xid)
(prog) = ($rqstp->rq_prog)
(proc) = ($rqstp->rq_proc)
(name) = ("nfsd.dispatch")
(argstr) = (sprintf("%d,%d", version, proto))
}
probe nfsd.dispatch.return = kernel.function("nfsd_dispatch").return?, module("nfsd").function("nfsd_dispatch").return?{
(name) = ("nfsd.dispatch.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.entries = nfsd.proc.lookup, nfsd.proc.read, nfsd.proc.write, nfsd.proc.commit, nfsd.proc.compound, nfsd.proc.remove, nfsd.proc.rename, nfsd.proc.create{
}
probe nfsd.proc.return = nfsd.proc.lookup.return, nfsd.proc.read.return, nfsd.proc.write.return, nfsd.proc.commit.return, nfsd.proc.compound.return, nfsd.proc.remove.return, nfsd.proc.rename.return, nfsd.proc.create.return{
}
probe nfsd.proc.lookup = nfsd.proc2.lookup, nfsd.proc3.lookup{
}
probe nfsd.proc.lookup.return = nfsd.proc2.lookup.return, nfsd.proc3.lookup.return{
}
probe nfsd.proc2.lookup = kernel.function("nfsd_proc_lookup")?, module("nfsd").function("nfsd_proc_lookup")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 1))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc2.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc2.lookup.return = kernel.function("nfsd_proc_lookup").return?, module("nfsd").function("nfsd_proc_lookup").return?{
me) = ("nfsd.proc2.lookup.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.lookup = kernel.function("nfsd3_proc_lookup")?, module("nfsd").function("nfsd3_proc_lookup")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 1))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc3.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc3.lookup.return = kernel.function("nfsd3_proc_lookup").return?, module("nfsd").function("nfsd3_proc_lookup").return?{
(name) = ("nfsd.proc3.lookup.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.read = nfsd.proc2.read, nfsd.proc3.read{
}
probe nfsd.proc.read.return = nfsd.proc2.read.return, nfsd.proc3.read.return{
}
probe nfsd.proc2.read = kernel.function("nfsd_proc_read")?, module("nfsd").function("nfsd_proc_read")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 3))
(count) = ($argp->count)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(name) = ("nfsd.proc2.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc2.read.return = kernel.function("nfsd_proc_read").return?, module("nfsd").function("nfsd_proc_read").return?{
(name) = ("nfsd.proc2.read.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.read = kernel.function("nfsd3_proc_read")?, module("nfsd").function("nfsd3_proc_read")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 4))
(count) = ($argp->count)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(name) = ("nfsd.proc3.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc3.read.return = kernel.function("nfsd3_proc_read").return?, module("nfsd").function("nfsd3_proc_read").return?{
(name) = ("nfsd.proc3.read.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.write = nfsd.proc2.write, nfsd.proc3.write{
}
probe nfsd.proc.write.return = nfsd.proc2.write.return, nfsd.proc3.write.return{
}
probe nfsd.proc2.write = kernel.function("nfsd_proc_write")?, module("nfsd").function("nfsd_proc_write")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 5))
(count) = ($argp->len)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(name) = ("nfsd.proc2.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc2.write.return = kernel.function("nfsd_proc_write").return?, module("nfsd").function("nfsd_proc_write").return?{
(name) = ("nfsd.proc2.write.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.write = kernel.function("nfsd3_proc_write")?, module("nfsd").function("nfsd3_proc_write")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 6))
(count) = ($argp->count)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(stable) = ($argp->stable)
(name) = ("nfsd.proc3.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc3.write.return = kernel.function("nfsd3_proc_write").return?, module("nfsd").function("nfsd3_proc_write").return?{
(name) = ("nfsd.proc3.write.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.commit = nfsd.proc3.commit{
}
probe nfsd.proc.commit.return = nfsd.proc3.commit.return{
}
probe nfsd.proc3.commit = kernel.function("nfsd3_proc_commit")?, module("nfsd").function("nfsd3_proc_commit")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 7))
(count) = ($argp->count)
(name) = ("nfsd.proc2.lookup.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.lookup = kernel.function("nfsd3_proc_lookup")?, module("nfsd").function("nfsd3_proc_lookup")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 1))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc3.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc3.lookup.return = kernel.function("nfsd3_proc_lookup").return?, module("nfsd").function("nfsd3_proc_lookup").return?{
(name) = ("nfsd.proc3.lookup.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.read = nfsd.proc2.read, nfsd.proc3.read{
}
probe nfsd.proc.read.return = nfsd.proc2.read.return, nfsd.proc3.read.return{
}
probe nfsd.proc2.read = kernel.function("nfsd_proc_read")?, module("nfsd").function("nfsd_proc_read")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 3))
(count) = ($argp->count)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(name) = ("nfsd.proc2.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc2.read.return = kernel.function("nfsd_proc_read").return?, module("nfsd").function("nfsd_proc_read").return?{
(name) = ("nfsd.proc2.read.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.read = kernel.function("nfsd3_proc_read")?, module("nfsd").function("nfsd3_proc_read")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 4))
(count) = ($argp->count)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(name) = ("nfsd.proc3.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc3.read.return = kernel.function("nfsd3_proc_read").return?, module("nfsd").function("nfsd3_proc_read").return?{
(name) = ("nfsd.proc3.read.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.write = nfsd.proc2.write, nfsd.proc3.write{
}
probe nfsd.proc.write.return = nfsd.proc2.write.return, nfsd.proc3.write.return{
}
probe nfsd.proc2.write = kernel.function("nfsd_proc_write")?, module("nfsd").function("nfsd_proc_write")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 5))
(count) = ($argp->len)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(name) = ("nfsd.proc2.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc2.write.return = kernel.function("nfsd_proc_write").return?, module("nfsd").function("nfsd_proc_write").return?{
(name) = ("nfsd.proc2.write.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.write = kernel.function("nfsd3_proc_write")?, module("nfsd").function("nfsd3_proc_write")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 6))
(count) = ($argp->count)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(stable) = ($argp->stable)
(name) = ("nfsd.proc3.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc3.write.return = kernel.function("nfsd3_proc_write").return?, module("nfsd").function("nfsd3_proc_write").return?{
(name) = ("nfsd.proc3.write.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.commit = nfsd.proc3.commit{
}
probe nfsd.proc.commit.return = nfsd.proc3.commit.return{
}
probe nfsd.proc3.commit = kernel.function("nfsd3_proc_commit")?, module("nfsd").function("nfsd3_proc_commit")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 7))
(offset) = ($argp->offset)
(name) = ("nfsd.proc3.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc3.commit.return = kernel.function("nfsd3_proc_commit").return?, module("nfsd").function("nfsd3_proc_commit").return?{
(name) = ("nfsd.proc3.commit.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.create = nfsd.proc2.create, nfsd.proc3.create{
}
probe nfsd.proc.create.return = nfsd.proc2.create.return, nfsd.proc3.create.return{
}
probe nfsd.proc2.create = kernel.function("nfsd_proc_create")?, module("nfsd").function("nfsd_proc_create")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 8))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc2.create")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc2.create.return = kernel.function("nfsd_proc_create").return?, module("nfsd").function("nfsd_proc_create").return?{
(name) = ("nfsd.proc2.create.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.create = kernel.function("nfsd3_proc_create")?, module("nfsd").function("nfsd3_proc_create")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 9))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc3.create")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc3.create.return = kernel.function("nfsd3_proc_create").return?, module("nfsd").function("nfsd3_proc_create").return?{
(name) = ("nfsd.proc3.create.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.remove = nfsd.proc2.remove, nfsd.proc3.remove{
}
probe nfsd.proc.remove.return = nfsd.proc2.remove.return, nfsd.proc3.remove.return{
}
probe nfsd.proc2.remove = kernel.function("nfsd_proc_remove")?, module("nfsd").function("nfsd_proc_remove")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 10))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc2.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc2.remove.return = kernel.function("nfsd_proc_remove").return?, module("nfsd").function("nfsd_proc_remove").return?{
(name) = ("nfsd.proc2.remove.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.remove = kernel.function("nfsd3_proc_remove")?, module("nfsd").function("nfsd3_proc_remove")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 11))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc3.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc3.remove.return = kernel.function("nfsd3_proc_remove").return?, module("nfsd").function("nfsd3_proc_remove").return?{
(name) = ("nfsd.proc3.remove.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.rename = nfsd.proc2.rename, nfsd.proc3.rename{
}
probe nfsd.proc.rename.return = nfsd.proc2.rename.return, nfsd.proc3.rename.return{
}
probe nfsd.proc2.rename = kernel.function("nfsd_proc_rename")?, module("nfsd").function("nfsd_proc_rename")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 12))
(tfh) = (__get_fh($argp, 13))
(filename) = (kernel_string($argp->fname))
(filelen) = ($argp->flen)
(tname) = (kernel_string($argp->tname))
(tlen) = ($argp->tlen)
(name) = ("nfsd.proc2.rename")
(argstr) = (sprintf("%s,%s", filename, tname))
}
probe nfsd.proc2.rename.return = kernel.function("nfsd_proc_rename").return?, module("nfsd").function("nfsd_proc_rename").return?{
(name) = ("nfsd.proc2.rename.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.rename = kernel.function("nfsd3_proc_rename")?, module("nfsd").function("nfsd3_
(count) = ($argp->count)
(offset) = ($argp->offset)
(name) = ("nfsd.proc3.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc3.commit.return = kernel.function("nfsd3_proc_commit").return?, module("nfsd").function("nfsd3_proc_commit").return?{
(name) = ("nfsd.proc3.commit.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.create = nfsd.proc2.create, nfsd.proc3.create{
}
probe nfsd.proc.create.return = nfsd.proc2.create.return, nfsd.proc3.create.return{
}
probe nfsd.proc2.create = kernel.function("nfsd_proc_create")?, module("nfsd").function("nfsd_proc_create")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 8))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc2.create")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc2.create.return = kernel.function("nfsd_proc_create").return?, module("nfsd").function("nfsd_proc_create").return?{
(name) = ("nfsd.proc2.create.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.create = kernel.function("nfsd3_proc_create")?, module("nfsd").function("nfsd3_proc_create")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 9))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc3.create")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc3.create.return = kernel.function("nfsd3_proc_create").return?, module("nfsd").function("nfsd3_proc_create").return?{
(name) = ("nfsd.proc3.create.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.remove = nfsd.proc2.remove, nfsd.proc3.remove{
}
probe nfsd.proc.remove.return = nfsd.proc2.remove.return, nfsd.proc3.remove.return{
}
probe nfsd.proc2.remove = kernel.function("nfsd_proc_remove")?, module("nfsd").function("nfsd_proc_remove")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 10))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc2.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc2.remove.return = kernel.function("nfsd_proc_remove").return?, module("nfsd").function("nfsd_proc_remove").return?{
(name) = ("nfsd.proc2.remove.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.remove = kernel.function("nfsd3_proc_remove")?, module("nfsd").function("nfsd3_proc_remove")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 11))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc3.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc3.remove.return = kernel.function("nfsd3_proc_remove").return?, module("nfsd").function("nfsd3_proc_remove").return?{
(name) = ("nfsd.proc3.remove.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.rename = nfsd.proc2.rename, nfsd.proc3.rename{
}
probe nfsd.proc.rename.return = nfsd.proc2.rename.return, nfsd.proc3.rename.return{
}
probe nfsd.proc2.rename = kernel.function("nfsd_proc_rename")?, module("nfsd").function("nfsd_proc_rename")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 12))
(tfh) = (__get_fh($argp, 13))
(filename) = (kernel_string($argp->fname))
(filelen) = ($argp->flen)
(tname) = (kernel_string($argp->tname))
(tlen) = ($argp->tlen)
(name) = ("nfsd.proc2.rename")
(argstr) = (sprintf("%s,%s", filename, tname))
}
probe nfsd.proc2.rename.return = kernel.function("nfsd_proc_rename").return?, module("nfsd").function("nfsd_proc_rename").return?{
(name) = ("nfsd.proc2.rename.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
proc_rename")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 14))
(tfh) = (__get_fh($argp, 15))
(filename) = (kernel_string($argp->fname))
(filelen) = ($argp->flen)
(tname) = (kernel_string($argp->tname))
(tlen) = ($argp->tlen)
(name) = ("nfsd.proc3.rename")
(argstr) = (sprintf("%s,%s", filename, tname))
}
probe nfsd.proc3.rename.return = kernel.function("nfsd3_proc_rename").return?, module("nfsd").function("nfsd3_proc_rename").return?{
(name) = ("nfsd.proc3.rename.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.compound = nfsd.proc4.compound{
}
probe nfsd.proc.compound.return = nfsd.proc4.compound.return{
}
probe nfsd.proc4.compound = kernel.function("nfsd4_proc_compound")?, module("nfsd").function("nfsd4_proc_compound")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (4)
(num) = ($args->opcnt)
(op) = ($args->ops)
(name) = ("nfsd.proc4.cmpound")
(argstr) = (sprintf("%d", num))
}
probe nfsd.proc4.compound.return = kernel.function("nfsd4_proc_compound").return?, module("nfsd").function("nfsd4_proc_compound").return?{
(name) = ("nfsd.proc4.compound.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.entries = nfsd.open, nfsd.read, nfsd.write, nfsd.lookup, nfsd.commit, nfsd.create, nfsd.createv3, nfsd.unlink, nfsd.rename, nfsd.close{
}
probe nfsd.return = nfsd.open.return, nfsd.read.return, nfsd.write.return, nfsd.lookup.return, nfsd.commit.return, nfsd.create.return, nfsd.createv3.return, nfsd.unlink.return, nfsd.rename.return{
}
probe nfsd.open = kernel.function("nfsd_open")?, module("nfsd").function("nfsd_open")?{
(fh) = (__svc_fh($fhp))
(access) = ($access)
(type) = ($type)
(name) = ("nfsd.open")
(argstr) = (sprintf("%d", access))
}
probe nfsd.open.return = kernel.function("nfsd_open").return?, module("nfsd").function("nfsd_open").return?{
(name) = ("nfsd.open.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.close = kernel.function("nfsd_close")?, module("nfsd").function("nfsd_close")?{
(filename) = (__file_filename($filp))
(name) = ("nfsd.close")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.close.return = kernel.function("nfsd_close").return?, module("nfsd").function("nfsd_close").return?{
}
probe nfsd.read = kernel.function("nfsd_read")?, module("nfsd").function("nfsd_read")?{
(fh) = (__svc_fh($fhp))
(file) = ($file)
(count) = (p_long($count))
(offset) = ($offset)
(vec) = ($vec)
(vlen) = ($vlen)
(name) = ("nfsd.read")
(argstr) = (sprintf("%d,%d", count, offsee))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.read.return = kernel.function("nfsd_read").return?, module("nfsd").function("nfsd_read").return?{
(name) = ("nfsd.read.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.write = kernel.function("nfsd_write")?, module("nfsd").function("nfsd_write")?{
(fh) = (__svc_fh($fhp))
(file) = ($file)
(count) = ($cnt)
(offset) = ($offset)
(vec) = ($vec)
(vlen) = ($vlen)
(name) = ("nfsd.write")
(argstr) = (sprintf("%d,%d", count, offsee))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.write.return = kernel.function("nfsd_write").return?, module("nfsd").function("nfsd_write").return?{
(name) = ("nfsd.write.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.commit = kernel.function("nfsd_commit")?, module("nfsd").function("nfsd_commit")?{
(fh) = (__svc_fh($fhp))
(count) = ($count)
(offset) = ($offset)
(flag) = ($fhp->fh_export->ex_flags)
(name) = ("nfsd.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.commit.return = kernel.function("nfsd_commit").return?, module("nfsd").function("nfsd_commit").return?{
(name) = ("nfsd.commit.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.lookup = kernel.function("nfsd_lookup")?, module("nfsd").function("nfsd_lookup")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($name))
(filelen) = ($len)
(name) = ("nfsd.lookup")
probe nfsd.proc3.rename = kernel.function("nfsd3_proc_rename")?, module("nfsd").function("nfsd3_proc_rename")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 14))
(tfh) = (__get_fh($argp, 15))
(filename) = (kernel_string($argp->fname))
(filelen) = ($argp->flen)
(tname) = (kernel_string($argp->tname))
(tlen) = ($argp->tlen)
(name) = ("nfsd.proc3.rename")
(argstr) = (sprintf("%s,%s", filename, tname))
}
probe nfsd.proc3.rename.return = kernel.function("nfsd3_proc_rename").return?, module("nfsd").function("nfsd3_proc_rename").return?{
(name) = ("nfsd.proc3.rename.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.compound = nfsd.proc4.compound{
}
probe nfsd.proc.compound.return = nfsd.proc4.compound.return{
}
probe nfsd.proc4.compound = kernel.function("nfsd4_proc_compound")?, module("nfsd").function("nfsd4_proc_compound")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (4)
(num) = ($args->opcnt)
(op) = ($args->ops)
(name) = ("nfsd.proc4.cmpound")
(argstr) = (sprintf("%d", num))
}
probe nfsd.proc4.compound.return = kernel.function("nfsd4_proc_compound").return?, module("nfsd").function("nfsd4_proc_compound").return?{
(name) = ("nfsd.proc4.compound.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.entries = nfsd.open, nfsd.read, nfsd.write, nfsd.lookup, nfsd.commit, nfsd.create, nfsd.createv3, nfsd.unlink, nfsd.rename, nfsd.close{
}
probe nfsd.return = nfsd.open.return, nfsd.read.return, nfsd.write.return, nfsd.lookup.return, nfsd.commit.return, nfsd.create.return, nfsd.createv3.return, nfsd.unlink.return, nfsd.rename.return{
}
probe nfsd.open = kernel.function("nfsd_open")?, module("nfsd").function("nfsd_open")?{
(fh) = (__svc_fh($fhp))
(access) = ($access)
(type) = ($type)
(name) = ("nfsd.open")
(argstr) = (sprintf("%d", access))
}
probe nfsd.open.return = kernel.function("nfsd_open").return?, module("nfsd").function("nfsd_open").return?{
(name) = ("nfsd.open.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.close = kernel.function("nfsd_close")?, module("nfsd").function("nfsd_close")?{
(filename) = (__file_filename($filp))
(name) = ("nfsd.close")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.close.return = kernel.function("nfsd_close").return?, module("nfsd").function("nfsd_close").return?{
}
probe nfsd.read = kernel.function("nfsd_read")?, module("nfsd").function("nfsd_read")?{
(fh) = (__svc_fh($fhp))
(file) = ($file)
(count) = (p_long($count))
(offset) = ($offset)
(vec) = ($vec)
(vlen) = ($vlen)
(name) = ("nfsd.read")
(argstr) = (sprintf("%d,%d", count, offsee))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.read.return = kernel.function("nfsd_read").return?, module("nfsd").function("nfsd_read").return?{
(name) = ("nfsd.read.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.write = kernel.function("nfsd_write")?, module("nfsd").function("nfsd_write")?{
(fh) = (__svc_fh($fhp))
(file) = ($file)
(count) = ($cnt)
(offset) = ($offset)
(vec) = ($vec)
(vlen) = ($vlen)
(name) = ("nfsd.write")
(argstr) = (sprintf("%d,%d", count, offsee))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.write.return = kernel.function("nfsd_write").return?, module("nfsd").function("nfsd_write").return?{
(name) = ("nfsd.write.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.commit = kernel.function("nfsd_commit")?, module("nfsd").function("nfsd_commit")?{
(fh) = (__svc_fh($fhp))
(count) = ($count)
(offset) = ($offset)
(flag) = ($fhp->fh_export->ex_flags)
(name) = ("nfsd.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.commit.return = kernel.function("nfsd_commit").return?, module("nfsd").function("nfsd_commit").return?{
(name) = ("nfsd.commit.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.lookup = kernel.function("nfsd_lookup")?, module("nfsd").function("nfsd_lookup")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($name))
(filelen) = ($len)
(name) = ("nfsd.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.lookup.return = kernel.function("nfsd_lookup").return?, module("nfsd").function("nfsd_lookup").return?{
(name) = ("nfsd.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.create = kernel.function("nfsd_create")?, module("nfsd").function("nfsd_create")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(type) = ($type)
(iap_valid) = ($iap->ia_valid)
(iap_mode) = ($iap->ia_mode)
(name) = ("nfsd.create")
(argstr) = (sprintf("%s,%d", filename, type))
}
probe nfsd.create.return = kernel.function("nfsd_create").return?, module("nfsd").function("nfsd_create").return?{
(name) = ("nfsd.create.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.createv3 = kernel.function("nfsd_create_v3")?, module("nfsd").function("nfsd_create_v3")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(iap_valid) = ($iap->ia_valid)
(iap_mode) = ($iap->ia_mode)
(truncp) = ($truncp)
(verfier) = ($verifier)
(createmode) = ($createmode)
(name) = ("nfsd.createv3")
(argstr) = (sprintf("%s,%d", filename, createmode))
}
probe nfsd.createv3.return = kernel.function("nfsd_create_v3").return?, module("nfsd").function("nfsd_create_v3").return?{
(name) = ("nfsd.createv3.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.unlink = kernel.function("nfsd_unlink")?, module("nfsd").function("nfsd_unlink")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(type) = ($type)
(name) = ("nfsd.unlink")
(argstr) = (sprintf("%s,%d", filename, iap))
}
probe nfsd.unlink.return = kernel.function("nfsd_unlink").return?, module("nfsd").function("nfsd_unlink").return?{
(name) = ("nfsd.unlink.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.rename = kernel.function("nfsd_rename")?, module("nfsd").function("nfsd_rename")?{
(fh) = (__svc_fh($ffhp))
(tfh) = (__svc_fh($tfhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(tname) = (kernel_string($tname))
(tlen) = ($tlen)
(name) = ("nfsd.rename")
(argstr) = (sprintf("%s,%s", filename, tname))
}
probe nfsd.rename.return = kernel.function("nfsd_rename").return?, module("nfsd").function("nfsd_rename").return?{
(name) = ("nfsd.rename.return")
(retstr) = (sprintf("%d", $return))
}
function __get_fh (argp, index)
%{ /* pure */
int index = (int)((long)THIS->index);
struct nfsd_diropargs * argp = NULL ;
struct nfsd3_diropargs * argp3 = NULL ;
struct nfsd_readargs * argpr = NULL;
struct nfsd3_readargs * argpr3 = NULL;
struct nfsd_writeargs * argpw = NULL;
struct nfsd3_writeargs * argpw3 = NULL;
struct nfsd3_commitargs * argpc3 = NULL;
struct nfsd_createargs *argpcr = NULL;
struct nfsd3_createargs *argpcr3 = NULL;
struct nfsd_diropargs *argpre = NULL;
struct nfsd3_diropargs *argpre3 = NULL;
struct nfsd_renameargs *argpren = NULL;
struct nfsd3_renameargs *argpren3 = NULL;
struct svc_fh * fhp = NULL;
char * buf;
switch(index)
{
case 1: argp = (struct nfsd_diropargs *)((long)THIS->argp);
fhp = &argp->fh;
break;
case 2: argp3 = (struct nfsd3_diropargs *)((long)THIS->argp);
fhp = &argp3->fh;
break;
case 3: argpr = (struct nfsd_readargs * )((long)THIS->argp);
fhp = &argpr->fh;
break;
case 4: argpr3 = (struct nfsd3_readargs * )((long)THIS->argp);
fhp = &argpr3->fh;
break;
case 5: argpw = (struct nfsd_writeargs * )((long)THIS->argp);
fhp = &argpw->fh;
break;
case 6: argpw3 = (struct nfsd3_writeargs * )((long)THIS->argp);
fhp = &argpw3->fh;
break;
case 7: argpc3 = (struct nfsd3_commitargs * )((long)THIS->argp);
fhp = &argpc3->fh;
break;
case 8: argpcr = (struct nfsd_createargs * )((long)THIS->argp);
fhp = &argpcr->fh;
break;
case 9: argpcr3 = (struct nfsd3_createargs * )((long)THIS->argp);
fhp = &argpcr3->fh;
break;
case 10: argpre = (struct nfsd_diropargs * )((long)THIS->argp);
fhp = &argpre->fh;
break;
case 11: argpre3 = (struct nfsd3_diropargs * )((long)THIS->argp);
fhp = &argpre3-
(argstr) = (sprintf("%s", filename))
}
probe nfsd.lookup.return = kernel.function("nfsd_lookup").return?, module("nfsd").function("nfsd_lookup").return?{
(name) = ("nfsd.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.create = kernel.function("nfsd_create")?, module("nfsd").function("nfsd_create")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(type) = ($type)
(iap_valid) = ($iap->ia_valid)
(iap_mode) = ($iap->ia_mode)
(name) = ("nfsd.create")
(argstr) = (sprintf("%s,%d", filename, type))
}
probe nfsd.create.return = kernel.function("nfsd_create").return?, module("nfsd").function("nfsd_create").return?{
(name) = ("nfsd.create.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.createv3 = kernel.function("nfsd_create_v3")?, module("nfsd").function("nfsd_create_v3")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(iap_valid) = ($iap->ia_valid)
(iap_mode) = ($iap->ia_mode)
(truncp) = ($truncp)
(verfier) = ($verifier)
(createmode) = ($createmode)
(name) = ("nfsd.createv3")
(argstr) = (sprintf("%s,%d", filename, createmode))
}
probe nfsd.createv3.return = kernel.function("nfsd_create_v3").return?, module("nfsd").function("nfsd_create_v3").return?{
(name) = ("nfsd.createv3.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.unlink = kernel.function("nfsd_unlink")?, module("nfsd").function("nfsd_unlink")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(type) = ($type)
(name) = ("nfsd.unlink")
(argstr) = (sprintf("%s,%d", filename, iap))
}
probe nfsd.unlink.return = kernel.function("nfsd_unlink").return?, module("nfsd").function("nfsd_unlink").return?{
(name) = ("nfsd.unlink.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.rename = kernel.function("nfsd_rename")?, module("nfsd").function("nfsd_rename")?{
(fh) = (__svc_fh($ffhp))
(tfh) = (__svc_fh($tfhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(tname) = (kernel_string($tname))
(tlen) = ($tlen)
(name) = ("nfsd.rename")
(argstr) = (sprintf("%s,%s", filename, tname))
}
probe nfsd.rename.return = kernel.function("nfsd_rename").return?, module("nfsd").function("nfsd_rename").return?{
(name) = ("nfsd.rename.return")
(retstr) = (sprintf("%d", $return))
}
function __get_fh (argp, index)
%{ /* pure */
int index = (int)((long)THIS->index);
struct nfsd_diropargs * argp = NULL ;
struct nfsd3_diropargs * argp3 = NULL ;
struct nfsd_readargs * argpr = NULL;
struct nfsd3_readargs * argpr3 = NULL;
struct nfsd_writeargs * argpw = NULL;
struct nfsd3_writeargs * argpw3 = NULL;
struct nfsd3_commitargs * argpc3 = NULL;
struct nfsd_createargs *argpcr = NULL;
struct nfsd3_createargs *argpcr3 = NULL;
struct nfsd_diropargs *argpre = NULL;
struct nfsd3_diropargs *argpre3 = NULL;
struct nfsd_renameargs *argpren = NULL;
struct nfsd3_renameargs *argpren3 = NULL;
struct svc_fh * fhp = NULL;
char * buf;
switch(index)
{
case 1: argp = (struct nfsd_diropargs *)((long)THIS->argp);
fhp = &argp->fh;
break;
case 2: argp3 = (struct nfsd3_diropargs *)((long)THIS->argp);
fhp = &argp3->fh;
break;
case 3: argpr = (struct nfsd_readargs * )((long)THIS->argp);
fhp = &argpr->fh;
break;
case 4: argpr3 = (struct nfsd3_readargs * )((long)THIS->argp);
fhp = &argpr3->fh;
break;
case 5: argpw = (struct nfsd_writeargs * )((long)THIS->argp);
fhp = &argpw->fh;
break;
case 6: argpw3 = (struct nfsd3_writeargs * )((long)THIS->argp);
fhp = &argpw3->fh;
break;
case 7: argpc3 = (struct nfsd3_commitargs * )((long)THIS->argp);
fhp = &argpc3->fh;
break;
case 8: argpcr = (struct nfsd_createargs * )((long)THIS->argp);
fhp = &argpcr->fh;
break;
case 9: argpcr3 = (struct nfsd3_createargs * )((long)THIS->argp);
fhp = &argpcr3->fh;
break;
case 10: argpre = (struct nfsd_diropargs * )((long)THIS->argp);
fhp = &argpre->fh;
break;
case 11: argpre3 = (struct nfsd3_diropargs * )((long)THIS->argp);
>fh;
break;
case 12: argpren = (struct nfsd_renameargs * )((long)THIS->argp);
fhp = &argpren->ffh;
break;
case 13: argpren = (struct nfsd_renameargs * )((long)THIS->argp);
fhp = &argpren->tfh;
break;
case 14: argpren3 = (struct nfsd3_renameargs * )((long)THIS->argp);
fhp = &argpren3->ffh;
break;
case 15: argpren3 = (struct nfsd3_renameargs * )((long)THIS->argp);
fhp = &argpren3->tfh;
break;
}
if(fhp == NULL)
{
_stp_printf("the fhp is NULL");
return;
}
else
{
/* buf = fh_fmt(fhp);
strlcpy (THIS->__retvalue,buf,80);*/
THIS->__retvalue = (long)fhp;
}
%}
function __svc_fh (fh)
%{ /* pure */
struct svc_fh * fhp = (struct svc_fh *) (THIS->fh);
char * buf ;
buf = fh_fmt(fhp);
strlcpy (THIS->__retvalue,buf,80);
%}
function p_long (cnt)
%{ /* pure */
unsigned long * count = (unsigned long *)((long)THIS->cnt);
THIS->__retvalue = *count;
%}
# file /usr/local/share/systemtap/tapset/perfmon.stp
function read_counter (handle)
%{
THIS->__retvalue = _stp_perfmon_read(_pfm_desc, THIS->handle);
%}
# file /usr/local/share/systemtap/tapset/process.stp
probe process.create = kernel.function("copy_process").return{
(task) = ($return)
(new_pid) = (task_pid(task))
if (_IS_ERR(task)) next
}
probe process.start = kernel.function("schedule_tail"){
}
probe process.exec = kernel.function("do_execve"), kernel.function("compat_do_execve")?{
(filename) = (kernel_string($filename))
}
probe process.exec_complete = kernel.function("do_execve").return, kernel.function("compat_do_execve").return?{
(errno) = ($return)
(success) = ((errno) >= (0))
}
probe process.exit = kernel.function("do_exit"){
(code) = ($code)
}
probe process.release = kernel.function("release_task"){
(task) = ($p)
(pid) = ($p->pid)
;
}
function _IS_ERR (ptr)
%{ /* pure */
THIS->__retvalue = IS_ERR((const void *)(long)THIS->ptr);
%}
# file /usr/local/share/systemtap/tapset/queue_stats.stp
global qs_wtime
global qs_wlentime
global qs_wcount
global qs_rtime
global qs_rlentime
global qs_rcount
global qs_stime
global qs_utime
global qs_dcount
function qs_time ()
{
return gettimeofday_us()
}
function _qs_update (qname)
{
(now) = (qs_time())
(then) = (qs_utime[qname])
;
if (!(then)) {
(then) = (now)
}
(delta) = ((now) - (then))
(qs_wtime[qname]) += ((qs_wcount[qname])?(delta):(0))
(qs_wlentime[qname]) += ((qs_wcount[qname]) * (delta))
(qs_rtime[qname]) += ((qs_rcount[qname])?(delta):(0))
(qs_rlentime[qname]) += ((qs_rcount[qname]) * (delta))
(qs_utime[qname]) = (now)
}
function qs_wait (qname)
{
_qs_update(qname)
(qs_wcount[qname])++
}
function qs_run (qname)
{
_qs_update(qname)
if ((qs_wcount[qname]) > (0)) {
(qs_wcount[qname])--
(qs_rcount[qname])++
}
}
function qs_done (qname)
{
_qs_update(qname)
if ((qs_rcount[qname]) > (0)) {
(qs_rcount[qname])--
(qs_dcount[qname])++
}
}
function qsq_start (qname)
{
delete qs_rcount[qname]
delete qs_rtime[qname]
delete qs_rlentime[qname]
delete qs_wcount[qname]
delete qs_wtime[qname]
delete qs_wlentime[qname]
delete qs_dcount[qname]
(qs_stime[qname]) = (qs_time())
}
function qsq_utilization (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_rtime[qname])) / (elapsed)
}
function qsq_blocked (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_wtime[qname])) / (elapsed)
}
function qsq_wait_queue_length (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_wlentime[qname])) / (elapsed)
}
function qsq_service_time (qname, scale)
{
return ((scale) * (qs_rlentime[qname])) / (qs_dcount[qname])
}
function qsq_wait_time (qname, scale)
{
return ((scale) * ((qs_rlentime[qname]) + (qs_wlentime[qname]))) / (qs_dcount[qname])
}
function qsq_throughput (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_dcount[qname])) / (elapsed)
}
function qsq_print (qname)
{
(qwl) = (qsq_wait_queue_length(qname, 100
fhp = &argpre3->fh;
break;
case 12: argpren = (struct nfsd_renameargs * )((long)THIS->argp);
fhp = &argpren->ffh;
break;
case 13: argpren = (struct nfsd_renameargs * )((long)THIS->argp);
fhp = &argpren->tfh;
break;
case 14: argpren3 = (struct nfsd3_renameargs * )((long)THIS->argp);
fhp = &argpren3->ffh;
break;
case 15: argpren3 = (struct nfsd3_renameargs * )((long)THIS->argp);
fhp = &argpren3->tfh;
break;
}
if(fhp == NULL)
{
_stp_printf("the fhp is NULL");
return;
}
else
{
/* buf = fh_fmt(fhp);
strlcpy (THIS->__retvalue,buf,80);*/
THIS->__retvalue = (long)fhp;
}
%}
function __svc_fh (fh)
%{ /* pure */
struct svc_fh * fhp = (struct svc_fh *) (THIS->fh);
char * buf ;
buf = fh_fmt(fhp);
strlcpy (THIS->__retvalue,buf,80);
%}
function p_long (cnt)
%{ /* pure */
unsigned long * count = (unsigned long *)((long)THIS->cnt);
THIS->__retvalue = *count;
%}
# file /usr/local/share/systemtap/tapset/perfmon.stp
function read_counter (handle)
%{
THIS->__retvalue = _stp_perfmon_read(_pfm_desc, THIS->handle);
%}
# file /usr/local/share/systemtap/tapset/process.stp
probe process.create = kernel.function("copy_process").return{
(task) = ($return)
(new_pid) = (task_pid(task))
if (_IS_ERR(task)) next
}
probe process.start = kernel.function("schedule_tail"){
}
probe process.exec = kernel.function("do_execve"), kernel.function("compat_do_execve")?{
(filename) = (kernel_string($filename))
}
probe process.exec_complete = kernel.function("do_execve").return, kernel.function("compat_do_execve").return?{
(errno) = ($return)
(success) = ((errno) >= (0))
}
probe process.exit = kernel.function("do_exit"){
(code) = ($code)
}
probe process.release = kernel.function("release_task"){
(task) = ($p)
(pid) = ($p->pid)
;
}
function _IS_ERR (ptr)
%{ /* pure */
THIS->__retvalue = IS_ERR((const void *)(long)THIS->ptr);
%}
# file /usr/local/share/systemtap/tapset/queue_stats.stp
global qs_wtime
global qs_wlentime
global qs_wcount
global qs_rtime
global qs_rlentime
global qs_rcount
global qs_stime
global qs_utime
global qs_dcount
function qs_time ()
{
return gettimeofday_us()
}
function _qs_update (qname)
{
(now) = (qs_time())
(then) = (qs_utime[qname])
;
if (!(then)) {
(then) = (now)
}
(delta) = ((now) - (then))
(qs_wtime[qname]) += ((qs_wcount[qname])?(delta):(0))
(qs_wlentime[qname]) += ((qs_wcount[qname]) * (delta))
(qs_rtime[qname]) += ((qs_rcount[qname])?(delta):(0))
(qs_rlentime[qname]) += ((qs_rcount[qname]) * (delta))
(qs_utime[qname]) = (now)
}
function qs_wait (qname)
{
_qs_update(qname)
(qs_wcount[qname])++
}
function qs_run (qname)
{
_qs_update(qname)
if ((qs_wcount[qname]) > (0)) {
(qs_wcount[qname])--
(qs_rcount[qname])++
}
}
function qs_done (qname)
{
_qs_update(qname)
if ((qs_rcount[qname]) > (0)) {
(qs_rcount[qname])--
(qs_dcount[qname])++
}
}
function qsq_start (qname)
{
delete qs_rcount[qname]
delete qs_rtime[qname]
delete qs_rlentime[qname]
delete qs_wcount[qname]
delete qs_wtime[qname]
delete qs_wlentime[qname]
delete qs_dcount[qname]
(qs_stime[qname]) = (qs_time())
}
function qsq_utilization (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_rtime[qname])) / (elapsed)
}
function qsq_blocked (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_wtime[qname])) / (elapsed)
}
function qsq_wait_queue_length (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_wlentime[qname])) / (elapsed)
}
function qsq_service_time (qname, scale)
{
return ((scale) * (qs_rlentime[qname])) / (qs_dcount[qname])
}
function qsq_wait_time (qname, scale)
{
return ((scale) * ((qs_rlentime[qname]) + (qs_wlentime[qname]))) / (qs_dcount[qname])
}
function qsq_throughput (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_dcount[qname])) / (elapsed)
}
function qsq_print (qname)
{
0))
printf("%s: %d ops/s, %d.%03d qlen, %d await, %d svctm, %d%% wait, %d%% util\\n", qname, qsq_throughput(qname, 1000000), (qwl) / (1000), (qwl) % (1000), qsq_wait_time(qname, 1), qsq_service_time(qname, 1), qsq_blocked(qname, 100), qsq_utilization(qname, 100))
}
# file /usr/local/share/systemtap/tapset/rpc.stp
%{
#include <linux/kernel.h>
#include <linux/sunrpc/clnt.h>
#include <linux/sunrpc/svc.h>
%}probe sunrpc.entry = sunrpc.clnt.entry, sunrpc.svc.entry, sunrpc.sched.entry{
}
probe sunrpc.return = sunrpc.clnt.return, sunrpc.svc.return, sunrpc.sched.return{
}
probe sunrpc.clnt.entry = sunrpc.clnt.create_client, sunrpc.clnt.clone_client, sunrpc.clnt.bind_new_program, sunrpc.clnt.shutdown_client, sunrpc.clnt.call_sync, sunrpc.clnt.call_async, sunrpc.clnt.restart_call{
}
probe sunrpc.clnt.return = sunrpc.clnt.create_client.return, sunrpc.clnt.clone_client.return, sunrpc.clnt.bind_new_program.return, sunrpc.clnt.shutdown_client.return, sunrpc.clnt.call_sync.return, sunrpc.clnt.call_async.return, sunrpc.clnt.restart_call.return{
}
probe sunrpc.clnt.create_client = kernel.function("rpc_create_client")?, module("sunrpc").function("rpc_create_client")?{
(servername) = (kernel_string($servname))
(progname) = (kernel_string($info->name))
(prog) = ($info->number)
(vers) = (vers_from_prog($info, $version))
(authflavor) = ($authflavor)
(prot) = ($xprt->prot)
(port) = ($xprt->port)
(name) = ("sunrpc.clnt.create_client")
(argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor))
}
probe sunrpc.clnt.create_client.return = kernel.function("rpc_create_client").return?, module("sunrpc").function("rpc_create_client").return?{
(name) = ("sunrpc.clnt.create_client")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.clone_client = kernel.function("rpc_clone_client")?, module("sunrpc").function("rpc_clone_client")?{
(servername) = (kernel_string($clnt->cl_server))
(progname) = (kernel_string($clnt->cl_protname))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(authflavor) = ($clnt->cl_auth->au_flavor)
(name) = ("sunrpc.clnt.clone_client")
(argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor))
}
probe sunrpc.clnt.clone_client.return = kernel.function("rpc_clone_client").return?, module("sunrpc").function("rpc_clone_client").return?{
(name) = ("sunrpc.clnt.clone_client")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.shutdown_client = kernel.function("rpc_shutdown_client")?, module("sunrpc").function("rpc_shutdown_client")?{
(servername) = (kernel_string($clnt->cl_server))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(authflavor) = ($clnt->cl_auth->au_flavor)
(clones) = (clones_from_clnt($clnt))
(tasks) = (tasks_from_clnt($clnt))
(netreconn) = ($clnt->cl_stats->netreconn)
(rpccnt) = ($clnt->cl_stats->rpccnt)
(om_ops) = ($clnt->cl_metrics->om_ops)
(om_ntrans) = ($clnt->cl_metrics->om_ntrans)
(om_bytes_sent) = ($clnt->cl_metrics->om_bytes_sent)
(om_bytes_recv) = ($clnt->cl_metrics->om_bytes_recv)
(om_queue) = ($clnt->cl_metrics->om_queue)
(om_rtt) = ($clnt->cl_metrics->om_rtt)
(om_execute) = ($clnt->cl_metrics->om_execute)
(name) = ("sunrpc.clnt.shutdown_client")
(argstr) = (sprintf("%s %s %d %d %d %d %d %d", servername, progname, vers, prot, port, authflavor, clones, tasks))
}
probe sunrpc.clnt.shutdown_client.return = kernel.function("rpc_shutdown_client").return?, module("sunrpc").function("rpc_shutdown_client").return?{
(name) = ("sunrpc.clnt.shutdown_client")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.bind_new_program = kernel.function("rpc_bind_new_program")?, module("sunrpc").function("rpc_bind_new_program")?{
(servername) = (kernel_string($old->cl_server))
(old_progname) = (kernel_string($old->cl_protname))
(old_prog) = (prog_from_clnt($old))
(old_vers) = (vers_from_clnt($old))
(progn
(qwl) = (qsq_wait_queue_length(qname, 1000))
printf("%s: %d ops/s, %d.%03d qlen, %d await, %d svctm, %d%% wait, %d%% util\\n", qname, qsq_throughput(qname, 1000000), (qwl) / (1000), (qwl) % (1000), qsq_wait_time(qname, 1), qsq_service_time(qname, 1), qsq_blocked(qname, 100), qsq_utilization(qname, 100))
}
# file /usr/local/share/systemtap/tapset/rpc.stp
%{
#include <linux/kernel.h>
#include <linux/sunrpc/clnt.h>
#include <linux/sunrpc/svc.h>
%}probe sunrpc.entry = sunrpc.clnt.entry, sunrpc.svc.entry, sunrpc.sched.entry{
}
probe sunrpc.return = sunrpc.clnt.return, sunrpc.svc.return, sunrpc.sched.return{
}
probe sunrpc.clnt.entry = sunrpc.clnt.create_client, sunrpc.clnt.clone_client, sunrpc.clnt.bind_new_program, sunrpc.clnt.shutdown_client, sunrpc.clnt.call_sync, sunrpc.clnt.call_async, sunrpc.clnt.restart_call{
}
probe sunrpc.clnt.return = sunrpc.clnt.create_client.return, sunrpc.clnt.clone_client.return, sunrpc.clnt.bind_new_program.return, sunrpc.clnt.shutdown_client.return, sunrpc.clnt.call_sync.return, sunrpc.clnt.call_async.return, sunrpc.clnt.restart_call.return{
}
probe sunrpc.clnt.create_client = kernel.function("rpc_create_client")?, module("sunrpc").function("rpc_create_client")?{
(servername) = (kernel_string($servname))
(progname) = (kernel_string($info->name))
(prog) = ($info->number)
(vers) = (vers_from_prog($info, $version))
(authflavor) = ($authflavor)
(prot) = ($xprt->prot)
(port) = ($xprt->port)
(name) = ("sunrpc.clnt.create_client")
(argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor))
}
probe sunrpc.clnt.create_client.return = kernel.function("rpc_create_client").return?, module("sunrpc").function("rpc_create_client").return?{
(name) = ("sunrpc.clnt.create_client")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.clone_client = kernel.function("rpc_clone_client")?, module("sunrpc").function("rpc_clone_client")?{
(servername) = (kernel_string($clnt->cl_server))
(progname) = (kernel_string($clnt->cl_protname))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(authflavor) = ($clnt->cl_auth->au_flavor)
(name) = ("sunrpc.clnt.clone_client")
(argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor))
}
probe sunrpc.clnt.clone_client.return = kernel.function("rpc_clone_client").return?, module("sunrpc").function("rpc_clone_client").return?{
(name) = ("sunrpc.clnt.clone_client")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.shutdown_client = kernel.function("rpc_shutdown_client")?, module("sunrpc").function("rpc_shutdown_client")?{
(servername) = (kernel_string($clnt->cl_server))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(authflavor) = ($clnt->cl_auth->au_flavor)
(clones) = (clones_from_clnt($clnt))
(tasks) = (tasks_from_clnt($clnt))
(netreconn) = ($clnt->cl_stats->netreconn)
(rpccnt) = ($clnt->cl_stats->rpccnt)
(om_ops) = ($clnt->cl_metrics->om_ops)
(om_ntrans) = ($clnt->cl_metrics->om_ntrans)
(om_bytes_sent) = ($clnt->cl_metrics->om_bytes_sent)
(om_bytes_recv) = ($clnt->cl_metrics->om_bytes_recv)
(om_queue) = ($clnt->cl_metrics->om_queue)
(om_rtt) = ($clnt->cl_metrics->om_rtt)
(om_execute) = ($clnt->cl_metrics->om_execute)
(name) = ("sunrpc.clnt.shutdown_client")
(argstr) = (sprintf("%s %s %d %d %d %d %d %d", servername, progname, vers, prot, port, authflavor, clones, tasks))
}
probe sunrpc.clnt.shutdown_client.return = kernel.function("rpc_shutdown_client").return?, module("sunrpc").function("rpc_shutdown_client").return?{
(name) = ("sunrpc.clnt.shutdown_client")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.bind_new_program = kernel.function("rpc_bind_new_program")?, module("sunrpc").function("rpc_bind_new_program")?{
(servername) = (kernel_string($old->cl_server))
(old_progname) = (kernel_string($old->cl_protname))
(old_prog) = (prog_from_clnt($old))
(old_vers) = (vers_from_clnt($old))
ame) = (kernel_string($program->name))
(prog) = ($program->number)
(vers) = (vers_from_prog($program, $vers))
(name) = ("sunrpc.clnt.bind_new_program")
(argstr) = (sprintf("%s %s %d %s %d", servername, old_progname, old_vers, progname, vers))
}
probe sunrpc.clnt.bind_new_program.return = kernel.function("rpc_bind_new_program").return?, module("sunrpc").function("rpc_bind_new_program").return?{
(name) = ("sunrpc.clnt.bind_new_program")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.call_sync = kernel.function("rpc_call_sync")?, module("sunrpc").function("rpc_call_sync")?{
(servername) = (kernel_string($clnt->cl_server))
(progname) = (kernel_string($clnt->cl_protname))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(xid) = (xid_from_clnt($clnt))
(dead) = ($clnt->cl_dead)
(procname) = (($msg->rpc_proc->p_name)?(kernel_string($msg->rpc_proc->p_name)):("NULL"))
(proc) = (proc_from_msg($msg))
(flags) = ($flags)
(name) = ("sunrpc.clnt.call_sync")
(argstr) = (sprintf("%s %d %s %d %s 0x%x", servername, xid, progname, vers, procname, flags))
}
probe sunrpc.clnt.call_sync.return = kernel.function("rpc_call_sync").return?, module("sunrpc").function("rpc_call_sync").return?{
(name) = ("sunrpc.clnt.call_sync")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.call_async = kernel.function("rpc_call_async")?, module("sunrpc").function("rpc_call_async")?{
(servername) = (kernel_string($clnt->cl_server))
(progname) = (kernel_string($clnt->cl_protname))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(xid) = (xid_from_clnt($clnt))
(dead) = ($clnt->cl_dead)
(proc) = (proc_from_msg($msg))
(procname) = (($msg->rpc_proc->p_name)?(kernel_string($msg->rpc_proc->p_name)):("NULL"))
(flags) = ($flags)
(name) = ("sunrpc.clnt.call_async")
(argstr) = (sprintf("%s %d %s %d %s 0x%x", servername, xid, progname, vers, procname, flags))
}
probe sunrpc.clnt.call_async.return = kernel.function("rpc_call_async").return?, module("sunrpc").function("rpc_call_async").return?{
(name) = ("sunrpc.clnt.call_async")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.restart_call = kernel.function("rpc_restart_call")?, module("sunrpc").function("rpc_restart_call")?{
(servername) = (kernel_string($task->tk_client->cl_server))
(prog) = (prog_from_clnt($task->tk_client))
(xid) = ($task->tk_rqstp->rq_xid)
(tk_pid) = ($task->tk_pid)
(tk_flags) = ($task->tk_flags)
(tk_priority) = ($task->tk_priority)
(tk_runstate) = ($task->tk_runstate)
(name) = ("sunrpc.clnt.restart_call")
(argstr) = (sprintf("%s %d %d %d %d %d %d", servername, prog, xid, tk_pid, tk_flags, tk_priority, tk_runstate))
}
probe sunrpc.clnt.restart_call.return = kernel.function("rpc_restart_call").return?, module("sunrpc").function("rpc_restart_call").return?{
(name) = ("sunrpc.clnt.restart_call")
}
probe sunrpc.svc.entry = sunrpc.svc.register, sunrpc.svc.create, sunrpc.svc.destroy, sunrpc.svc.process, sunrpc.svc.authorise, sunrpc.svc.recv, sunrpc.svc.send, sunrpc.svc.drop{
}
probe sunrpc.svc.return = sunrpc.svc.register.return, sunrpc.svc.create.return, sunrpc.svc.destroy.return, sunrpc.svc.process.return, sunrpc.svc.authorise.return, sunrpc.svc.recv.return, sunrpc.svc.send.return, sunrpc.svc.drop.return{
}
probe sunrpc.svc.register = kernel.function("svc_register")?, module("sunrpc").function("svc_register")?{
(sv_name) = (kernel_string($serv->sv_name))
(progname) = (kernel_string($serv->sv_program->pg_name))
(prog) = ($serv->sv_program->pg_prog)
(prot) = ($proto)
(port) = ($port)
(name) = ("sunrpc.svc.register")
(argstr) = (sprintf("%s %s %d %d", sv_name, progname, prot, port))
}
probe sunrpc.svc.register.return = kernel.function("svc_register").return?, module("sunrpc").function("svc_register").return?{
(name) = ("sunrpc.svc.register")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.create = kernel.function("svc_create")?, module("sunrpc").function("sv
(progname) = (kernel_string($program->name))
(prog) = ($program->number)
(vers) = (vers_from_prog($program, $vers))
(name) = ("sunrpc.clnt.bind_new_program")
(argstr) = (sprintf("%s %s %d %s %d", servername, old_progname, old_vers, progname, vers))
}
probe sunrpc.clnt.bind_new_program.return = kernel.function("rpc_bind_new_program").return?, module("sunrpc").function("rpc_bind_new_program").return?{
(name) = ("sunrpc.clnt.bind_new_program")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.call_sync = kernel.function("rpc_call_sync")?, module("sunrpc").function("rpc_call_sync")?{
(servername) = (kernel_string($clnt->cl_server))
(progname) = (kernel_string($clnt->cl_protname))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(xid) = (xid_from_clnt($clnt))
(dead) = ($clnt->cl_dead)
(procname) = (($msg->rpc_proc->p_name)?(kernel_string($msg->rpc_proc->p_name)):("NULL"))
(proc) = (proc_from_msg($msg))
(flags) = ($flags)
(name) = ("sunrpc.clnt.call_sync")
(argstr) = (sprintf("%s %d %s %d %s 0x%x", servername, xid, progname, vers, procname, flags))
}
probe sunrpc.clnt.call_sync.return = kernel.function("rpc_call_sync").return?, module("sunrpc").function("rpc_call_sync").return?{
(name) = ("sunrpc.clnt.call_sync")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.call_async = kernel.function("rpc_call_async")?, module("sunrpc").function("rpc_call_async")?{
(servername) = (kernel_string($clnt->cl_server))
(progname) = (kernel_string($clnt->cl_protname))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(xid) = (xid_from_clnt($clnt))
(dead) = ($clnt->cl_dead)
(proc) = (proc_from_msg($msg))
(procname) = (($msg->rpc_proc->p_name)?(kernel_string($msg->rpc_proc->p_name)):("NULL"))
(flags) = ($flags)
(name) = ("sunrpc.clnt.call_async")
(argstr) = (sprintf("%s %d %s %d %s 0x%x", servername, xid, progname, vers, procname, flags))
}
probe sunrpc.clnt.call_async.return = kernel.function("rpc_call_async").return?, module("sunrpc").function("rpc_call_async").return?{
(name) = ("sunrpc.clnt.call_async")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.restart_call = kernel.function("rpc_restart_call")?, module("sunrpc").function("rpc_restart_call")?{
(servername) = (kernel_string($task->tk_client->cl_server))
(prog) = (prog_from_clnt($task->tk_client))
(xid) = ($task->tk_rqstp->rq_xid)
(tk_pid) = ($task->tk_pid)
(tk_flags) = ($task->tk_flags)
(tk_priority) = ($task->tk_priority)
(tk_runstate) = ($task->tk_runstate)
(name) = ("sunrpc.clnt.restart_call")
(argstr) = (sprintf("%s %d %d %d %d %d %d", servername, prog, xid, tk_pid, tk_flags, tk_priority, tk_runstate))
}
probe sunrpc.clnt.restart_call.return = kernel.function("rpc_restart_call").return?, module("sunrpc").function("rpc_restart_call").return?{
(name) = ("sunrpc.clnt.restart_call")
}
probe sunrpc.svc.entry = sunrpc.svc.register, sunrpc.svc.create, sunrpc.svc.destroy, sunrpc.svc.process, sunrpc.svc.authorise, sunrpc.svc.recv, sunrpc.svc.send, sunrpc.svc.drop{
}
probe sunrpc.svc.return = sunrpc.svc.register.return, sunrpc.svc.create.return, sunrpc.svc.destroy.return, sunrpc.svc.process.return, sunrpc.svc.authorise.return, sunrpc.svc.recv.return, sunrpc.svc.send.return, sunrpc.svc.drop.return{
}
probe sunrpc.svc.register = kernel.function("svc_register")?, module("sunrpc").function("svc_register")?{
(sv_name) = (kernel_string($serv->sv_name))
(progname) = (kernel_string($serv->sv_program->pg_name))
(prog) = ($serv->sv_program->pg_prog)
(prot) = ($proto)
(port) = ($port)
(name) = ("sunrpc.svc.register")
(argstr) = (sprintf("%s %s %d %d", sv_name, progname, prot, port))
}
probe sunrpc.svc.register.return = kernel.function("svc_register").return?, module("sunrpc").function("svc_register").return?{
(name) = ("sunrpc.svc.register")
(retstr) = (returnstr($return))
}
c_create")?{
(progname) = (kernel_string($prog->pg_name))
(prog) = ($prog->pg_prog)
(pg_nvers) = ($prog->pg_nvers)
(bufsize) = ($bufsize)
(name) = ("sunrpc.svc.create")
(argstr) = (sprintf("%s %d %d %d", progname, prog, pg_nvers, bufsize))
}
probe sunrpc.svc.create.return = kernel.function("svc_create").return?, module("sunrpc").function("svc_create").return?{
(name) = ("sunrpc.svc.create")
}
probe sunrpc.svc.destroy = kernel.function("svc_destroy")?, module("sunrpc").function("svc_destroy")?{
(sv_name) = (kernel_string($serv->sv_name))
(sv_progname) = (kernel_string($serv->sv_program->pg_name))
(sv_prog) = ($serv->sv_program->pg_prog)
(sv_nrthreads) = ($serv->sv_nrthreads)
(netcnt) = ($serv->sv_stats->netcnt)
(netcpconn) = ($serv->sv_stats->nettcpconn)
(rpccnt) = ($serv->sv_stats->rpccnt)
(rpcbadfmt) = ($serv->sv_stats->rpcbadfmt)
(rpcbadauth) = ($serv->sv_stats->rpcbadauth)
(name) = ("sunrpc.svc.destroy")
(argstr) = (sprintf("%s %d %d", sv_name, sv_prog, sv_nrthreads))
}
probe sunrpc.svc.destroy.return = kernel.function("svc_destroy").return?, module("sunrpc").function("svc_destroy").return?{
(name) = ("sunrpc.svc.destroy")
}
probe sunrpc.svc.process = kernel.function("svc_process")?, module("sunrpc").function("svc_process")?{
(sv_name) = (kernel_string($serv->sv_name))
(sv_prog) = ($serv->sv_program->pg_prog)
(sv_nrthreads) = ($serv->sv_nrthreads)
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.process")
(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, sv_prog, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc))
}
probe sunrpc.svc.process.return = kernel.function("svc_process").return?, module("sunrpc").function("svc_process").return?{
(name) = ("sunrpc.svc.process")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.authorise = kernel.function("svc_authorise")?, module("sunrpc").function("svc_authorise")?{
(sv_name) = (kernel_string($rqstp->rq_server->sv_name))
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.authorise")
(argstr) = (sprintf("%d %d %d %d %d %d", peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))
}
probe sunrpc.svc.authorise.return = kernel.function("svc_authorise").return?, module("sunrpc").function("svc_authorise").return?{
(name) = ("sunrpc.svc.authorise")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.recv = kernel.function("svc_recv")?, module("sunrpc").function("svc_recv")?{
(sv_name) = (kernel_string($serv->sv_name))
(sv_prog) = ($serv->sv_program->pg_prog)
(sv_nrthreads) = ($serv->sv_nrthreads)
(timeout) = ($timeout)
(name) = ("sunrpc.svc.recv")
(argstr) = (sprintf("%s %d", sv_name, timeout))
}
probe sunrpc.svc.recv.return = kernel.function("svc_recv").return?, module("sunrpc").function("svc_recv").return?{
(name) = ("sunrpc.svc.recv")
(argstr) = (returnstr($return))
}
probe sunrpc.svc.send = kernel.function("svc_send")?, module("sunrpc").function("svc_send")?{
(sv_name) = (kernel_string($rqstp->rq_server->sv_name))
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.send")
(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))
}
probe sunrpc.svc.send.return = kernel.function("svc_send").return?, module("sunrpc").function("svc_send").return?{
(name) = ("sunrpc.svc.send")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.drop = kernel.function("svc_drop")?, module("sunrpc").function("svc_drop")?{
(sv_name) = (kernel_string($rqstp->rq_server->sv_name))
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) =
probe sunrpc.svc.create = kernel.function("svc_create")?, module("sunrpc").function("svc_create")?{
(progname) = (kernel_string($prog->pg_name))
(prog) = ($prog->pg_prog)
(pg_nvers) = ($prog->pg_nvers)
(bufsize) = ($bufsize)
(name) = ("sunrpc.svc.create")
(argstr) = (sprintf("%s %d %d %d", progname, prog, pg_nvers, bufsize))
}
probe sunrpc.svc.create.return = kernel.function("svc_create").return?, module("sunrpc").function("svc_create").return?{
(name) = ("sunrpc.svc.create")
}
probe sunrpc.svc.destroy = kernel.function("svc_destroy")?, module("sunrpc").function("svc_destroy")?{
(sv_name) = (kernel_string($serv->sv_name))
(sv_progname) = (kernel_string($serv->sv_program->pg_name))
(sv_prog) = ($serv->sv_program->pg_prog)
(sv_nrthreads) = ($serv->sv_nrthreads)
(netcnt) = ($serv->sv_stats->netcnt)
(netcpconn) = ($serv->sv_stats->nettcpconn)
(rpccnt) = ($serv->sv_stats->rpccnt)
(rpcbadfmt) = ($serv->sv_stats->rpcbadfmt)
(rpcbadauth) = ($serv->sv_stats->rpcbadauth)
(name) = ("sunrpc.svc.destroy")
(argstr) = (sprintf("%s %d %d", sv_name, sv_prog, sv_nrthreads))
}
probe sunrpc.svc.destroy.return = kernel.function("svc_destroy").return?, module("sunrpc").function("svc_destroy").return?{
(name) = ("sunrpc.svc.destroy")
}
probe sunrpc.svc.process = kernel.function("svc_process")?, module("sunrpc").function("svc_process")?{
(sv_name) = (kernel_string($serv->sv_name))
(sv_prog) = ($serv->sv_program->pg_prog)
(sv_nrthreads) = ($serv->sv_nrthreads)
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.process")
(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, sv_prog, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc))
}
probe sunrpc.svc.process.return = kernel.function("svc_process").return?, module("sunrpc").function("svc_process").return?{
(name) = ("sunrpc.svc.process")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.authorise = kernel.function("svc_authorise")?, module("sunrpc").function("svc_authorise")?{
(sv_name) = (kernel_string($rqstp->rq_server->sv_name))
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.authorise")
(argstr) = (sprintf("%d %d %d %d %d %d", peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))
}
probe sunrpc.svc.authorise.return = kernel.function("svc_authorise").return?, module("sunrpc").function("svc_authorise").return?{
(name) = ("sunrpc.svc.authorise")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.recv = kernel.function("svc_recv")?, module("sunrpc").function("svc_recv")?{
(sv_name) = (kernel_string($serv->sv_name))
(sv_prog) = ($serv->sv_program->pg_prog)
(sv_nrthreads) = ($serv->sv_nrthreads)
(timeout) = ($timeout)
(name) = ("sunrpc.svc.recv")
(argstr) = (sprintf("%s %d", sv_name, timeout))
}
probe sunrpc.svc.recv.return = kernel.function("svc_recv").return?, module("sunrpc").function("svc_recv").return?{
(name) = ("sunrpc.svc.recv")
(argstr) = (returnstr($return))
}
probe sunrpc.svc.send = kernel.function("svc_send")?, module("sunrpc").function("svc_send")?{
(sv_name) = (kernel_string($rqstp->rq_server->sv_name))
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.send")
(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))
}
probe sunrpc.svc.send.return = kernel.function("svc_send").return?, module("sunrpc").function("svc_send").return?{
(name) = ("sunrpc.svc.send")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.drop = kernel.function("svc_drop")?, module("sunrpc").function("svc_drop")?{
(sv_name) = (kernel_string($rqstp->rq_server->sv_name))
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.drop")
(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))
}
probe sunrpc.svc.drop.return = kernel.function("svc_drop").return?, module("sunrpc").function("svc_drop").return?{
(name) = ("sunrpc.svc.drop")
}
probe sunrpc.sched.entry = sunrpc.sched.new_task, sunrpc.sched.release_task, sunrpc.sched.execute, sunrpc.sched.delay{
}
probe sunrpc.sched.return = sunrpc.sched.new_task.return, sunrpc.sched.release_task.return, sunrpc.sched.execute.return, sunrpc.sched.delay.return{
}
probe sunrpc.sched.new_task = kernel.function("rpc_new_task")?, module("sunrpc").function("rpc_new_task")?{
(xid) = (xid_from_clnt($clnt))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(flags) = ($flags)
(name) = ("sunrpc.sched.new_task")
(argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, flags))
}
probe sunrpc.sched.new_task.return = kernel.function("rpc_new_task").return?, module("sunrpc").function("rpc_new_task").return?{
(name) = ("sunrpc.sched.new_task")
}
probe sunrpc.sched.release_task = kernel.function("rpc_release_task")?, module("sunrpc").function("rpc_release_task")?{
(xid) = (xid_from_clnt($task->tk_client))
(prog) = (prog_from_clnt($task->tk_client))
(vers) = (vers_from_clnt($task->tk_client))
(prot) = (prot_from_clnt($task->tk_client))
(tk_flags) = ($task->tk_flags)
(name) = ("sunrpc.sched.release_task")
(argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, tk_flags))
}
probe sunrpc.sched.release_task.return = kernel.function("rpc_release_task").return?, module("sunrpc").function("rpc_release_task").return?{
(name) = ("sunrpc.sched.release_task")
}
probe sunrpc.sched.execute = kernel.function("__rpc_execute")?, module("sunrpc").function("__rpc_execute")?{
(xid) = (xid_from_clnt($task->tk_client))
(prog) = (prog_from_clnt($task->tk_client))
(vers) = (vers_from_clnt($task->tk_client))
(prot) = (prot_from_clnt($task->tk_client))
(tk_pid) = ($task->tk_pid)
(tk_flags) = ($task->tk_flags)
(name) = ("sunrpc.sched.execute")
(argstr) = (sprintf("%d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags))
}
probe sunrpc.sched.execute.return = kernel.function("__rpc_execute").return?, module("sunrpc").function("__rpc_execute").return?{
(name) = ("sunrpc.sched.execute")
(retstr) = (returnstr($return))
}
probe sunrpc.sched.delay = kernel.function("rpc_delay")?, module("sunrpc").function("rpc_delay")?{
(xid) = (xid_from_clnt($task->tk_client))
(prog) = (prog_from_clnt($task->tk_client))
(vers) = (vers_from_clnt($task->tk_client))
(prot) = (prot_from_clnt($task->tk_client))
(tk_pid) = ($task->tk_pid)
(tk_flags) = ($task->tk_flags)
(delay) = ($delay)
(name) = ("sunrpc.clnt.delay")
(argstr) = (sprintf("%d %d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags, delay))
}
probe sunrpc.sched.delay.return = kernel.function("rpc_delay").return?, module("sunrpc").function("rpc_delay").return?{
(name) = ("sunrpc.clnt.delay")
}
function xid_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
THIS->__retvalue = clnt ? clnt->cl_xprt->xid : 0;
%}
function prog_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
THIS->__retvalue = clnt ? clnt->cl_prog : 0;
#else
THIS->__retvalue = clnt ? clnt->cl_pmap->pm_prog : 0;
#endif
%}
function vers_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
THIS->__retvalue = clnt ? clnt->cl_vers : 0;
#else
THIS->__retvalue = clnt ? clnt->cl_pmap->pm_vers : 0;
#endif
%}
function prot_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
THIS->__retvalue = clnt ? clnt->cl_xprt->prot : 0;
%}
function port_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
if(clnt != NULL) {
struct sockaddr_i
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.drop")
(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))
}
probe sunrpc.svc.drop.return = kernel.function("svc_drop").return?, module("sunrpc").function("svc_drop").return?{
(name) = ("sunrpc.svc.drop")
}
probe sunrpc.sched.entry = sunrpc.sched.new_task, sunrpc.sched.release_task, sunrpc.sched.execute, sunrpc.sched.delay{
}
probe sunrpc.sched.return = sunrpc.sched.new_task.return, sunrpc.sched.release_task.return, sunrpc.sched.execute.return, sunrpc.sched.delay.return{
}
probe sunrpc.sched.new_task = kernel.function("rpc_new_task")?, module("sunrpc").function("rpc_new_task")?{
(xid) = (xid_from_clnt($clnt))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(flags) = ($flags)
(name) = ("sunrpc.sched.new_task")
(argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, flags))
}
probe sunrpc.sched.new_task.return = kernel.function("rpc_new_task").return?, module("sunrpc").function("rpc_new_task").return?{
(name) = ("sunrpc.sched.new_task")
}
probe sunrpc.sched.release_task = kernel.function("rpc_release_task")?, module("sunrpc").function("rpc_release_task")?{
(xid) = (xid_from_clnt($task->tk_client))
(prog) = (prog_from_clnt($task->tk_client))
(vers) = (vers_from_clnt($task->tk_client))
(prot) = (prot_from_clnt($task->tk_client))
(tk_flags) = ($task->tk_flags)
(name) = ("sunrpc.sched.release_task")
(argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, tk_flags))
}
probe sunrpc.sched.release_task.return = kernel.function("rpc_release_task").return?, module("sunrpc").function("rpc_release_task").return?{
(name) = ("sunrpc.sched.release_task")
}
probe sunrpc.sched.execute = kernel.function("__rpc_execute")?, module("sunrpc").function("__rpc_execute")?{
(xid) = (xid_from_clnt($task->tk_client))
(prog) = (prog_from_clnt($task->tk_client))
(vers) = (vers_from_clnt($task->tk_client))
(prot) = (prot_from_clnt($task->tk_client))
(tk_pid) = ($task->tk_pid)
(tk_flags) = ($task->tk_flags)
(name) = ("sunrpc.sched.execute")
(argstr) = (sprintf("%d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags))
}
probe sunrpc.sched.execute.return = kernel.function("__rpc_execute").return?, module("sunrpc").function("__rpc_execute").return?{
(name) = ("sunrpc.sched.execute")
(retstr) = (returnstr($return))
}
probe sunrpc.sched.delay = kernel.function("rpc_delay")?, module("sunrpc").function("rpc_delay")?{
(xid) = (xid_from_clnt($task->tk_client))
(prog) = (prog_from_clnt($task->tk_client))
(vers) = (vers_from_clnt($task->tk_client))
(prot) = (prot_from_clnt($task->tk_client))
(tk_pid) = ($task->tk_pid)
(tk_flags) = ($task->tk_flags)
(delay) = ($delay)
(name) = ("sunrpc.clnt.delay")
(argstr) = (sprintf("%d %d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags, delay))
}
probe sunrpc.sched.delay.return = kernel.function("rpc_delay").return?, module("sunrpc").function("rpc_delay").return?{
(name) = ("sunrpc.clnt.delay")
}
function xid_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
THIS->__retvalue = clnt ? clnt->cl_xprt->xid : 0;
%}
function prog_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
THIS->__retvalue = clnt ? clnt->cl_prog : 0;
#else
THIS->__retvalue = clnt ? clnt->cl_pmap->pm_prog : 0;
#endif
%}
function vers_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
THIS->__retvalue = clnt ? clnt->cl_vers : 0;
#else
THIS->__retvalue = clnt ? clnt->cl_pmap->pm_vers : 0;
#endif
%}
function prot_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
THIS->__retvalue = clnt ? clnt->cl_xprt->prot : 0;
%}
function port_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
if(clnt != NULL) {
n *addr = (struct sockaddr_in *)&(clnt->cl_xprt->addr);
if(addr != NULL && addr->sin_family == AF_INET) {
/* Now consider ipv4 only */
THIS->__retvalue = ntohs(addr->sin_port);
return;
}
}
THIS->__retvalue = 0;
%}
function clones_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
THIS->__retvalue = atomic_read(&clnt->cl_count);
%}
function tasks_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
THIS->__retvalue = atomic_read(&clnt->cl_users);
%}
function proc_from_msg (msg)
%{
struct rpc_message *msg = (struct rpc_message *)(long)THIS->msg;
THIS->__retvalue = msg ? msg->rpc_proc->p_proc : 0;
%}
function vers_from_prog (program, vers)
%{
struct rpc_program *program = (struct rpc_program *)(long)THIS->program;
if (!program || THIS->vers >= program->nrvers || !program->version[THIS->vers])
THIS->__retvalue = 0;
else
THIS->__retvalue = program->version[THIS->vers]->number;
%}
function addr_from_rqst (rqstp)
%{
struct svc_rqst *rqstp = (struct svc_rqst *)(long)THIS->rqstp;
THIS->__retvalue = rqstp ? rqstp->rq_addr.sin_addr.s_addr : 0;
%}
# file /usr/local/share/systemtap/tapset/scheduler.stp
probe scheduler.cpu_off = kernel.inline("context_switch"){
(task_prev) = ($prev)
(task_next) = ($next)
(idle) = (__is_idle())
}
probe scheduler.cpu_on = kernel.inline("finish_task_switch"){
(task_prev) = ($prev)
(idle) = (__is_idle())
}
probe scheduler.tick = kernel.function("scheduler_tick"){
(idle) = (__is_idle())
}
probe scheduler.migrate = kernel.inline("pull_task"){
(task) = ($p)
(cpu_from) = ($p->thread_info->cpu)
(cpu_to) = ($this_cpu)
}
probe scheduler.balance = kernel.inline("idle_balance")?{
}
probe scheduler.ctxswitch = kernel.function("__switch_to"){
(prev_pid) = ($prev_p->pid)
(next_pid) = ($next_p->pid)
(prev_task) = ($prev_p)
(next_task) = ($next_p)
(prevtsk_state) = ($prev_p->state)
}
function __is_idle ()
%{
/* Ways to detect idle-ness:
* - pid() or tid() == 0
* - current == current->parent
* - current == this_rq()->idle
* - others?
*/
THIS->__retvalue = (current->pid == 0);
%}
# file /usr/local/share/systemtap/tapset/scsi.stp
%{
#include <linux/types.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include <linux/timer.h>
#include <linux/blkdev.h>
%}probe scsi.ioentry = module("*").function("scsi_prep_fn@drivers/scsi/scsi_lib.c"){
if (($req->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($req->rq_disk->major)
(disk_minor) = ($req->rq_disk->first_minor)
}
(device_state) = (get_devstate_from_req($q))
(req_addr) = ($req)
}
probe scsi.iodispatching = module("*").function("scsi_dispatch_cmd@drivers/scsi/scsi.c"){
(host_no) = ($cmd->device->host->host_no)
(channel) = ($cmd->device->channel)
(lun) = ($cmd->device->lun)
(dev_id) = ($cmd->device->id)
(device_state) = ($cmd->device->sdev_state)
(data_direction) = ($cmd->sc_data_direction)
(request_buffer) = ($cmd->request_buffer)
(request_bufflen) = ($cmd->request_bufflen)
(req_addr) = ($cmd->request)
}
probe scsi.iodone = module("*").function("scsi_done@drivers/scsi/scsi.c"){
(host_no) = ($cmd->device->host->host_no)
(channel) = ($cmd->device->channel)
(lun) = ($cmd->device->lun)
(dev_id) = ($cmd->device->id)
(device_state) = ($cmd->device->sdev_state)
(data_direction) = ($cmd->sc_data_direction)
(req_addr) = ($cmd->request)
(scsi_timer_pending) = (scsi_timer_pending($cmd))
;
}
probe scsi.iocompleted = module("*").function("scsi_io_completion@drivers/scsi/scsi_lib.c"){
(host_no) = ($cmd->device->host->host_no)
(channel) = ($cmd->device->channel)
(lun) = ($cmd->device->lun)
(dev_id) = ($cmd->device->id)
(device_state) = ($cmd->device->sdev_state)
(data_direction) = ($cmd->sc_data_direction)
(req_addr) = ($cmd->request)
(goodbytes) = ($good_bytes)
}
function scsi_timer_pending (var)
%{
struct scsi_cmnd *cmd = (struct scsi_cmnd *)((long)THI
struct sockaddr_in *addr = (struct sockaddr_in *)&(clnt->cl_xprt->addr);
if(addr != NULL && addr->sin_family == AF_INET) {
/* Now consider ipv4 only */
THIS->__retvalue = ntohs(addr->sin_port);
return;
}
}
THIS->__retvalue = 0;
%}
function clones_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
THIS->__retvalue = atomic_read(&clnt->cl_count);
%}
function tasks_from_clnt (clnt)
%{
struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
THIS->__retvalue = atomic_read(&clnt->cl_users);
%}
function proc_from_msg (msg)
%{
struct rpc_message *msg = (struct rpc_message *)(long)THIS->msg;
THIS->__retvalue = msg ? msg->rpc_proc->p_proc : 0;
%}
function vers_from_prog (program, vers)
%{
struct rpc_program *program = (struct rpc_program *)(long)THIS->program;
if (!program || THIS->vers >= program->nrvers || !program->version[THIS->vers])
THIS->__retvalue = 0;
else
THIS->__retvalue = program->version[THIS->vers]->number;
%}
function addr_from_rqst (rqstp)
%{
struct svc_rqst *rqstp = (struct svc_rqst *)(long)THIS->rqstp;
THIS->__retvalue = rqstp ? rqstp->rq_addr.sin_addr.s_addr : 0;
%}
# file /usr/local/share/systemtap/tapset/scheduler.stp
probe scheduler.cpu_off = kernel.inline("context_switch"){
(task_prev) = ($prev)
(task_next) = ($next)
(idle) = (__is_idle())
}
probe scheduler.cpu_on = kernel.inline("finish_task_switch"){
(task_prev) = ($prev)
(idle) = (__is_idle())
}
probe scheduler.tick = kernel.function("scheduler_tick"){
(idle) = (__is_idle())
}
probe scheduler.migrate = kernel.inline("pull_task"){
(task) = ($p)
(cpu_from) = ($p->thread_info->cpu)
(cpu_to) = ($this_cpu)
}
probe scheduler.balance = kernel.inline("idle_balance")?{
}
probe scheduler.ctxswitch = kernel.function("__switch_to"){
(prev_pid) = ($prev_p->pid)
(next_pid) = ($next_p->pid)
(prev_task) = ($prev_p)
(next_task) = ($next_p)
(prevtsk_state) = ($prev_p->state)
}
function __is_idle ()
%{
/* Ways to detect idle-ness:
* - pid() or tid() == 0
* - current == current->parent
* - current == this_rq()->idle
* - others?
*/
THIS->__retvalue = (current->pid == 0);
%}
# file /usr/local/share/systemtap/tapset/scsi.stp
%{
#include <linux/types.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include <linux/timer.h>
#include <linux/blkdev.h>
%}probe scsi.ioentry = module("*").function("scsi_prep_fn@drivers/scsi/scsi_lib.c"){
if (($req->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($req->rq_disk->major)
(disk_minor) = ($req->rq_disk->first_minor)
}
(device_state) = (get_devstate_from_req($q))
(req_addr) = ($req)
}
probe scsi.iodispatching = module("*").function("scsi_dispatch_cmd@drivers/scsi/scsi.c"){
(host_no) = ($cmd->device->host->host_no)
(channel) = ($cmd->device->channel)
(lun) = ($cmd->device->lun)
(dev_id) = ($cmd->device->id)
(device_state) = ($cmd->device->sdev_state)
(data_direction) = ($cmd->sc_data_direction)
(request_buffer) = ($cmd->request_buffer)
(request_bufflen) = ($cmd->request_bufflen)
(req_addr) = ($cmd->request)
}
probe scsi.iodone = module("*").function("scsi_done@drivers/scsi/scsi.c"){
(host_no) = ($cmd->device->host->host_no)
(channel) = ($cmd->device->channel)
(lun) = ($cmd->device->lun)
(dev_id) = ($cmd->device->id)
(device_state) = ($cmd->device->sdev_state)
(data_direction) = ($cmd->sc_data_direction)
(req_addr) = ($cmd->request)
(scsi_timer_pending) = (scsi_timer_pending($cmd))
;
}
probe scsi.iocompleted = module("*").function("scsi_io_completion@drivers/scsi/scsi_lib.c"){
(host_no) = ($cmd->device->host->host_no)
(channel) = ($cmd->device->channel)
(lun) = ($cmd->device->lun)
(dev_id) = ($cmd->device->id)
(device_state) = ($cmd->device->sdev_state)
(data_direction) = ($cmd->sc_data_direction)
(req_addr) = ($cmd->request)
(goodbytes) = ($good_bytes)
}
function scsi_timer_pending (var)
%{
S->var);
THIS->__retvalue = timer_pending(&cmd->eh_timeout);
%}
function get_devstate_from_req (var)
%{
struct request_queue *q = (struct request_queue *)((long)THIS->var);
struct scsi_device *sdev = (struct scsi_device *)(q->queuedata);
THIS->__retvalue = sdev->sdev_state;
%}
# file /usr/local/share/systemtap/tapset/signal.stp
probe signal.send = _signal.send.*{
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
(sig_pid) = (task_pid(task))
(pid_name) = (task_execname(task))
if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL")
else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)")
else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO")
}
probe _signal.send.part1 = kernel.function("__group_send_sig_info"){
(name) = ("__group_send_sig_info")
(task) = ($p)
(sinfo) = ($info)
(shared) = (1)
(send2queue) = (0)
}
probe _signal.send.part2 = kernel.function("send_group_sigqueue"){
(name) = ("send_group_sigqueue")
(task) = ($p)
(sinfo) = ($q->info)
(shared) = (1)
(send2queue) = (1)
}
probe _signal.send.part3 = kernel.function("send_sigqueue"){
(name) = ("send_sigqueue")
(task) = ($p)
(sinfo) = ($q->info)
(shared) = (0)
(send2queue) = (1)
}
probe _signal.send.part4 = kernel.function("specific_send_sig_info"){
(name) = ("specific_send_sig_info")
(task) = ($t)
(sinfo) = ($info)
(shared) = (0)
(send2queue) = (0)
}
probe signal.send.return = _signal.send.*.return{
(retstr) = (returnstr(1))
}
probe _signal.send.part1.return = kernel.function("__group_send_sig_info").return{
(name) = ("__group_send_sig_info")
(shared) = (1)
(send2queue) = (0)
}
probe _signal.send.part4.return = kernel.function("specific_send_sig_info").return{
(name) = ("specific_send_sig_info")
(shared) = (0)
(send2queue) = (0)
}
probe _signal.send.part2.return = kernel.function("send_group_sigqueue").return{
(name) = ("send_group_sigqueue")
(shared) = (1)
(send2queue) = (1)
}
probe _signal.send.part3.return = kernel.function("send_sigqueue").return{
(name) = ("send_sigqueueu")
(shared) = (0)
(send2queue) = (1)
}
probe signal.checkperm = kernel.function("check_kill_permission"){
(sig) = ($sig)
(task) = ($t)
(sinfo) = ($info)
(name) = ("signal.checkperm")
(sig_name) = (_signal_name($sig))
(sig_pid) = (task_pid(task))
(pid_name) = (task_execname(task))
if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL")
else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)")
else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO")
}
probe signal.checkperm.return = kernel.function("check_kill_permission").return{
(name) = ("signal.checkperm")
(retstr) = (returnstr(1))
}
probe signal.wakeup = kernel.function("signal_wake_up"){
(sig_pid) = ($t->pid)
(pid_name) = (kernel_string($t->comm))
(resume) = ($resume)
if ((resume) == (0)) {
(state_mask) = ("TASK_INTERRUPTIBLE")
}
else {
(state_mask) = ("TASK_INTERRUPTIBLE | TASK_STOPPED | TASK_TRACED")
}
}
probe signal.check_ignored = kernel.function("sig_ignored"){
(sig_pid) = ($t->pid)
(pid_name) = (kernel_string($t->comm))
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
}
probe signal.check_ignored.return = kernel.function("sig_ignored").return{
(name) = ("sig_ignored")
(retstr) = (returnstr(1))
}
probe signal.force_segv = kernel.function("force_sigsegv"){
(sig_pid) = ($p->pid)
(pid_name) = (kernel_string($p->comm))
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
}
probe signal.force_segv.return = kernel.function("force_sigsegv").return{
(name) = ("force_sigsegv")
(retstr) = (returnstr(1))
}
probe signal.syskill = syscall.kill{
(sig_name) = (_signal_name($sig))
}
probe signal.syskill.return = syscall.kill.return{
}
probe signal.systgkill = syscall.tgkill{
(sig_name) = (_signal_name($sig))
}
probe signal.systgkill.return = syscall.tgkill.return{
}
probe signal.systkill = syscall.tkill{
(sig_name) = (_signal_name($sig))
}
probe signal.systkill.return = syscall.tkill.re
struct scsi_cmnd *cmd = (struct scsi_cmnd *)((long)THIS->var);
THIS->__retvalue = timer_pending(&cmd->eh_timeout);
%}
function get_devstate_from_req (var)
%{
struct request_queue *q = (struct request_queue *)((long)THIS->var);
struct scsi_device *sdev = (struct scsi_device *)(q->queuedata);
THIS->__retvalue = sdev->sdev_state;
%}
# file /usr/local/share/systemtap/tapset/signal.stp
probe signal.send = _signal.send.*{
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
(sig_pid) = (task_pid(task))
(pid_name) = (task_execname(task))
if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL")
else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)")
else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO")
}
probe _signal.send.part1 = kernel.function("__group_send_sig_info"){
(name) = ("__group_send_sig_info")
(task) = ($p)
(sinfo) = ($info)
(shared) = (1)
(send2queue) = (0)
}
probe _signal.send.part2 = kernel.function("send_group_sigqueue"){
(name) = ("send_group_sigqueue")
(task) = ($p)
(sinfo) = ($q->info)
(shared) = (1)
(send2queue) = (1)
}
probe _signal.send.part3 = kernel.function("send_sigqueue"){
(name) = ("send_sigqueue")
(task) = ($p)
(sinfo) = ($q->info)
(shared) = (0)
(send2queue) = (1)
}
probe _signal.send.part4 = kernel.function("specific_send_sig_info"){
(name) = ("specific_send_sig_info")
(task) = ($t)
(sinfo) = ($info)
(shared) = (0)
(send2queue) = (0)
}
probe signal.send.return = _signal.send.*.return{
(retstr) = (returnstr(1))
}
probe _signal.send.part1.return = kernel.function("__group_send_sig_info").return{
(name) = ("__group_send_sig_info")
(shared) = (1)
(send2queue) = (0)
}
probe _signal.send.part4.return = kernel.function("specific_send_sig_info").return{
(name) = ("specific_send_sig_info")
(shared) = (0)
(send2queue) = (0)
}
probe _signal.send.part2.return = kernel.function("send_group_sigqueue").return{
(name) = ("send_group_sigqueue")
(shared) = (1)
(send2queue) = (1)
}
probe _signal.send.part3.return = kernel.function("send_sigqueue").return{
(name) = ("send_sigqueueu")
(shared) = (0)
(send2queue) = (1)
}
probe signal.checkperm = kernel.function("check_kill_permission"){
(sig) = ($sig)
(task) = ($t)
(sinfo) = ($info)
(name) = ("signal.checkperm")
(sig_name) = (_signal_name($sig))
(sig_pid) = (task_pid(task))
(pid_name) = (task_execname(task))
if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL")
else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)")
else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO")
}
probe signal.checkperm.return = kernel.function("check_kill_permission").return{
(name) = ("signal.checkperm")
(retstr) = (returnstr(1))
}
probe signal.wakeup = kernel.function("signal_wake_up"){
(sig_pid) = ($t->pid)
(pid_name) = (kernel_string($t->comm))
(resume) = ($resume)
if ((resume) == (0)) {
(state_mask) = ("TASK_INTERRUPTIBLE")
}
else {
(state_mask) = ("TASK_INTERRUPTIBLE | TASK_STOPPED | TASK_TRACED")
}
}
probe signal.check_ignored = kernel.function("sig_ignored"){
(sig_pid) = ($t->pid)
(pid_name) = (kernel_string($t->comm))
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
}
probe signal.check_ignored.return = kernel.function("sig_ignored").return{
(name) = ("sig_ignored")
(retstr) = (returnstr(1))
}
probe signal.force_segv = kernel.function("force_sigsegv"){
(sig_pid) = ($p->pid)
(pid_name) = (kernel_string($p->comm))
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
}
probe signal.force_segv.return = kernel.function("force_sigsegv").return{
(name) = ("force_sigsegv")
(retstr) = (returnstr(1))
}
probe signal.syskill = syscall.kill{
(sig_name) = (_signal_name($sig))
}
probe signal.syskill.return = syscall.kill.return{
}
probe signal.systgkill = syscall.tgkill{
(sig_name) = (_signal_name($sig))
}
probe signal.systgkill.return = syscall.tgkill.return{
}
probe signal.systkill = syscall.tkill{
(sig_name) = (_signal_name($sig))
}
turn{
}
probe signal.send_sig_queue = kernel.function("send_sigqueue"), kernel.function("send_group_sigqueue"){
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
(sig_pid) = ($p->pid)
(pid_name) = (kernel_string($p->comm))
(sigqueue_addr) = ($q)
}
probe signal.send_sig_queue.return = kernel.function("send_sigqueue").return, kernel.function("send_group_sigqueue").return{
(retstr) = (returnstr(1))
}
probe signal.pending = kernel.function("do_sigpending"){
(sigset_add) = ($set)
(sigset_size) = ($sigsetsize)
}
probe signal.pending.return = kernel.function("do_sigpending").return{
(retstr) = (returnstr(1))
}
probe signal.handle = kernel.function("handle_signal")?, kernel.inline("handle_signal")?{
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
(sinfo) = ($info)
(sig_code) = ($info->si_code)
(ka_addr) = ($ka)
(oldset_addr) = ($oldset)
(regs) = ($regs)
if (((sinfo) == (0)) && ((sig_code) <= (0))) (sig_mode) = ("User Mode Signal")
else if ((sinfo) >= (1)) (sig_mode) = ("Kernel Mode Signal")
}
probe signal.handle.return = kernel.function("handle_signal").return?{
(retstr) = (returnstr(1))
}
probe signal.do_action = kernel.function("do_sigaction"){
(sig) = ($sig)
(sigact_addr) = ($act)
(oldsigact_addr) = ($oact)
if ((sigact_table) != (0)) {
(sa_handler) = ($act->sa->sa_handler)
(sa_mask) = ($act->sa->sa_mask)
}
}
probe signal.do_action.return = kernel.function("do_sigaction").return{
(retstr) = (returnstr(1))
}
probe signal.procmask = kernel.function("sigprocmask"){
(how) = ($how)
(sigset_addr) = ($set)
(oldsigset_addr) = ($oldset)
(sigset) = (get_sigset($set))
}
probe signal.procmask.return = kernel.function("sigprocmask").return{
(retstr) = (returnstr(1))
}
probe signal.flush = kernel.function("flush_signals"){
(task) = ($t)
(sig_pid) = ($t->pid)
(pid_name) = (kernel_string($t->comm))
}
function get_sigset (sigset)
%{ /* pure */
sigset_t *sigset = (sigset_t *)((long)THIS->sigset);
if(_NSIG_BPW == 64)
THIS->__retvalue = deref(sizeof(sigset_t), sigset);
else if(_NSIG_BPW == 32)
THIS->__retvalue = deref(sizeof(int), &(sigset->sig[0])) |
((u_int64_t)deref(sizeof(int), &(sigset->sig[1])))<<32;
if(0) {
deref_fault:
CONTEXT->last_error = "pointer deref error";
}
%}
# file /usr/local/share/systemtap/tapset/string.stp
function strlen (s)
%{ /* pure */
THIS->__retvalue = strlen(THIS->s);
%}
function substr (str, start, length)
%{ /* pure */
int length = THIS->length + 1 > MAXSTRINGLEN ? MAXSTRINGLEN : THIS->length + 1;
if (THIS->start < 0 || length < 1) {
return;
} else
strlcpy(THIS->__retvalue, THIS->str + THIS->start, length);
%}
function isinstr (s1, s2)
%{ /* pure */
if (strstr(THIS->s1,THIS->s2) != NULL)
THIS->__retvalue = 1;
else
THIS->__retvalue = 0;
%}
function text_str (input)
%{ /* pure */
_stp_text_str(THIS->__retvalue, THIS->input, 0, 0, 0);
%}
function text_strn (input, len, quoted)
%{ /* pure */
_stp_text_str(THIS->__retvalue, THIS->input, THIS->len, THIS->quoted, 0);
%}
# file /usr/local/share/systemtap/tapset/syscalls.stp
probe syscall.accept = kernel.function("sys_accept"){
(name) = ("accept")
(sockfd) = ($fd)
(addr_uaddr) = ($upeer_sockaddr)
(addrlen_uaddr) = ($upeer_addrlen)
(argstr) = (sprintf("%d, %p, %p", $fd, $upeer_sockaddr, $upeer_addrlen))
}
probe syscall.accept.return = kernel.function("sys_accept").return{
(name) = ("accept")
(retstr) = (returnstr(1))
}
probe syscall.access = kernel.function("sys_access"){
(name) = ("access")
(pathname) = (user_string($filename))
(mode) = ($mode)
(mode_str) = (_access_mode_str($mode))
(argstr) = (sprintf("%s, %s", user_string_quoted($filename), mode_str))
}
probe syscall.access.return = kernel.function("sys_access").return{
(name) = ("access")
(retstr) = (returnstr(1))
}
probe syscall.acct = kernel.function("sys_acct")?{
(name) = ("acct")
(filename) = (user_string($name))
(argstr) = (user_string_quoted($name))
}
probe syscall.acct.return = kernel.function("sys_acct").return?
probe signal.systkill.return = syscall.tkill.return{
}
probe signal.send_sig_queue = kernel.function("send_sigqueue"), kernel.function("send_group_sigqueue"){
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
(sig_pid) = ($p->pid)
(pid_name) = (kernel_string($p->comm))
(sigqueue_addr) = ($q)
}
probe signal.send_sig_queue.return = kernel.function("send_sigqueue").return, kernel.function("send_group_sigqueue").return{
(retstr) = (returnstr(1))
}
probe signal.pending = kernel.function("do_sigpending"){
(sigset_add) = ($set)
(sigset_size) = ($sigsetsize)
}
probe signal.pending.return = kernel.function("do_sigpending").return{
(retstr) = (returnstr(1))
}
probe signal.handle = kernel.function("handle_signal")?, kernel.inline("handle_signal")?{
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
(sinfo) = ($info)
(sig_code) = ($info->si_code)
(ka_addr) = ($ka)
(oldset_addr) = ($oldset)
(regs) = ($regs)
if (((sinfo) == (0)) && ((sig_code) <= (0))) (sig_mode) = ("User Mode Signal")
else if ((sinfo) >= (1)) (sig_mode) = ("Kernel Mode Signal")
}
probe signal.handle.return = kernel.function("handle_signal").return?{
(retstr) = (returnstr(1))
}
probe signal.do_action = kernel.function("do_sigaction"){
(sig) = ($sig)
(sigact_addr) = ($act)
(oldsigact_addr) = ($oact)
if ((sigact_table) != (0)) {
(sa_handler) = ($act->sa->sa_handler)
(sa_mask) = ($act->sa->sa_mask)
}
}
probe signal.do_action.return = kernel.function("do_sigaction").return{
(retstr) = (returnstr(1))
}
probe signal.procmask = kernel.function("sigprocmask"){
(how) = ($how)
(sigset_addr) = ($set)
(oldsigset_addr) = ($oldset)
(sigset) = (get_sigset($set))
}
probe signal.procmask.return = kernel.function("sigprocmask").return{
(retstr) = (returnstr(1))
}
probe signal.flush = kernel.function("flush_signals"){
(task) = ($t)
(sig_pid) = ($t->pid)
(pid_name) = (kernel_string($t->comm))
}
function get_sigset (sigset)
%{ /* pure */
sigset_t *sigset = (sigset_t *)((long)THIS->sigset);
if(_NSIG_BPW == 64)
THIS->__retvalue = deref(sizeof(sigset_t), sigset);
else if(_NSIG_BPW == 32)
THIS->__retvalue = deref(sizeof(int), &(sigset->sig[0])) |
((u_int64_t)deref(sizeof(int), &(sigset->sig[1])))<<32;
if(0) {
deref_fault:
CONTEXT->last_error = "pointer deref error";
}
%}
# file /usr/local/share/systemtap/tapset/string.stp
function strlen (s)
%{ /* pure */
THIS->__retvalue = strlen(THIS->s);
%}
function substr (str, start, length)
%{ /* pure */
int length = THIS->length + 1 > MAXSTRINGLEN ? MAXSTRINGLEN : THIS->length + 1;
if (THIS->start < 0 || length < 1) {
return;
} else
strlcpy(THIS->__retvalue, THIS->str + THIS->start, length);
%}
function isinstr (s1, s2)
%{ /* pure */
if (strstr(THIS->s1,THIS->s2) != NULL)
THIS->__retvalue = 1;
else
THIS->__retvalue = 0;
%}
function text_str (input)
%{ /* pure */
_stp_text_str(THIS->__retvalue, THIS->input, 0, 0, 0);
%}
function text_strn (input, len, quoted)
%{ /* pure */
_stp_text_str(THIS->__retvalue, THIS->input, THIS->len, THIS->quoted, 0);
%}
# file /usr/local/share/systemtap/tapset/syscalls.stp
probe syscall.accept = kernel.function("sys_accept"){
(name) = ("accept")
(sockfd) = ($fd)
(addr_uaddr) = ($upeer_sockaddr)
(addrlen_uaddr) = ($upeer_addrlen)
(argstr) = (sprintf("%d, %p, %p", $fd, $upeer_sockaddr, $upeer_addrlen))
}
probe syscall.accept.return = kernel.function("sys_accept").return{
(name) = ("accept")
(retstr) = (returnstr(1))
}
probe syscall.access = kernel.function("sys_access"){
(name) = ("access")
(pathname) = (user_string($filename))
(mode) = ($mode)
(mode_str) = (_access_mode_str($mode))
(argstr) = (sprintf("%s, %s", user_string_quoted($filename), mode_str))
}
probe syscall.access.return = kernel.function("sys_access").return{
(name) = ("access")
(retstr) = (returnstr(1))
}
probe syscall.acct = kernel.function("sys_acct")?{
(name) = ("acct")
(filename) = (user_string($name))
(argstr) = (user_string_quoted($name))
}
{
(name) = ("acct")
(retstr) = (returnstr(1))
}
probe syscall.add_key = kernel.function("sys_add_key")?{
(name) = ("add_key")
(type_uaddr) = ($_type)
(description_auddr) = ($_description)
(payload_uaddr) = ($_payload)
(plen) = ($plen)
(ringid) = ($ringid)
(argstr) = (sprintf("%s, %s, %s, %d, %d", user_string_quoted($_type), user_string_quoted($_description), text_strn(user_string($_payload), 20, 1), $plen, $ringid))
}
probe syscall.add_key.return = kernel.function("sys_add_key").return?{
(name) = ("add_key")
(retstr) = (returnstr(1))
}
probe syscall.adjtimex = kernel.function("sys_adjtimex"){
(name) = ("adjtimex")
(buf_uaddr) = ($txc_p)
(buf_modes_str) = (_adjtx_mode_str(buf_modes))
(argstr) = (buf_modes_str)
}
probe syscall.adjtimex.return = kernel.function("sys_adjtimex").return{
(name) = ("adjtimex")
(retstr) = (returnstr(1))
}
probe syscall.alarm = kernel.function("sys_alarm"){
(name) = ("alarm")
(seconds) = ($seconds)
(argstr) = (sprint($seconds))
}
probe syscall.alarm.return = kernel.function("sys_alarm").return{
(name) = ("alarm")
(retstr) = (returnstr(1))
}
probe syscall.bdflush = kernel.function("sys_bdflush"){
(name) = ("bdflush")
(func) = ($func)
(data) = ($data)
(argstr) = (sprintf("%d %p", func, data))
}
probe syscall.bdflush.return = kernel.function("sys_bdflush").return{
(name) = ("bdflush")
(retstr) = (returnstr(1))
}
probe syscall.bind = kernel.function("sys_bind"){
(name) = ("bind")
(sockfd) = ($fd)
(my_addr_uaddr) = ($umyaddr)
(addrlen) = ($addrlen)
(argstr) = (sprintf("%d, %s, %d", $fd, _struct_sockaddr_u($umyaddr, $addrlen), $addrlen))
}
probe syscall.bind.return = kernel.function("sys_bind").return{
(name) = ("bind")
(retstr) = (returnstr(1))
}
probe syscall.brk = kernel.function("sys_brk"){
(name) = ("brk")
(brk) = ($brk)
(argstr) = (sprintf("%p", brk))
}
probe syscall.brk.return = kernel.function("sys_brk").return{
(name) = ("brk")
(retstr) = (returnstr(1))
}
probe syscall.capget = kernel.function("sys_capget"){
(name) = ("capget")
(header_uaddr) = ($header)
(data_uaddr) = ($dataptr)
(argstr) = (sprintf("%p, %p", $header, $dataptr))
}
probe syscall.capget.return = kernel.function("sys_capget").return{
(name) = ("capget")
(retstr) = (returnstr(1))
}
probe syscall.capset = kernel.function("sys_capset"){
(name) = ("capset")
(header_uaddr) = ($header)
(data_uaddr) = ($data)
(argstr) = (sprintf("%p, %p", $header, $data))
}
probe syscall.capset.return = kernel.function("sys_capset").return{
(name) = ("capset")
(retstr) = (returnstr(1))
}
probe syscall.chdir = kernel.function("sys_chdir"){
(name) = ("chdir")
(path) = (user_string($filename))
(argstr) = (user_string_quoted($filename))
}
probe syscall.chdir.return = kernel.function("sys_chdir").return{
(name) = ("chdir")
(retstr) = (returnstr(1))
}
probe syscall.chmod = kernel.function("sys_chmod"){
(name) = ("chmod")
(path) = (user_string($filename))
(mode) = ($mode)
(argstr) = (sprintf("%s, %#o", user_string_quoted($filename), mode))
}
probe syscall.chmod.return = kernel.function("sys_chmod").return{
(name) = ("chmod")
(retstr) = (returnstr(1))
}
probe syscall.chown = kernel.function("sys_chown"){
(name) = ("chown")
(path) = (user_string($filename))
(owner) = ($user)
(group) = ($group)
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.chown.return = kernel.function("sys_chown").return{
(name) = ("chown")
(retstr) = (returnstr(1))
}
probe syscall.chown16 = kernel.function("sys_chown16")?{
(name) = ("chown16")
(path) = (user_string($filename))
(owner) = (__short($user))
(group) = (__short($group))
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.chown16.return = kernel.function("sys_chown16").return?{
(name) = ("chown16")
(retstr) = (returnstr(1))
}
probe syscall.chroot = kernel.function("sys_chroot"){
(name) = ("chroot")
(path) = (user_string($filename))
(argstr) = (user_string_quoted($filename))
}
probe syscall.chroot.return = kerne
probe syscall.acct.return = kernel.function("sys_acct").return?{
(name) = ("acct")
(retstr) = (returnstr(1))
}
probe syscall.add_key = kernel.function("sys_add_key")?{
(name) = ("add_key")
(type_uaddr) = ($_type)
(description_auddr) = ($_description)
(payload_uaddr) = ($_payload)
(plen) = ($plen)
(ringid) = ($ringid)
(argstr) = (sprintf("%s, %s, %s, %d, %d", user_string_quoted($_type), user_string_quoted($_description), text_strn(user_string($_payload), 20, 1), $plen, $ringid))
}
probe syscall.add_key.return = kernel.function("sys_add_key").return?{
(name) = ("add_key")
(retstr) = (returnstr(1))
}
probe syscall.adjtimex = kernel.function("sys_adjtimex"){
(name) = ("adjtimex")
(buf_uaddr) = ($txc_p)
(buf_modes_str) = (_adjtx_mode_str(buf_modes))
(argstr) = (buf_modes_str)
}
probe syscall.adjtimex.return = kernel.function("sys_adjtimex").return{
(name) = ("adjtimex")
(retstr) = (returnstr(1))
}
probe syscall.alarm = kernel.function("sys_alarm"){
(name) = ("alarm")
(seconds) = ($seconds)
(argstr) = (sprint($seconds))
}
probe syscall.alarm.return = kernel.function("sys_alarm").return{
(name) = ("alarm")
(retstr) = (returnstr(1))
}
probe syscall.bdflush = kernel.function("sys_bdflush"){
(name) = ("bdflush")
(func) = ($func)
(data) = ($data)
(argstr) = (sprintf("%d %p", func, data))
}
probe syscall.bdflush.return = kernel.function("sys_bdflush").return{
(name) = ("bdflush")
(retstr) = (returnstr(1))
}
probe syscall.bind = kernel.function("sys_bind"){
(name) = ("bind")
(sockfd) = ($fd)
(my_addr_uaddr) = ($umyaddr)
(addrlen) = ($addrlen)
(argstr) = (sprintf("%d, %s, %d", $fd, _struct_sockaddr_u($umyaddr, $addrlen), $addrlen))
}
probe syscall.bind.return = kernel.function("sys_bind").return{
(name) = ("bind")
(retstr) = (returnstr(1))
}
probe syscall.brk = kernel.function("sys_brk"){
(name) = ("brk")
(brk) = ($brk)
(argstr) = (sprintf("%p", brk))
}
probe syscall.brk.return = kernel.function("sys_brk").return{
(name) = ("brk")
(retstr) = (returnstr(1))
}
probe syscall.capget = kernel.function("sys_capget"){
(name) = ("capget")
(header_uaddr) = ($header)
(data_uaddr) = ($dataptr)
(argstr) = (sprintf("%p, %p", $header, $dataptr))
}
probe syscall.capget.return = kernel.function("sys_capget").return{
(name) = ("capget")
(retstr) = (returnstr(1))
}
probe syscall.capset = kernel.function("sys_capset"){
(name) = ("capset")
(header_uaddr) = ($header)
(data_uaddr) = ($data)
(argstr) = (sprintf("%p, %p", $header, $data))
}
probe syscall.capset.return = kernel.function("sys_capset").return{
(name) = ("capset")
(retstr) = (returnstr(1))
}
probe syscall.chdir = kernel.function("sys_chdir"){
(name) = ("chdir")
(path) = (user_string($filename))
(argstr) = (user_string_quoted($filename))
}
probe syscall.chdir.return = kernel.function("sys_chdir").return{
(name) = ("chdir")
(retstr) = (returnstr(1))
}
probe syscall.chmod = kernel.function("sys_chmod"){
(name) = ("chmod")
(path) = (user_string($filename))
(mode) = ($mode)
(argstr) = (sprintf("%s, %#o", user_string_quoted($filename), mode))
}
probe syscall.chmod.return = kernel.function("sys_chmod").return{
(name) = ("chmod")
(retstr) = (returnstr(1))
}
probe syscall.chown = kernel.function("sys_chown"){
(name) = ("chown")
(path) = (user_string($filename))
(owner) = ($user)
(group) = ($group)
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.chown.return = kernel.function("sys_chown").return{
(name) = ("chown")
(retstr) = (returnstr(1))
}
probe syscall.chown16 = kernel.function("sys_chown16")?{
(name) = ("chown16")
(path) = (user_string($filename))
(owner) = (__short($user))
(group) = (__short($group))
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.chown16.return = kernel.function("sys_chown16").return?{
(name) = ("chown16")
(retstr) = (returnstr(1))
}
probe syscall.chroot = kernel.function("sys_chroot"){
(name) = ("chroot")
(path) = (user_string($filename))
(argstr) = (user_string_quoted($filename))
}
l.function("sys_chroot").return{
(name) = ("chroot")
(retstr) = (returnstr(1))
}
probe syscall.clock_getres = kernel.function("sys_clock_getres"){
(name) = ("clock_getres")
(clk_id) = ($which_clock)
(clk_id_str) = (_get_wc_str($which_clock))
(res_uaddr) = ($tp)
(argstr) = (sprintf("%s, %p", _get_wc_str($which_clock), $tp))
}
probe syscall.clock_getres.return = kernel.function("sys_clock_getres").return{
(name) = ("clock_getres")
(retstr) = (returnstr(1))
}
probe syscall.clock_gettime = kernel.function("sys_clock_gettime"){
(name) = ("clock_gettime")
(clk_id) = ($which_clock)
(clk_id_str) = (_get_wc_str($which_clock))
(tp_uaddr) = ($tp)
(argstr) = (sprintf("%s, %p", _get_wc_str($which_clock), $tp))
}
probe syscall.clock_gettime.return = kernel.function("sys_clock_gettime").return{
(name) = ("clock_gettime")
(retstr) = (returnstr(1))
}
probe syscall.clock_nanosleep = kernel.function("sys_clock_nanosleep"){
(name) = ("clock_nanosleep")
(clock_id) = ($which_clock)
(clock_id_str) = (_get_wc_str($which_clock))
(flags) = ($flags)
if (($flags) == (0)) (flag_str) = ("0")
else (flag_str) = ("TIMER_ABSTIME")
(rqtp_uaddr) = ($rqtp)
(rmtp_uaddr) = ($rmtp)
(argstr) = (sprintf("%s, %s, %s, %p", clock_id_str, flag_str, _struct_timespec_u($rqtp), $rmtp))
}
probe syscall.clock_nanosleep.return = kernel.function("sys_clock_nanosleep").return{
(name) = ("clock_nanosleep")
(retstr) = (returnstr(1))
}
probe syscall.clock_settime = kernel.function("sys_clock_settime"){
(name) = ("clock_settime")
(clk_id) = ($which_clock)
(clk_id_str) = (_get_wc_str($which_clock))
(tp_uaddr) = ($tp)
(argstr) = (sprintf("%s, %s", clk_id_str, _struct_timespec_u($tp)))
}
probe syscall.clock_settime.return = kernel.function("sys_clock_settime").return{
(name) = ("clock_settime")
(retstr) = (returnstr(1))
}
probe syscall.close = kernel.function("sys_close"){
(name) = ("close")
(fd) = ($fd)
(argstr) = (sprint(fd))
}
probe syscall.close.return = kernel.function("sys_close").return{
(name) = ("close")
(retstr) = (returnstr(1))
}
probe syscall.connect = kernel.function("sys_connect"){
(name) = ("connect")
(sockfd) = ($fd)
(serv_addr_uaddr) = ($uservaddr)
(addrlen) = ($addrlen)
(argstr) = (sprintf("%d, %s, %d", $fd, _struct_sockaddr_u($uservaddr, $addrlen), $addrlen))
}
probe syscall.connect.return = kernel.function("sys_connect").return{
(name) = ("connect")
(retstr) = (returnstr(1))
}
probe syscall.delete_module = kernel.function("sys_delete_module"){
(name) = ("delete_module")
(name_user) = (user_string($name_user))
(flags) = ($flags)
(argstr) = (sprintf("%s, %s", user_string_quoted($name_user), _module_flags_str(flags)))
}
probe syscall.delete_module.return = kernel.function("sys_delete_module").return{
(name) = ("delete_module")
(retstr) = (returnstr(1))
}
probe syscall.dup = kernel.function("sys_dup"){
(name) = ("dup")
(oldfd) = ($fildes)
(argstr) = (sprint($fildes))
}
probe syscall.dup.return = kernel.function("sys_dup").return{
(name) = ("dup")
(retstr) = (returnstr(1))
}
probe syscall.dup2 = kernel.function("sys_dup2"){
(name) = ("dup2")
(oldfd) = ($oldfd)
(newfd) = ($newfd)
(argstr) = (sprintf("%d, %d", $oldfd, $newfd))
}
probe syscall.dup2.return = kernel.function("sys_dup2").return{
(name) = ("dup2")
(retstr) = (returnstr(1))
}
probe syscall.epoll_create = kernel.function("sys_epoll_create"){
(name) = ("epoll_create")
(size) = ($size)
(argstr) = (sprint($size))
}
probe syscall.epoll_create.return = kernel.function("sys_epoll_create").return{
(name) = ("epoll_create")
(retstr) = (returnstr(1))
}
probe syscall.epoll_ctl = kernel.function("sys_epoll_ctl"){
(name) = ("epoll_ctl")
(epfd) = ($epfd)
(op) = ($op)
(op_str) = (_opoll_op_str($op))
(fd) = ($fd)
(event_uaddr) = ($event)
(argstr) = (sprintf("%d, %s, %d, %p", $epfd, _opoll_op_str($op), $fd, $event))
}
probe syscall.epoll_ctl.return = kernel.function("sys_epoll_ctl").return{
(name) = ("epoll_ctl")
(retstr) = (returnstr(1))
}
probe syscall.epoll_wait = kernel.function("sys_epoll_wait")
probe syscall.chroot.return = kernel.function("sys_chroot").return{
(name) = ("chroot")
(retstr) = (returnstr(1))
}
probe syscall.clock_getres = kernel.function("sys_clock_getres"){
(name) = ("clock_getres")
(clk_id) = ($which_clock)
(clk_id_str) = (_get_wc_str($which_clock))
(res_uaddr) = ($tp)
(argstr) = (sprintf("%s, %p", _get_wc_str($which_clock), $tp))
}
probe syscall.clock_getres.return = kernel.function("sys_clock_getres").return{
(name) = ("clock_getres")
(retstr) = (returnstr(1))
}
probe syscall.clock_gettime = kernel.function("sys_clock_gettime"){
(name) = ("clock_gettime")
(clk_id) = ($which_clock)
(clk_id_str) = (_get_wc_str($which_clock))
(tp_uaddr) = ($tp)
(argstr) = (sprintf("%s, %p", _get_wc_str($which_clock), $tp))
}
probe syscall.clock_gettime.return = kernel.function("sys_clock_gettime").return{
(name) = ("clock_gettime")
(retstr) = (returnstr(1))
}
probe syscall.clock_nanosleep = kernel.function("sys_clock_nanosleep"){
(name) = ("clock_nanosleep")
(clock_id) = ($which_clock)
(clock_id_str) = (_get_wc_str($which_clock))
(flags) = ($flags)
if (($flags) == (0)) (flag_str) = ("0")
else (flag_str) = ("TIMER_ABSTIME")
(rqtp_uaddr) = ($rqtp)
(rmtp_uaddr) = ($rmtp)
(argstr) = (sprintf("%s, %s, %s, %p", clock_id_str, flag_str, _struct_timespec_u($rqtp), $rmtp))
}
probe syscall.clock_nanosleep.return = kernel.function("sys_clock_nanosleep").return{
(name) = ("clock_nanosleep")
(retstr) = (returnstr(1))
}
probe syscall.clock_settime = kernel.function("sys_clock_settime"){
(name) = ("clock_settime")
(clk_id) = ($which_clock)
(clk_id_str) = (_get_wc_str($which_clock))
(tp_uaddr) = ($tp)
(argstr) = (sprintf("%s, %s", clk_id_str, _struct_timespec_u($tp)))
}
probe syscall.clock_settime.return = kernel.function("sys_clock_settime").return{
(name) = ("clock_settime")
(retstr) = (returnstr(1))
}
probe syscall.close = kernel.function("sys_close"){
(name) = ("close")
(fd) = ($fd)
(argstr) = (sprint(fd))
}
probe syscall.close.return = kernel.function("sys_close").return{
(name) = ("close")
(retstr) = (returnstr(1))
}
probe syscall.connect = kernel.function("sys_connect"){
(name) = ("connect")
(sockfd) = ($fd)
(serv_addr_uaddr) = ($uservaddr)
(addrlen) = ($addrlen)
(argstr) = (sprintf("%d, %s, %d", $fd, _struct_sockaddr_u($uservaddr, $addrlen), $addrlen))
}
probe syscall.connect.return = kernel.function("sys_connect").return{
(name) = ("connect")
(retstr) = (returnstr(1))
}
probe syscall.delete_module = kernel.function("sys_delete_module"){
(name) = ("delete_module")
(name_user) = (user_string($name_user))
(flags) = ($flags)
(argstr) = (sprintf("%s, %s", user_string_quoted($name_user), _module_flags_str(flags)))
}
probe syscall.delete_module.return = kernel.function("sys_delete_module").return{
(name) = ("delete_module")
(retstr) = (returnstr(1))
}
probe syscall.dup = kernel.function("sys_dup"){
(name) = ("dup")
(oldfd) = ($fildes)
(argstr) = (sprint($fildes))
}
probe syscall.dup.return = kernel.function("sys_dup").return{
(name) = ("dup")
(retstr) = (returnstr(1))
}
probe syscall.dup2 = kernel.function("sys_dup2"){
(name) = ("dup2")
(oldfd) = ($oldfd)
(newfd) = ($newfd)
(argstr) = (sprintf("%d, %d", $oldfd, $newfd))
}
probe syscall.dup2.return = kernel.function("sys_dup2").return{
(name) = ("dup2")
(retstr) = (returnstr(1))
}
probe syscall.epoll_create = kernel.function("sys_epoll_create"){
(name) = ("epoll_create")
(size) = ($size)
(argstr) = (sprint($size))
}
probe syscall.epoll_create.return = kernel.function("sys_epoll_create").return{
(name) = ("epoll_create")
(retstr) = (returnstr(1))
}
probe syscall.epoll_ctl = kernel.function("sys_epoll_ctl"){
(name) = ("epoll_ctl")
(epfd) = ($epfd)
(op) = ($op)
(op_str) = (_opoll_op_str($op))
(fd) = ($fd)
(event_uaddr) = ($event)
(argstr) = (sprintf("%d, %s, %d, %p", $epfd, _opoll_op_str($op), $fd, $event))
}
probe syscall.epoll_ctl.return = kernel.function("sys_epoll_ctl").return{
(name) = ("epoll_ctl")
(retstr) = (returnstr(1))
}
{
(name) = ("epoll_wait")
(epfd) = ($epfd)
(events_uaddr) = ($events)
(maxevents) = ($maxevents)
(timeout) = ($timeout)
(argstr) = (sprintf("%d, %p, %d, %d", $epfd, $events, $maxevents, $timeout))
}
probe syscall.epoll_wait.return = kernel.function("sys_epoll_wait").return{
(name) = ("epoll_wait")
(retstr) = (returnstr(1))
}
probe syscall.execve = kernel.function("do_execve"){
(name) = ("execve")
(filename) = (__string($filename))
(args) = (__get_argv($argv))
(argstr) = (sprintf("%s %s", filename, args))
}
probe syscall.execve.return = kernel.function("do_execve").return{
(name) = ("execve")
(retstr) = (returnstr(1))
}
probe syscall.exit = kernel.function("do_exit"){
(name) = ("exit")
(status) = ($code)
(argstr) = (sprint($code))
}
probe syscall.exit.return = end{
}
probe syscall.exit_group = kernel.function("sys_exit_group"){
(name) = ("exit_group")
(status) = ($error_code)
(argstr) = (sprint($error_code))
}
probe syscall.exit_group.return = end{
}
probe syscall.fadvise64 = kernel.function("sys_fadvise64"){
(name) = ("fadvise64")
(fs) = ($fd)
(offset) = ($offset)
(len) = ($len)
(advice) = ($advice)
(argstr) = (sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice)))
}
probe syscall.fadvise64.return = kernel.function("sys_fadvise64").return{
(name) = ("fadvise64")
(retstr) = (returnstr(1))
}
probe syscall.fadvise64_64 = kernel.function("sys_fadvise64_64"){
(name) = ("fadvise64_64")
(fs) = ($fd)
(offset) = ($offset)
(len) = ($len)
(advice) = ($advice)
(argstr) = (sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice)))
}
probe syscall.fadvise64_64.return = kernel.function("sys_fadvise64_64").return{
(name) = ("fadvise64_64")
(retstr) = (returnstr(1))
}
probe syscall.fchdir = kernel.function("sys_fchdir"){
(name) = ("fchdir")
(fd) = ($fd)
(argstr) = (sprint($fd))
}
probe syscall.fchdir.return = kernel.function("sys_fchdir").return{
(name) = ("fchdir")
(retstr) = (returnstr(1))
}
probe syscall.fchmod = kernel.function("sys_fchmod"){
(name) = ("fchmod")
(fildes) = ($fd)
(mode) = ($mode)
(argstr) = (sprintf("%d, %#o", $fd, $mode))
}
probe syscall.fchmod.return = kernel.function("sys_fchmod").return{
(name) = ("fchmod")
(retstr) = (returnstr(1))
}
probe syscall.fchown = kernel.function("sys_fchown"){
(name) = ("fchown")
(fd) = ($fd)
(owner) = ($user)
(group) = ($group)
(argstr) = (sprintf("%d, %d, %d", $fd, $user, $group))
}
probe syscall.fchown.return = kernel.function("sys_fchown").return{
(name) = ("fchown")
(retstr) = (returnstr(1))
}
probe syscall.fchown16 = kernel.function("sys_fchown16")?{
(name) = ("fchown16")
(fd) = ($fd)
(owner) = (__short($user))
(group) = (__short($group))
(argstr) = (sprintf("%d, %d, %d", $fd, owner, group))
}
probe syscall.fchown16.return = kernel.function("sys_fchown16").return?{
(name) = ("fchown16")
(retstr) = (returnstr(1))
}
probe syscall.fcntl = kernel.function("sys_fcntl"){
(name) = ("fcntl")
(fd) = ($fd)
(cmd) = ($cmd)
(cmd_str) = (_fcntl_cmd_str($cmd))
(arg) = ($arg)
(argstr) = (sprintf("%d, %s, %p", $fd, cmd_str, $arg))
}
probe syscall.fcntl.return = kernel.function("sys_fcntl").return{
(name) = ("fcntl")
(retstr) = (returnstr(1))
}
probe syscall.fdatasync = kernel.function("sys_fdatasync"){
(name) = ("fdatasync")
(fd) = ($fd)
(argstr) = (sprint(fd))
}
probe syscall.fdatasync.return = kernel.function("sys_fdatasync").return{
(name) = ("fdatasync")
(retstr) = (returnstr(1))
}
probe syscall.fgetxattr = kernel.function("sys_fgetxattr"){
(name) = ("fgetxattr")
(filedes) = ($fd)
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(argstr) = (sprintf("%d, %s, %p, %d", filedes, user_string_quoted($name), value_uaddr, size))
}
probe syscall.fgetxattr.return = kernel.function("sys_fgetxattr").return{
(name) = ("fgetxattr")
(retstr) = (returnstr(1))
}
probe syscall.flistxattr = kernel.function("sys_flistxattr"){
(name) = ("flistxattr")
(filedes) = ($fd)
(list_uaddr) = ($list)
(size) = ($size)
(argst
probe syscall.epoll_wait = kernel.function("sys_epoll_wait"){
(name) = ("epoll_wait")
(epfd) = ($epfd)
(events_uaddr) = ($events)
(maxevents) = ($maxevents)
(timeout) = ($timeout)
(argstr) = (sprintf("%d, %p, %d, %d", $epfd, $events, $maxevents, $timeout))
}
probe syscall.epoll_wait.return = kernel.function("sys_epoll_wait").return{
(name) = ("epoll_wait")
(retstr) = (returnstr(1))
}
probe syscall.execve = kernel.function("do_execve"){
(name) = ("execve")
(filename) = (__string($filename))
(args) = (__get_argv($argv))
(argstr) = (sprintf("%s %s", filename, args))
}
probe syscall.execve.return = kernel.function("do_execve").return{
(name) = ("execve")
(retstr) = (returnstr(1))
}
probe syscall.exit = kernel.function("do_exit"){
(name) = ("exit")
(status) = ($code)
(argstr) = (sprint($code))
}
probe syscall.exit.return = end{
}
probe syscall.exit_group = kernel.function("sys_exit_group"){
(name) = ("exit_group")
(status) = ($error_code)
(argstr) = (sprint($error_code))
}
probe syscall.exit_group.return = end{
}
probe syscall.fadvise64 = kernel.function("sys_fadvise64"){
(name) = ("fadvise64")
(fs) = ($fd)
(offset) = ($offset)
(len) = ($len)
(advice) = ($advice)
(argstr) = (sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice)))
}
probe syscall.fadvise64.return = kernel.function("sys_fadvise64").return{
(name) = ("fadvise64")
(retstr) = (returnstr(1))
}
probe syscall.fadvise64_64 = kernel.function("sys_fadvise64_64"){
(name) = ("fadvise64_64")
(fs) = ($fd)
(offset) = ($offset)
(len) = ($len)
(advice) = ($advice)
(argstr) = (sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice)))
}
probe syscall.fadvise64_64.return = kernel.function("sys_fadvise64_64").return{
(name) = ("fadvise64_64")
(retstr) = (returnstr(1))
}
probe syscall.fchdir = kernel.function("sys_fchdir"){
(name) = ("fchdir")
(fd) = ($fd)
(argstr) = (sprint($fd))
}
probe syscall.fchdir.return = kernel.function("sys_fchdir").return{
(name) = ("fchdir")
(retstr) = (returnstr(1))
}
probe syscall.fchmod = kernel.function("sys_fchmod"){
(name) = ("fchmod")
(fildes) = ($fd)
(mode) = ($mode)
(argstr) = (sprintf("%d, %#o", $fd, $mode))
}
probe syscall.fchmod.return = kernel.function("sys_fchmod").return{
(name) = ("fchmod")
(retstr) = (returnstr(1))
}
probe syscall.fchown = kernel.function("sys_fchown"){
(name) = ("fchown")
(fd) = ($fd)
(owner) = ($user)
(group) = ($group)
(argstr) = (sprintf("%d, %d, %d", $fd, $user, $group))
}
probe syscall.fchown.return = kernel.function("sys_fchown").return{
(name) = ("fchown")
(retstr) = (returnstr(1))
}
probe syscall.fchown16 = kernel.function("sys_fchown16")?{
(name) = ("fchown16")
(fd) = ($fd)
(owner) = (__short($user))
(group) = (__short($group))
(argstr) = (sprintf("%d, %d, %d", $fd, owner, group))
}
probe syscall.fchown16.return = kernel.function("sys_fchown16").return?{
(name) = ("fchown16")
(retstr) = (returnstr(1))
}
probe syscall.fcntl = kernel.function("sys_fcntl"){
(name) = ("fcntl")
(fd) = ($fd)
(cmd) = ($cmd)
(cmd_str) = (_fcntl_cmd_str($cmd))
(arg) = ($arg)
(argstr) = (sprintf("%d, %s, %p", $fd, cmd_str, $arg))
}
probe syscall.fcntl.return = kernel.function("sys_fcntl").return{
(name) = ("fcntl")
(retstr) = (returnstr(1))
}
probe syscall.fdatasync = kernel.function("sys_fdatasync"){
(name) = ("fdatasync")
(fd) = ($fd)
(argstr) = (sprint(fd))
}
probe syscall.fdatasync.return = kernel.function("sys_fdatasync").return{
(name) = ("fdatasync")
(retstr) = (returnstr(1))
}
probe syscall.fgetxattr = kernel.function("sys_fgetxattr"){
(name) = ("fgetxattr")
(filedes) = ($fd)
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(argstr) = (sprintf("%d, %s, %p, %d", filedes, user_string_quoted($name), value_uaddr, size))
}
probe syscall.fgetxattr.return = kernel.function("sys_fgetxattr").return{
(name) = ("fgetxattr")
(retstr) = (returnstr(1))
}
probe syscall.flistxattr = kernel.function("sys_flistxattr"){
(name) = ("flistxattr")
(filedes) = ($fd)
(list_uaddr) = ($list)
(size) = ($size)
r) = (sprintf("%d, %p, %d", filedes, list_uaddr, size))
}
probe syscall.flistxattr.return = kernel.function("sys_flistxattr").return{
(name) = ("flistxattr")
(retstr) = (returnstr(1))
}
probe syscall.flock = kernel.function("sys_flock"){
(name) = ("flock")
(fd) = ($fd)
(operation) = ($cmd)
(argstr) = (sprintf("%d, %s", fd, _flock_cmd_str(operation)))
}
probe syscall.flock.return = kernel.function("sys_flock").return{
(name) = ("flock")
(retstr) = (returnstr(1))
}
probe syscall.fork = kernel.function("do_fork"){
(clone_flags) = ($clone_flags)
(stack_start) = ($stack_start)
(regs) = ($regs)
(stack_size) = ($stack_size)
(parent_tid_uaddr) = ($parent_tidptr)
(child_tid_uaddr) = ($child_tidptr)
if ((stack_start) == (0)) {
(name) = ("fork_kernel_thread")
(argstr) = (__fork_flags(clone_flags))
}
else if ((clone_flags) == (17)) (name) = ("fork")
else if ((clone_flags) & (16384)) (name) = ("vfork")
else {
(name) = ("clone")
(argstr) = (__fork_flags(clone_flags))
}
}
probe syscall.fork.return = kernel.function("do_fork").return{
(name) = ("fork")
(retstr) = (returnstr(1))
}
probe syscall.fremovexattr = kernel.function("sys_fremovexattr"){
(name) = ("fremovexattr")
(filedes) = ($fd)
(name_uaddr) = ($name)
(argstr) = (sprintf("FIXME PLEASE"))
}
probe syscall.fremovexattr.return = kernel.function("sys_fremovexattr").return{
(name) = ("fremovexattr")
(retstr) = (returnstr(1))
}
probe syscall.fsetxattr = kernel.function("sys_fsetxattr"){
(name) = ("fsetxattr")
(filedes) = ($fd)
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(flags) = ($flags)
(argstr) = (sprintf("%d, %s, %p, %d, %p", filedes, user_string_quoted($name), value_uaddr, size, flags))
}
probe syscall.fsetxattr.return = kernel.function("sys_fsetxattr").return{
(name) = ("fsetxattr")
(retstr) = (returnstr(1))
}
probe syscall.fstat = kernel.function("sys_fstat")?, kernel.function("sys_fstat64")?, kernel.function("sys32_fstat64")?, kernel.function("sys_newfstat")?, kernel.function("compat_sys_newfstat")?{
(name) = ("fstat")
(filedes) = ($fd)
(buf_uaddr) = ($statbuf)
(argstr) = (sprintf("%d, %p", $fd, $statbuf))
}
probe syscall.fstat.return = kernel.function("sys_fstat").return?, kernel.function("sys_fstat64").return?, kernel.function("sys32_fstat64").return?, kernel.function("sys_newfstat").return?, kernel.function("compat_sys_newfstat").return?{
(name) = ("fstat")
(retstr) = (returnstr(1))
}
probe syscall.fstatfs = kernel.function("sys_fstatfs"), kernel.function("compat_sys_fstatfs")?{
(name) = ("fstatfs")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, %p", $fd, $buf))
}
probe syscall.fstatfs.return = kernel.function("sys_fstatfs").return, kernel.function("compat_sys_fstatfs").return?{
(name) = ("fstatfs")
(retstr) = (returnstr(1))
}
probe syscall.fstatfs64 = kernel.function("sys_fstatfs64"){
(name) = ("fstatfs")
(fd) = ($fd)
(sz) = ($sz)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, %d, %p", fd, sz, buf_uaddr))
}
probe syscall.fstatfs64.return = kernel.function("sys_fstatfs64").return{
(name) = ("fstatfs")
(retstr) = (returnstr(1))
}
probe syscall.fsync = kernel.function("sys_fsync"){
(name) = ("fsync")
(fd) = ($fd)
(argstr) = (sprint(fd))
}
probe syscall.fsync.return = kernel.function("sys_fsync").return{
(name) = ("fsync")
(retstr) = (returnstr(1))
}
probe syscall.ftruncate = kernel.function("sys_ftruncate"){
(name) = ("ftruncate")
(fd) = ($fd)
(length) = ($length)
(argstr) = (sprintf("%d, %d", fd, length))
}
probe syscall.ftruncate.return = kernel.function("sys_ftruncate").return{
(name) = ("ftruncate")
(retstr) = (returnstr(1))
}
probe syscall.ftruncate64 = kernel.function("sys_ftruncate64")?{
(name) = ("ftruncate")
(fd) = ($fd)
(length) = ($length)
(argstr) = (sprintf("%d, %d", fd, length))
}
probe syscall.ftruncate64.return = kernel.function("sys_ftruncate64").return?{
(name) = ("ftruncate")
(retstr) = (returnstr(1))
}
probe syscall.futex = kernel.function("sys_futex"){
(name) = ("futex")
(futex_uaddr) = (
(argstr) = (sprintf("%d, %p, %d", filedes, list_uaddr, size))
}
probe syscall.flistxattr.return = kernel.function("sys_flistxattr").return{
(name) = ("flistxattr")
(retstr) = (returnstr(1))
}
probe syscall.flock = kernel.function("sys_flock"){
(name) = ("flock")
(fd) = ($fd)
(operation) = ($cmd)
(argstr) = (sprintf("%d, %s", fd, _flock_cmd_str(operation)))
}
probe syscall.flock.return = kernel.function("sys_flock").return{
(name) = ("flock")
(retstr) = (returnstr(1))
}
probe syscall.fork = kernel.function("do_fork"){
(clone_flags) = ($clone_flags)
(stack_start) = ($stack_start)
(regs) = ($regs)
(stack_size) = ($stack_size)
(parent_tid_uaddr) = ($parent_tidptr)
(child_tid_uaddr) = ($child_tidptr)
if ((stack_start) == (0)) {
(name) = ("fork_kernel_thread")
(argstr) = (__fork_flags(clone_flags))
}
else if ((clone_flags) == (17)) (name) = ("fork")
else if ((clone_flags) & (16384)) (name) = ("vfork")
else {
(name) = ("clone")
(argstr) = (__fork_flags(clone_flags))
}
}
probe syscall.fork.return = kernel.function("do_fork").return{
(name) = ("fork")
(retstr) = (returnstr(1))
}
probe syscall.fremovexattr = kernel.function("sys_fremovexattr"){
(name) = ("fremovexattr")
(filedes) = ($fd)
(name_uaddr) = ($name)
(argstr) = (sprintf("FIXME PLEASE"))
}
probe syscall.fremovexattr.return = kernel.function("sys_fremovexattr").return{
(name) = ("fremovexattr")
(retstr) = (returnstr(1))
}
probe syscall.fsetxattr = kernel.function("sys_fsetxattr"){
(name) = ("fsetxattr")
(filedes) = ($fd)
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(flags) = ($flags)
(argstr) = (sprintf("%d, %s, %p, %d, %p", filedes, user_string_quoted($name), value_uaddr, size, flags))
}
probe syscall.fsetxattr.return = kernel.function("sys_fsetxattr").return{
(name) = ("fsetxattr")
(retstr) = (returnstr(1))
}
probe syscall.fstat = kernel.function("sys_fstat")?, kernel.function("sys_fstat64")?, kernel.function("sys32_fstat64")?, kernel.function("sys_newfstat")?, kernel.function("compat_sys_newfstat")?{
(name) = ("fstat")
(filedes) = ($fd)
(buf_uaddr) = ($statbuf)
(argstr) = (sprintf("%d, %p", $fd, $statbuf))
}
probe syscall.fstat.return = kernel.function("sys_fstat").return?, kernel.function("sys_fstat64").return?, kernel.function("sys32_fstat64").return?, kernel.function("sys_newfstat").return?, kernel.function("compat_sys_newfstat").return?{
(name) = ("fstat")
(retstr) = (returnstr(1))
}
probe syscall.fstatfs = kernel.function("sys_fstatfs"), kernel.function("compat_sys_fstatfs")?{
(name) = ("fstatfs")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, %p", $fd, $buf))
}
probe syscall.fstatfs.return = kernel.function("sys_fstatfs").return, kernel.function("compat_sys_fstatfs").return?{
(name) = ("fstatfs")
(retstr) = (returnstr(1))
}
probe syscall.fstatfs64 = kernel.function("sys_fstatfs64"){
(name) = ("fstatfs")
(fd) = ($fd)
(sz) = ($sz)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, %d, %p", fd, sz, buf_uaddr))
}
probe syscall.fstatfs64.return = kernel.function("sys_fstatfs64").return{
(name) = ("fstatfs")
(retstr) = (returnstr(1))
}
probe syscall.fsync = kernel.function("sys_fsync"){
(name) = ("fsync")
(fd) = ($fd)
(argstr) = (sprint(fd))
}
probe syscall.fsync.return = kernel.function("sys_fsync").return{
(name) = ("fsync")
(retstr) = (returnstr(1))
}
probe syscall.ftruncate = kernel.function("sys_ftruncate"){
(name) = ("ftruncate")
(fd) = ($fd)
(length) = ($length)
(argstr) = (sprintf("%d, %d", fd, length))
}
probe syscall.ftruncate.return = kernel.function("sys_ftruncate").return{
(name) = ("ftruncate")
(retstr) = (returnstr(1))
}
probe syscall.ftruncate64 = kernel.function("sys_ftruncate64")?{
(name) = ("ftruncate")
(fd) = ($fd)
(length) = ($length)
(argstr) = (sprintf("%d, %d", fd, length))
}
probe syscall.ftruncate64.return = kernel.function("sys_ftruncate64").return?{
(name) = ("ftruncate")
(retstr) = (returnstr(1))
}
probe syscall.futex = kernel.function("sys_futex"){
(name) = ("futex")
$uaddr)
(op) = ($op)
(val) = ($val)
(utime_uaddr) = ($utime)
(uaddr2_uaddr) = ($uaddr2)
(val3) = ($val3)
if ((op) == (0)) (argstr) = (sprintf("%p, %s, %d, %s", $uaddr, _futex_op_str($op), $val, _struct_timespec_u($utime)))
else (argstr) = (sprintf("%p, %s, %d", $uaddr, _futex_op_str($op), $val))
}
probe syscall.futex.return = kernel.function("sys_futex").return{
(name) = ("futex")
(retstr) = (returnstr(1))
}
probe syscall.getcwd = kernel.function("sys_getcwd"){
(name) = ("getcwd")
(buf_uaddr) = ($buf)
(size) = ($size)
(argstr) = (sprintf("%p, %d", buf_uaddr, size))
}
probe syscall.getcwd.return = kernel.function("sys_getcwd").return{
(name) = ("getcwd")
(retstr) = (returnstr(1))
}
probe syscall.getdents = kernel.function("sys_getdents"){
(name) = ("getdents")
(fd) = ($fd)
(dirp_uaddr) = ($dirent)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %d", fd, dirp_uaddr, count))
}
probe syscall.getdents.return = kernel.function("sys_getdents").return{
(name) = ("getdents")
(retstr) = (returnstr(1))
}
probe syscall.getdents64 = kernel.function("sys_getdents64"){
(name) = ("getdents")
(fd) = ($fd)
(dirp_uaddr) = ($dirent)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %d", fd, dirp_uaddr, count))
}
probe syscall.getdents64.return = kernel.function("sys_getdents64").return{
(name) = ("getdents")
(retstr) = (returnstr(1))
}
probe syscall.getegid = kernel.function("sys_getegid"){
(name) = ("getegid")
}
probe syscall.getegid.return = kernel.function("sys_getegid").return{
(name) = ("getegid")
(retstr) = (returnstr(1))
}
probe syscall.getegid16 = kernel.function("sys_getegid16")?{
(name) = ("getegid16")
}
probe syscall.getegid16.return = kernel.function("sys_getegid16").return?{
(name) = ("getegid16")
(retstr) = (returnstr(1))
}
probe syscall.geteuid = kernel.function("sys_geteuid"){
(name) = ("geteuid")
}
probe syscall.geteuid.return = kernel.function("sys_geteuid").return{
(name) = ("geteuid")
(retstr) = (returnstr(1))
}
probe syscall.geteuid16 = kernel.function("sys_geteuid16")?{
(name) = ("geteuid16")
}
probe syscall.geteuid16.return = kernel.function("sys_geteuid16").return?{
(name) = ("geteuid16")
(retstr) = (returnstr(1))
}
probe syscall.getgid = kernel.function("sys_getgid"){
(name) = ("getgid")
}
probe syscall.getgid.return = kernel.function("sys_getgid").return{
(name) = ("getgid")
(retstr) = (returnstr(1))
}
probe syscall.getgid16 = kernel.function("sys_getgid16")?{
(name) = ("getgid16")
}
probe syscall.getgid16.return = kernel.function("sys_getgid16").return?{
(name) = ("getgid16")
(retstr) = (returnstr(1))
}
probe syscall.getgroups = kernel.function("sys_getgroups"){
(name) = ("getgroups")
(size) = ($gidsetsize)
(list_uaddr) = ($grouplist)
(argstr) = (sprintf("%d, %p", size, list_uaddr))
}
probe syscall.getgroups.return = kernel.function("sys_getgroups").return{
(name) = ("getgroups")
(retstr) = (returnstr(1))
}
probe syscall.gethostname = kernel.function("sys_gethostname"){
(name) = ("gethostname")
(name_uaddr) = ($name)
(len) = ($len)
(argstr) = (sprintf("%p, %d", name_uaddr, len))
}
probe syscall.gethostname.return = kernel.function("sys_gethostname").return{
(name) = ("gethostname")
(retstr) = (returnstr(1))
}
probe syscall.getitimer = kernel.function("sys_getitimer"){
(name) = ("getitimer")
(which) = ($which)
(value_uaddr) = ($value)
(argstr) = (sprintf("%s, %p", _itimer_which_str($which), $value))
}
probe syscall.getitimer.return = kernel.function("sys_getitimer").return{
(name) = ("getitimer")
(retstr) = (returnstr(1))
}
probe syscall.compat_getitimer = kernel.function("compat_sys_getitimer")?{
(name) = ("getitimer")
(which) = ($which)
(value_uaddr) = ($it)
(argstr) = (sprintf("%s, %p", _itimer_which_str($which), $it))
}
probe syscall.compat_getitimer.return = kernel.function("compat_sys_getitimer").return?{
(name) = ("getitimer")
(retstr) = (returnstr(1))
}
probe syscall.get_mempolicy = kernel.function("sys_get_mempolicy")?{
(name) = ("get_mempolicy")
(policy_uaddr) = ($policy)
(nma
(futex_uaddr) = ($uaddr)
(op) = ($op)
(val) = ($val)
(utime_uaddr) = ($utime)
(uaddr2_uaddr) = ($uaddr2)
(val3) = ($val3)
if ((op) == (0)) (argstr) = (sprintf("%p, %s, %d, %s", $uaddr, _futex_op_str($op), $val, _struct_timespec_u($utime)))
else (argstr) = (sprintf("%p, %s, %d", $uaddr, _futex_op_str($op), $val))
}
probe syscall.futex.return = kernel.function("sys_futex").return{
(name) = ("futex")
(retstr) = (returnstr(1))
}
probe syscall.getcwd = kernel.function("sys_getcwd"){
(name) = ("getcwd")
(buf_uaddr) = ($buf)
(size) = ($size)
(argstr) = (sprintf("%p, %d", buf_uaddr, size))
}
probe syscall.getcwd.return = kernel.function("sys_getcwd").return{
(name) = ("getcwd")
(retstr) = (returnstr(1))
}
probe syscall.getdents = kernel.function("sys_getdents"){
(name) = ("getdents")
(fd) = ($fd)
(dirp_uaddr) = ($dirent)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %d", fd, dirp_uaddr, count))
}
probe syscall.getdents.return = kernel.function("sys_getdents").return{
(name) = ("getdents")
(retstr) = (returnstr(1))
}
probe syscall.getdents64 = kernel.function("sys_getdents64"){
(name) = ("getdents")
(fd) = ($fd)
(dirp_uaddr) = ($dirent)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %d", fd, dirp_uaddr, count))
}
probe syscall.getdents64.return = kernel.function("sys_getdents64").return{
(name) = ("getdents")
(retstr) = (returnstr(1))
}
probe syscall.getegid = kernel.function("sys_getegid"){
(name) = ("getegid")
}
probe syscall.getegid.return = kernel.function("sys_getegid").return{
(name) = ("getegid")
(retstr) = (returnstr(1))
}
probe syscall.getegid16 = kernel.function("sys_getegid16")?{
(name) = ("getegid16")
}
probe syscall.getegid16.return = kernel.function("sys_getegid16").return?{
(name) = ("getegid16")
(retstr) = (returnstr(1))
}
probe syscall.geteuid = kernel.function("sys_geteuid"){
(name) = ("geteuid")
}
probe syscall.geteuid.return = kernel.function("sys_geteuid").return{
(name) = ("geteuid")
(retstr) = (returnstr(1))
}
probe syscall.geteuid16 = kernel.function("sys_geteuid16")?{
(name) = ("geteuid16")
}
probe syscall.geteuid16.return = kernel.function("sys_geteuid16").return?{
(name) = ("geteuid16")
(retstr) = (returnstr(1))
}
probe syscall.getgid = kernel.function("sys_getgid"){
(name) = ("getgid")
}
probe syscall.getgid.return = kernel.function("sys_getgid").return{
(name) = ("getgid")
(retstr) = (returnstr(1))
}
probe syscall.getgid16 = kernel.function("sys_getgid16")?{
(name) = ("getgid16")
}
probe syscall.getgid16.return = kernel.function("sys_getgid16").return?{
(name) = ("getgid16")
(retstr) = (returnstr(1))
}
probe syscall.getgroups = kernel.function("sys_getgroups"){
(name) = ("getgroups")
(size) = ($gidsetsize)
(list_uaddr) = ($grouplist)
(argstr) = (sprintf("%d, %p", size, list_uaddr))
}
probe syscall.getgroups.return = kernel.function("sys_getgroups").return{
(name) = ("getgroups")
(retstr) = (returnstr(1))
}
probe syscall.gethostname = kernel.function("sys_gethostname"){
(name) = ("gethostname")
(name_uaddr) = ($name)
(len) = ($len)
(argstr) = (sprintf("%p, %d", name_uaddr, len))
}
probe syscall.gethostname.return = kernel.function("sys_gethostname").return{
(name) = ("gethostname")
(retstr) = (returnstr(1))
}
probe syscall.getitimer = kernel.function("sys_getitimer"){
(name) = ("getitimer")
(which) = ($which)
(value_uaddr) = ($value)
(argstr) = (sprintf("%s, %p", _itimer_which_str($which), $value))
}
probe syscall.getitimer.return = kernel.function("sys_getitimer").return{
(name) = ("getitimer")
(retstr) = (returnstr(1))
}
probe syscall.compat_getitimer = kernel.function("compat_sys_getitimer")?{
(name) = ("getitimer")
(which) = ($which)
(value_uaddr) = ($it)
(argstr) = (sprintf("%s, %p", _itimer_which_str($which), $it))
}
probe syscall.compat_getitimer.return = kernel.function("compat_sys_getitimer").return?{
(name) = ("getitimer")
(retstr) = (returnstr(1))
}
probe syscall.get_mempolicy = kernel.function("sys_get_mempolicy")?{
(name) = ("get_mempolicy")
(policy_uaddr) = ($policy)
sk_uaddr) = ($nmask)
(maxnode) = ($maxnode)
(addr) = ($addr)
(flags) = ($flags)
(argstr) = (sprintf("%p, %p, %d, %p, %d", policy_uaddr, nmask_uaddr, $maxnode, $addr, $flags))
}
probe syscall.get_mempolicy.return = kernel.function("sys_get_mempolicy").return?{
(name) = ("get_mempolicy")
(retstr) = (returnstr(1))
}
probe syscall.getpeername = kernel.function("sys_getpeername"){
(name) = ("getpeername")
(s) = ($fd)
(name_uaddr) = ($usockaddr)
(namelen_uaddr) = ($usockaddr_len)
(argstr) = (sprintf("%d, %p, %p", $fd, $usockaddr, $usockaddr_len))
}
probe syscall.getpeername.return = kernel.function("sys_getpeername").return{
(name) = ("getpeername")
(retstr) = (returnstr(1))
}
probe syscall.getpgid = kernel.function("sys_getpgid"){
(name) = ("getpgid")
}
probe syscall.getpgid.return = kernel.function("sys_getpgid").return{
(name) = ("getpgid")
(retstr) = (returnstr(1))
}
probe syscall.getpgrp = kernel.function("sys_getpgrp"){
(name) = ("getpgrp")
}
probe syscall.getpgrp.return = kernel.function("sys_getpgrp").return{
(name) = ("getpgrp")
(retstr) = (returnstr(1))
}
probe syscall.getpid = kernel.function("sys_getpid"){
(name) = ("getpid")
}
probe syscall.getpid.return = kernel.function("sys_getpid").return{
(name) = ("getpid")
(retstr) = (returnstr(1))
}
probe syscall.getppid = kernel.function("sys_getppid"){
(name) = ("getppid")
}
probe syscall.getppid.return = kernel.function("sys_getppid").return{
(name) = ("getppid")
}
probe syscall.getpriority = kernel.function("sys_getpriority"){
(name) = ("getpriority")
(which) = ($which)
(who) = ($who)
(argstr) = (sprintf("%s, %d", _priority_which_str(which), who))
}
probe syscall.getpriority.return = kernel.function("sys_getpriority").return{
(name) = ("getpriority")
(retstr) = (returnstr(1))
}
probe syscall.getresgid = kernel.function("sys_getresgid"){
(name) = ("getresgid")
(rgid_uaddr) = ($rgid)
(egid_uaddr) = ($egid)
(sgid_uaddr) = ($sgid)
(argstr) = (sprintf("%p, %p, %p", rgid_uaddr, egid_uaddr, sgid_uaddr))
}
probe syscall.getresgid.return = kernel.function("sys_getresgid").return{
(name) = ("getresgid")
(retstr) = (returnstr(1))
}
probe syscall.getresgid16 = kernel.function("sys_getresgid16")?{
(name) = ("getresgid16")
(rgid_uaddr) = ($rgid)
(egid_uaddr) = ($egid)
(sgid_uaddr) = ($sgid)
(argstr) = (sprintf("%p, %p, %p", rgid_uaddr, egid_uaddr, sgid_uaddr))
}
probe syscall.getresgid16.return = kernel.function("sys_getresgid16").return?{
(name) = ("getresgid16")
(retstr) = (returnstr(1))
}
probe syscall.getresuid = kernel.function("sys_getresuid"){
(name) = ("getresuid")
(ruid_uaddr) = ($ruid)
(euid_uaddr) = ($euid)
(suid_uaddr) = ($suid)
(argstr) = (sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr))
}
probe syscall.getresuid.return = kernel.function("sys_getresuid").return{
(name) = ("getresuid")
(retstr) = (returnstr(1))
}
probe syscall.getresuid16 = kernel.function("sys_getresuid16")?{
(name) = ("getresuid16")
(ruid_uaddr) = ($ruid)
(euid_uaddr) = ($euid)
(suid_uaddr) = ($suid)
(argstr) = (sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr))
}
probe syscall.getresuid16.return = kernel.function("sys_getresuid16").return?{
(name) = ("getresuid16")
(retstr) = (returnstr(1))
}
probe syscall.getrlimit = kernel.function("sys_getrlimit"){
(name) = ("getrlimit")
(resource) = ($resource)
(rlim_uaddr) = ($rlim)
(argstr) = (sprintf("%s, %p", _rlimit_resource_str($resource), rlim_uaddr))
}
probe syscall.getrlimit.return = kernel.function("sys_getrlimit").return{
(name) = ("getrlimit")
(retstr) = (returnstr(1))
}
probe syscall.getrusage = kernel.function("sys_getrusage"){
(name) = ("getrusage")
(who) = ($who)
(usage_uaddr) = ($ru)
(argstr) = (sprintf("%s, %p", _rusage_who_str($who), usage_uaddr))
}
probe syscall.getrusage.return = kernel.function("sys_getrusage").return{
(name) = ("getrusage")
(retstr) = (returnstr(1))
}
probe syscall.getsid = kernel.function("sys_getsid"){
(name) = ("getsid")
(pid) = ($pid)
(argstr) = (sprint(pid))
}
probe syscall.ge
(nmask_uaddr) = ($nmask)
(maxnode) = ($maxnode)
(addr) = ($addr)
(flags) = ($flags)
(argstr) = (sprintf("%p, %p, %d, %p, %d", policy_uaddr, nmask_uaddr, $maxnode, $addr, $flags))
}
probe syscall.get_mempolicy.return = kernel.function("sys_get_mempolicy").return?{
(name) = ("get_mempolicy")
(retstr) = (returnstr(1))
}
probe syscall.getpeername = kernel.function("sys_getpeername"){
(name) = ("getpeername")
(s) = ($fd)
(name_uaddr) = ($usockaddr)
(namelen_uaddr) = ($usockaddr_len)
(argstr) = (sprintf("%d, %p, %p", $fd, $usockaddr, $usockaddr_len))
}
probe syscall.getpeername.return = kernel.function("sys_getpeername").return{
(name) = ("getpeername")
(retstr) = (returnstr(1))
}
probe syscall.getpgid = kernel.function("sys_getpgid"){
(name) = ("getpgid")
}
probe syscall.getpgid.return = kernel.function("sys_getpgid").return{
(name) = ("getpgid")
(retstr) = (returnstr(1))
}
probe syscall.getpgrp = kernel.function("sys_getpgrp"){
(name) = ("getpgrp")
}
probe syscall.getpgrp.return = kernel.function("sys_getpgrp").return{
(name) = ("getpgrp")
(retstr) = (returnstr(1))
}
probe syscall.getpid = kernel.function("sys_getpid"){
(name) = ("getpid")
}
probe syscall.getpid.return = kernel.function("sys_getpid").return{
(name) = ("getpid")
(retstr) = (returnstr(1))
}
probe syscall.getppid = kernel.function("sys_getppid"){
(name) = ("getppid")
}
probe syscall.getppid.return = kernel.function("sys_getppid").return{
(name) = ("getppid")
}
probe syscall.getpriority = kernel.function("sys_getpriority"){
(name) = ("getpriority")
(which) = ($which)
(who) = ($who)
(argstr) = (sprintf("%s, %d", _priority_which_str(which), who))
}
probe syscall.getpriority.return = kernel.function("sys_getpriority").return{
(name) = ("getpriority")
(retstr) = (returnstr(1))
}
probe syscall.getresgid = kernel.function("sys_getresgid"){
(name) = ("getresgid")
(rgid_uaddr) = ($rgid)
(egid_uaddr) = ($egid)
(sgid_uaddr) = ($sgid)
(argstr) = (sprintf("%p, %p, %p", rgid_uaddr, egid_uaddr, sgid_uaddr))
}
probe syscall.getresgid.return = kernel.function("sys_getresgid").return{
(name) = ("getresgid")
(retstr) = (returnstr(1))
}
probe syscall.getresgid16 = kernel.function("sys_getresgid16")?{
(name) = ("getresgid16")
(rgid_uaddr) = ($rgid)
(egid_uaddr) = ($egid)
(sgid_uaddr) = ($sgid)
(argstr) = (sprintf("%p, %p, %p", rgid_uaddr, egid_uaddr, sgid_uaddr))
}
probe syscall.getresgid16.return = kernel.function("sys_getresgid16").return?{
(name) = ("getresgid16")
(retstr) = (returnstr(1))
}
probe syscall.getresuid = kernel.function("sys_getresuid"){
(name) = ("getresuid")
(ruid_uaddr) = ($ruid)
(euid_uaddr) = ($euid)
(suid_uaddr) = ($suid)
(argstr) = (sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr))
}
probe syscall.getresuid.return = kernel.function("sys_getresuid").return{
(name) = ("getresuid")
(retstr) = (returnstr(1))
}
probe syscall.getresuid16 = kernel.function("sys_getresuid16")?{
(name) = ("getresuid16")
(ruid_uaddr) = ($ruid)
(euid_uaddr) = ($euid)
(suid_uaddr) = ($suid)
(argstr) = (sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr))
}
probe syscall.getresuid16.return = kernel.function("sys_getresuid16").return?{
(name) = ("getresuid16")
(retstr) = (returnstr(1))
}
probe syscall.getrlimit = kernel.function("sys_getrlimit"){
(name) = ("getrlimit")
(resource) = ($resource)
(rlim_uaddr) = ($rlim)
(argstr) = (sprintf("%s, %p", _rlimit_resource_str($resource), rlim_uaddr))
}
probe syscall.getrlimit.return = kernel.function("sys_getrlimit").return{
(name) = ("getrlimit")
(retstr) = (returnstr(1))
}
probe syscall.getrusage = kernel.function("sys_getrusage"){
(name) = ("getrusage")
(who) = ($who)
(usage_uaddr) = ($ru)
(argstr) = (sprintf("%s, %p", _rusage_who_str($who), usage_uaddr))
}
probe syscall.getrusage.return = kernel.function("sys_getrusage").return{
(name) = ("getrusage")
(retstr) = (returnstr(1))
}
probe syscall.getsid = kernel.function("sys_getsid"){
(name) = ("getsid")
(pid) = ($pid)
(argstr) = (sprint(pid))
}
tsid.return = kernel.function("sys_getsid").return{
(name) = ("getsid")
(retstr) = (returnstr(1))
}
probe syscall.getsockname = kernel.function("sys_getsockname"){
(name) = ("getsockname")
(s) = ($fd)
(name_uaddr) = ($usockaddr)
(namelen_uaddr) = ($usockaddr_len)
(argstr) = (sprintf("%d, %p, %p", $fd, $usockaddr, $usockaddr_len))
}
probe syscall.getsockname.return = kernel.function("sys_getsockname").return{
(name) = ("getsockname")
(retstr) = (returnstr(1))
}
probe syscall.getsockopt = kernel.function("sys_getsockopt"){
(name) = ("getsockopt")
(fd) = ($fd)
(level) = ($level)
(level_str) = (_sockopt_level_str($level))
(optname) = ($optname)
(optname_str) = (_sockopt_optname_str($optname))
(optval_uaddr) = ($optval)
(optlen_uaddr) = ($optlen)
(argstr) = (sprintf("%d, %s, %s, %p, %p", $fd, _sockopt_level_str($level), _sockopt_optname_str($optname), $optval, $optlen))
}
probe syscall.getsockopt.return = kernel.function("sys_getsockopt").return{
(name) = ("getsockopt.return")
}
probe syscall.gettid = kernel.function("sys_gettid"){
(name) = ("gettid")
}
probe syscall.gettid.return = kernel.function("sys_gettid").return{
(name) = ("gettid")
(retstr) = (returnstr(1))
}
probe syscall.gettimeofday = kernel.function("sys_gettimeofday"), kernel.function("sys32_gettimeofday")?{
(name) = ("gettimeofday")
(tv_uaddr) = ($tv)
(tz_uaddr) = ($tz)
(argstr) = (sprintf("%p, %p", $tv, $tz))
}
probe syscall.gettimeofday.return = kernel.function("sys_gettimeofday").return, kernel.function("sys32_gettimeofday").return?{
(name) = ("gettimeofday")
(retstr) = (returnstr(1))
}
probe syscall.getuid = kernel.function("sys_getuid"){
(name) = ("getuid")
}
probe syscall.getuid.return = kernel.function("sys_getuid").return{
(name) = ("getuid")
(retstr) = (returnstr(1))
}
probe syscall.getuid16 = kernel.function("sys_getuid16")?{
(name) = ("getuid16")
}
probe syscall.getuid16.return = kernel.function("sys_getuid16").return?{
(name) = ("getuid16")
(retstr) = (returnstr(1))
}
probe syscall.getxattr = kernel.function("sys_getxattr"){
(name) = ("getxattr")
(path) = (user_string($path))
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, size))
}
probe syscall.getxattr.return = kernel.function("sys_getxattr").return{
(name) = ("getxattr")
(retstr) = (returnstr(1))
}
probe syscall.init_module = kernel.function("sys_init_module"){
(name) = ("init_module")
(umod_uaddr) = ($umod)
(len) = ($len)
(uargs) = (user_string($uargs))
(argstr) = (sprintf("%p, %d, %s", umod_uaddr, len, uargs))
}
probe syscall.init_module.return = kernel.function("sys_init_module").return{
(name) = ("init_module")
(retstr) = (returnstr(1))
}
probe syscall.io_cancel = kernel.function("sys_io_cancel"){
(name) = ("io_cancel")
(ctx_id) = ($ctx_id)
(iocb_uaddr) = ($iocb)
(result_uaddr) = ($result)
(argstr) = (sprintf("%d, %p, %p", ctx_id, iocb_uaddr, result_uaddr))
}
probe syscall.io_cancel.return = kernel.function("sys_io_cancel").return{
(name) = ("io_cancel")
(retstr) = (returnstr(1))
}
probe syscall.ioctl = kernel.function("sys_ioctl"){
(name) = ("ioctl")
(fd) = ($fd)
(request) = ($cmd)
(argp) = ($arg)
(argstr) = (sprintf("%d, %d, %p", fd, request, argp))
}
probe syscall.ioctl.return = kernel.function("sys_ioctl").return{
(name) = ("ioctl")
(retstr) = (returnstr(1))
}
probe syscall.io_destroy = kernel.function("sys_io_destroy"){
(name) = ("io_destroy")
(ctx) = ($ctx)
(argstr) = (sprintf("%d", ctx))
}
probe syscall.io_destroy.return = kernel.function("sys_io_destroy").return{
(name) = ("io_destroy")
(retstr) = (returnstr(1))
}
probe syscall.io_getevents = kernel.function("sys_io_getevents"){
(name) = ("io_getevents")
(ctx_id) = ($ctx_id)
(min_nr) = ($min_nr)
(nr) = ($nr)
(events_uaddr) = ($events)
(timeout_uaddr) = ($timeout)
(timestr) = (_struct_timespec_u($timeout))
(argstr) = (sprintf("%d, %d, %d, %p, %p, %s", ctx_id, min_nr, nr, events_uaddr, tim
probe syscall.getsid.return = kernel.function("sys_getsid").return{
(name) = ("getsid")
(retstr) = (returnstr(1))
}
probe syscall.getsockname = kernel.function("sys_getsockname"){
(name) = ("getsockname")
(s) = ($fd)
(name_uaddr) = ($usockaddr)
(namelen_uaddr) = ($usockaddr_len)
(argstr) = (sprintf("%d, %p, %p", $fd, $usockaddr, $usockaddr_len))
}
probe syscall.getsockname.return = kernel.function("sys_getsockname").return{
(name) = ("getsockname")
(retstr) = (returnstr(1))
}
probe syscall.getsockopt = kernel.function("sys_getsockopt"){
(name) = ("getsockopt")
(fd) = ($fd)
(level) = ($level)
(level_str) = (_sockopt_level_str($level))
(optname) = ($optname)
(optname_str) = (_sockopt_optname_str($optname))
(optval_uaddr) = ($optval)
(optlen_uaddr) = ($optlen)
(argstr) = (sprintf("%d, %s, %s, %p, %p", $fd, _sockopt_level_str($level), _sockopt_optname_str($optname), $optval, $optlen))
}
probe syscall.getsockopt.return = kernel.function("sys_getsockopt").return{
(name) = ("getsockopt.return")
}
probe syscall.gettid = kernel.function("sys_gettid"){
(name) = ("gettid")
}
probe syscall.gettid.return = kernel.function("sys_gettid").return{
(name) = ("gettid")
(retstr) = (returnstr(1))
}
probe syscall.gettimeofday = kernel.function("sys_gettimeofday"), kernel.function("sys32_gettimeofday")?{
(name) = ("gettimeofday")
(tv_uaddr) = ($tv)
(tz_uaddr) = ($tz)
(argstr) = (sprintf("%p, %p", $tv, $tz))
}
probe syscall.gettimeofday.return = kernel.function("sys_gettimeofday").return, kernel.function("sys32_gettimeofday").return?{
(name) = ("gettimeofday")
(retstr) = (returnstr(1))
}
probe syscall.getuid = kernel.function("sys_getuid"){
(name) = ("getuid")
}
probe syscall.getuid.return = kernel.function("sys_getuid").return{
(name) = ("getuid")
(retstr) = (returnstr(1))
}
probe syscall.getuid16 = kernel.function("sys_getuid16")?{
(name) = ("getuid16")
}
probe syscall.getuid16.return = kernel.function("sys_getuid16").return?{
(name) = ("getuid16")
(retstr) = (returnstr(1))
}
probe syscall.getxattr = kernel.function("sys_getxattr"){
(name) = ("getxattr")
(path) = (user_string($path))
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, size))
}
probe syscall.getxattr.return = kernel.function("sys_getxattr").return{
(name) = ("getxattr")
(retstr) = (returnstr(1))
}
probe syscall.init_module = kernel.function("sys_init_module"){
(name) = ("init_module")
(umod_uaddr) = ($umod)
(len) = ($len)
(uargs) = (user_string($uargs))
(argstr) = (sprintf("%p, %d, %s", umod_uaddr, len, uargs))
}
probe syscall.init_module.return = kernel.function("sys_init_module").return{
(name) = ("init_module")
(retstr) = (returnstr(1))
}
probe syscall.io_cancel = kernel.function("sys_io_cancel"){
(name) = ("io_cancel")
(ctx_id) = ($ctx_id)
(iocb_uaddr) = ($iocb)
(result_uaddr) = ($result)
(argstr) = (sprintf("%d, %p, %p", ctx_id, iocb_uaddr, result_uaddr))
}
probe syscall.io_cancel.return = kernel.function("sys_io_cancel").return{
(name) = ("io_cancel")
(retstr) = (returnstr(1))
}
probe syscall.ioctl = kernel.function("sys_ioctl"){
(name) = ("ioctl")
(fd) = ($fd)
(request) = ($cmd)
(argp) = ($arg)
(argstr) = (sprintf("%d, %d, %p", fd, request, argp))
}
probe syscall.ioctl.return = kernel.function("sys_ioctl").return{
(name) = ("ioctl")
(retstr) = (returnstr(1))
}
probe syscall.io_destroy = kernel.function("sys_io_destroy"){
(name) = ("io_destroy")
(ctx) = ($ctx)
(argstr) = (sprintf("%d", ctx))
}
probe syscall.io_destroy.return = kernel.function("sys_io_destroy").return{
(name) = ("io_destroy")
(retstr) = (returnstr(1))
}
probe syscall.io_getevents = kernel.function("sys_io_getevents"){
(name) = ("io_getevents")
(ctx_id) = ($ctx_id)
(min_nr) = ($min_nr)
(nr) = ($nr)
(events_uaddr) = ($events)
(timeout_uaddr) = ($timeout)
(timestr) = (_struct_timespec_u($timeout))
eout_uaddr, timestr))
}
probe syscall.io_getevents.return = kernel.function("sys_io_getevents").return{
(name) = ("io_getevents")
(retstr) = (returnstr(1))
}
probe syscall.ioperm = kernel.function("sys_ioperm")?{
(name) = ("ioperm")
(from) = ($from)
(num) = ($num)
(turn_on) = ($turn_on)
(argstr) = (sprintf("%d, %d, %d", $from, $num, $turn_on))
}
probe syscall.ioperm.return = kernel.function("sys_ioperm").return?{
(name) = ("ioperm")
(retstr) = (returnstr(1))
}
probe syscall.io_setup = kernel.function("sys_io_setup"){
(name) = ("io_setup")
(maxevents) = ($nr_events)
(ctxp_uaddr) = ($ctxp)
(argstr) = (sprintf("%d, %p", maxevents, ctxp_uaddr))
}
probe syscall.io_setup.return = kernel.function("sys_io_setup").return{
(name) = ("io_setup")
(retstr) = (returnstr(1))
}
probe syscall.io_submit = kernel.function("sys_io_submit"){
(name) = ("io_submit")
(ctx_id) = ($ctx_id)
(nr) = ($nr)
(iocbpp_uaddr) = ($iocbpp)
(argstr) = (sprintf("%d, %d, %p", ctx_id, nr, iocbpp_uaddr))
}
probe syscall.io_submit.return = kernel.function("sys_io_submit").return{
(name) = ("io_submit")
(retstr) = (returnstr(1))
}
probe syscall.ioprio_get = kernel.function("sys_ioprio_get")?{
(name) = ("ioprio_get")
(which) = ($which)
(who) = ($who)
(argstr) = (sprintf("%d, %d", $which, $who))
}
probe syscall.ioprio_get.return = kernel.function("sys_ioprio_get").return?{
(name) = ("ioprio_get")
(retstr) = (returnstr(1))
}
probe syscall.ioprio_set = kernel.function("sys_ioprio_set")?{
(name) = ("ioprio_set")
(which) = ($which)
(who) = ($who)
(ioprio) = ($ioprio)
(argstr) = (sprintf("%d, %d, %d", $which, $who, $ioprio))
}
probe syscall.ioprio_set.return = kernel.function("sys_ioprio_set").return?{
(name) = ("ioprio_set")
(retstr) = (returnstr(1))
}
probe syscall.kexec_load = kernel.function("sys_kexec_load")?{
(name) = ("kexec_load")
(entry) = ($entry)
(nr_segments) = ($nr_segments)
(segments_uaddr) = ($segments)
(flags) = ($flags)
(argstr) = (sprintf("%p, %d, %p, %d", $entry, $nr_segments, $segments, $flags))
}
probe syscall.kexec_load.return = kernel.function("sys_kexec_load").return?{
(name) = ("kexec_load")
(retstr) = (returnstr(1))
}
probe syscall.keyctl = kernel.function("sys_keyctl")?{
(name) = ("keyctl")
(option) = ($option)
(arg2) = ($arg2)
(arg3) = ($arg3)
(arg4) = ($arg4)
(arg5) = ($arg5)
(argstr) = (sprintf("%d", $option))
}
probe syscall.keyctl.return = kernel.function("sys_keyctl").return?{
(name) = ("keyctl")
(retstr) = (returnstr(1))
}
probe syscall.kill = kernel.function("sys_kill"){
(name) = ("kill")
(pid) = ($pid)
(sig) = ($sig)
(argstr) = (sprintf("%d, %s", $pid, _signal_name($sig)))
}
probe syscall.kill.return = kernel.function("sys_kill").return{
(name) = ("kill")
(retstr) = (returnstr(1))
}
probe syscall.lchown = kernel.function("sys_lchown"){
(name) = ("lchown")
(path) = (user_string($filename))
(owner) = ($user)
(group) = ($group)
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.lchown.return = kernel.function("sys_lchown").return{
(name) = ("lchown")
(retstr) = (returnstr(1))
}
probe syscall.lchown16 = kernel.function("sys_lchown16")?{
(name) = ("lchown16")
(path) = (user_string($filename))
(owner) = (__short($user))
(group) = (__short($group))
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.lchown16.return = kernel.function("sys_lchown16").return?{
(name) = ("lchown16")
(retstr) = (returnstr(1))
}
probe syscall.lgetxattr = kernel.function("sys_lgetxattr"){
(name) = ("lgetxattr")
(path) = (user_string($path))
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, size))
}
probe syscall.lgetxattr.return = kernel.function("sys_lgetxattr").return{
(name) = ("lgetxattr")
(retstr) = (returnstr(1))
}
probe syscall.link = kernel.function("sys_link"){
(name) = ("link")
(oldpath) = (user_string($oldname))
(argstr) = (sprintf("%d, %d, %d, %p, %p, %s", ctx_id, min_nr, nr, events_uaddr, timeout_uaddr, timestr))
}
probe syscall.io_getevents.return = kernel.function("sys_io_getevents").return{
(name) = ("io_getevents")
(retstr) = (returnstr(1))
}
probe syscall.ioperm = kernel.function("sys_ioperm")?{
(name) = ("ioperm")
(from) = ($from)
(num) = ($num)
(turn_on) = ($turn_on)
(argstr) = (sprintf("%d, %d, %d", $from, $num, $turn_on))
}
probe syscall.ioperm.return = kernel.function("sys_ioperm").return?{
(name) = ("ioperm")
(retstr) = (returnstr(1))
}
probe syscall.io_setup = kernel.function("sys_io_setup"){
(name) = ("io_setup")
(maxevents) = ($nr_events)
(ctxp_uaddr) = ($ctxp)
(argstr) = (sprintf("%d, %p", maxevents, ctxp_uaddr))
}
probe syscall.io_setup.return = kernel.function("sys_io_setup").return{
(name) = ("io_setup")
(retstr) = (returnstr(1))
}
probe syscall.io_submit = kernel.function("sys_io_submit"){
(name) = ("io_submit")
(ctx_id) = ($ctx_id)
(nr) = ($nr)
(iocbpp_uaddr) = ($iocbpp)
(argstr) = (sprintf("%d, %d, %p", ctx_id, nr, iocbpp_uaddr))
}
probe syscall.io_submit.return = kernel.function("sys_io_submit").return{
(name) = ("io_submit")
(retstr) = (returnstr(1))
}
probe syscall.ioprio_get = kernel.function("sys_ioprio_get")?{
(name) = ("ioprio_get")
(which) = ($which)
(who) = ($who)
(argstr) = (sprintf("%d, %d", $which, $who))
}
probe syscall.ioprio_get.return = kernel.function("sys_ioprio_get").return?{
(name) = ("ioprio_get")
(retstr) = (returnstr(1))
}
probe syscall.ioprio_set = kernel.function("sys_ioprio_set")?{
(name) = ("ioprio_set")
(which) = ($which)
(who) = ($who)
(ioprio) = ($ioprio)
(argstr) = (sprintf("%d, %d, %d", $which, $who, $ioprio))
}
probe syscall.ioprio_set.return = kernel.function("sys_ioprio_set").return?{
(name) = ("ioprio_set")
(retstr) = (returnstr(1))
}
probe syscall.kexec_load = kernel.function("sys_kexec_load")?{
(name) = ("kexec_load")
(entry) = ($entry)
(nr_segments) = ($nr_segments)
(segments_uaddr) = ($segments)
(flags) = ($flags)
(argstr) = (sprintf("%p, %d, %p, %d", $entry, $nr_segments, $segments, $flags))
}
probe syscall.kexec_load.return = kernel.function("sys_kexec_load").return?{
(name) = ("kexec_load")
(retstr) = (returnstr(1))
}
probe syscall.keyctl = kernel.function("sys_keyctl")?{
(name) = ("keyctl")
(option) = ($option)
(arg2) = ($arg2)
(arg3) = ($arg3)
(arg4) = ($arg4)
(arg5) = ($arg5)
(argstr) = (sprintf("%d", $option))
}
probe syscall.keyctl.return = kernel.function("sys_keyctl").return?{
(name) = ("keyctl")
(retstr) = (returnstr(1))
}
probe syscall.kill = kernel.function("sys_kill"){
(name) = ("kill")
(pid) = ($pid)
(sig) = ($sig)
(argstr) = (sprintf("%d, %s", $pid, _signal_name($sig)))
}
probe syscall.kill.return = kernel.function("sys_kill").return{
(name) = ("kill")
(retstr) = (returnstr(1))
}
probe syscall.lchown = kernel.function("sys_lchown"){
(name) = ("lchown")
(path) = (user_string($filename))
(owner) = ($user)
(group) = ($group)
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.lchown.return = kernel.function("sys_lchown").return{
(name) = ("lchown")
(retstr) = (returnstr(1))
}
probe syscall.lchown16 = kernel.function("sys_lchown16")?{
(name) = ("lchown16")
(path) = (user_string($filename))
(owner) = (__short($user))
(group) = (__short($group))
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.lchown16.return = kernel.function("sys_lchown16").return?{
(name) = ("lchown16")
(retstr) = (returnstr(1))
}
probe syscall.lgetxattr = kernel.function("sys_lgetxattr"){
(name) = ("lgetxattr")
(path) = (user_string($path))
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, size))
}
probe syscall.lgetxattr.return = kernel.function("sys_lgetxattr").return{
(name) = ("lgetxattr")
(retstr) = (returnstr(1))
}
probe syscall.link = kernel.function("sys_link"){
(name) = ("link")
(oldpath) = (user_string($oldname))
(newpath) = (user_string($newname))
(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))
}
probe syscall.link.return = kernel.function("sys_link").return{
(name) = ("link")
(retstr) = (returnstr(1))
}
probe syscall.listen = kernel.function("sys_listen"){
(name) = ("listen")
(sockfd) = ($fd)
(backlog) = ($backlog)
(argstr) = (sprintf("%d, %d", $fd, $backlog))
}
probe syscall.listen.return = kernel.function("sys_listen").return{
(name) = ("listen")
(retstr) = (returnstr(1))
}
probe syscall.listxattr = kernel.function("sys_listxattr"){
(name) = ("listxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(list_uaddr) = ($list)
(size) = ($size)
(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), $list, $size))
}
probe syscall.listxattr.return = kernel.function("sys_listxattr").return{
(name) = ("listxattr")
(retstr) = (returnstr(1))
}
probe syscall.llistxattr = kernel.function("sys_llistxattr"){
(name) = ("llistxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(list_uaddr) = ($list)
(size) = ($size)
(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), $list, $size))
}
probe syscall.llistxattr.return = kernel.function("sys_llistxattr").return{
(name) = ("llistxattr")
(retstr) = (returnstr(1))
}
probe syscall.llseek = kernel.function("sys_llseek"){
(name) = ("llseek")
(fd) = ($fd)
(offset_high) = ($offset_high)
(offset_low) = ($offset_low)
(result_uaddr) = ($result)
(whence) = ($origin)
(whence_str) = (_seek_whence_str($origin))
(argstr) = (sprintf("%d, 0x%x, 0x%x, %p, %s", $fd, $offset_high, $offset_low, $result, whence_str))
}
probe syscall.llseek.return = kernel.function("sys_llseek").return{
(name) = ("llseek")
(retstr) = (returnstr(1))
}
probe syscall.lookup_dcookie = kernel.function("sys_lookup_dcookie"){
(name) = ("lookup_dcookie")
(cookie) = ($cookie64)
(buffer_uaddr) = ($buf)
(len) = ($len)
(argstr) = (sprintf("%d, %p, %d", $cookie64, $buf, $len))
}
probe syscall.lookup_dcookie.return = kernel.function("sys_lookup_dcookie").return{
(name) = ("lookup_dcookie")
(retstr) = (returnstr(1))
}
probe syscall.lremovexattr = kernel.function("sys_lremovexattr"){
(name) = ("lremovexattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(name_uaddr) = ($name)
(name2) = (user_string($name))
(argstr) = (sprintf("%s, %s", user_string_quoted($path), user_string_quoted($name)))
}
probe syscall.lremovexattr.return = kernel.function("sys_lremovexattr").return{
(name) = ("lremovexattr")
(retstr) = (returnstr(1))
}
probe syscall.lseek = kernel.function("sys_lseek"){
(name) = ("lseek")
(fildes) = ($fd)
(offset) = ($offset)
(whence) = ($origin)
(whence_str) = (_seek_whence_str($origin))
(argstr) = (sprintf("%d, %d, %s", $fd, $offset, whence_str))
}
probe syscall.lseek.return = kernel.function("sys_lseek").return{
(name) = ("lseek")
(retstr) = (returnstr(1))
}
probe syscall.lsetxattr = kernel.function("sys_lsetxattr"){
(name) = ("lsetxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(name_uaddr) = ($name)
(name_str) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(flags) = ($flags)
(argstr) = (sprintf("%s, %s, %p, %d, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, $size, $flags))
}
probe syscall.lsetxattr.return = kernel.function("sys_lsetxattr").return{
(name) = ("lsetxattr")
(retstr) = (returnstr(1))
}
probe syscall.lstat = kernel.function("sys_lstat")?, kernel.function("sys_newlstat")?, kernel.function("compat_sys_newlstat")?, kernel.function("sys32_lstat64")?{
(name) = ("lstat")
(file_name) = (user_string($filename))
(buf_uaddr) = ($statbuf)
(argstr) = (sprintf("%s, %p", user_string_quoted($filename), $statbuf))
}
probe syscall.lstat.return = kernel.function("sys_lstat").return?, kernel.function("sys_newlstat").return?, kernel.function("compat_sys_newlstat").return?, kernel.function("sys32_lstat64").return?{
(name) = ("lstat")
(retstr) = (returnstr(1))
}
probe syscall.madvise = kernel.function("sy
(newpath) = (user_string($newname))
(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))
}
probe syscall.link.return = kernel.function("sys_link").return{
(name) = ("link")
(retstr) = (returnstr(1))
}
probe syscall.listen = kernel.function("sys_listen"){
(name) = ("listen")
(sockfd) = ($fd)
(backlog) = ($backlog)
(argstr) = (sprintf("%d, %d", $fd, $backlog))
}
probe syscall.listen.return = kernel.function("sys_listen").return{
(name) = ("listen")
(retstr) = (returnstr(1))
}
probe syscall.listxattr = kernel.function("sys_listxattr"){
(name) = ("listxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(list_uaddr) = ($list)
(size) = ($size)
(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), $list, $size))
}
probe syscall.listxattr.return = kernel.function("sys_listxattr").return{
(name) = ("listxattr")
(retstr) = (returnstr(1))
}
probe syscall.llistxattr = kernel.function("sys_llistxattr"){
(name) = ("llistxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(list_uaddr) = ($list)
(size) = ($size)
(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), $list, $size))
}
probe syscall.llistxattr.return = kernel.function("sys_llistxattr").return{
(name) = ("llistxattr")
(retstr) = (returnstr(1))
}
probe syscall.llseek = kernel.function("sys_llseek"){
(name) = ("llseek")
(fd) = ($fd)
(offset_high) = ($offset_high)
(offset_low) = ($offset_low)
(result_uaddr) = ($result)
(whence) = ($origin)
(whence_str) = (_seek_whence_str($origin))
(argstr) = (sprintf("%d, 0x%x, 0x%x, %p, %s", $fd, $offset_high, $offset_low, $result, whence_str))
}
probe syscall.llseek.return = kernel.function("sys_llseek").return{
(name) = ("llseek")
(retstr) = (returnstr(1))
}
probe syscall.lookup_dcookie = kernel.function("sys_lookup_dcookie"){
(name) = ("lookup_dcookie")
(cookie) = ($cookie64)
(buffer_uaddr) = ($buf)
(len) = ($len)
(argstr) = (sprintf("%d, %p, %d", $cookie64, $buf, $len))
}
probe syscall.lookup_dcookie.return = kernel.function("sys_lookup_dcookie").return{
(name) = ("lookup_dcookie")
(retstr) = (returnstr(1))
}
probe syscall.lremovexattr = kernel.function("sys_lremovexattr"){
(name) = ("lremovexattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(name_uaddr) = ($name)
(name2) = (user_string($name))
(argstr) = (sprintf("%s, %s", user_string_quoted($path), user_string_quoted($name)))
}
probe syscall.lremovexattr.return = kernel.function("sys_lremovexattr").return{
(name) = ("lremovexattr")
(retstr) = (returnstr(1))
}
probe syscall.lseek = kernel.function("sys_lseek"){
(name) = ("lseek")
(fildes) = ($fd)
(offset) = ($offset)
(whence) = ($origin)
(whence_str) = (_seek_whence_str($origin))
(argstr) = (sprintf("%d, %d, %s", $fd, $offset, whence_str))
}
probe syscall.lseek.return = kernel.function("sys_lseek").return{
(name) = ("lseek")
(retstr) = (returnstr(1))
}
probe syscall.lsetxattr = kernel.function("sys_lsetxattr"){
(name) = ("lsetxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(name_uaddr) = ($name)
(name_str) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(flags) = ($flags)
(argstr) = (sprintf("%s, %s, %p, %d, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, $size, $flags))
}
probe syscall.lsetxattr.return = kernel.function("sys_lsetxattr").return{
(name) = ("lsetxattr")
(retstr) = (returnstr(1))
}
probe syscall.lstat = kernel.function("sys_lstat")?, kernel.function("sys_newlstat")?, kernel.function("compat_sys_newlstat")?, kernel.function("sys32_lstat64")?{
(name) = ("lstat")
(file_name) = (user_string($filename))
(buf_uaddr) = ($statbuf)
(argstr) = (sprintf("%s, %p", user_string_quoted($filename), $statbuf))
}
probe syscall.lstat.return = kernel.function("sys_lstat").return?, kernel.function("sys_newlstat").return?, kernel.function("compat_sys_newlstat").return?, kernel.function("sys32_lstat64").return?{
(name) = ("lstat")
(retstr) = (returnstr(1))
}
s_madvise"){
(name) = ("madvise")
(start) = ($start)
(length) = ($len_in)
(advice) = ($behavior)
(advice_str) = (_madvice_advice_str($behavior))
(argstr) = (sprintf("%p, %d, %s", $start, $len_in, _madvice_advice_str($behavior)))
}
probe syscall.madvise.return = kernel.function("sys_madvise").return{
(name) = ("madvise")
(retstr) = (returnstr(1))
}
probe syscall.mbind = kernel.function("sys_mbind")?{
(name) = ("mbind")
(start) = ($start)
(len) = ($len)
(mode) = ($mode)
(nmask_uaddr) = ($nmask)
(maxnode) = ($maxnode)
(flags) = ($flags)
(argstr) = (sprintf("%d, %d, %d, %p, %d, %d", $start, $len, $mode, nmask_uaddr, $maxnode, $flags))
}
probe syscall.mbind.return = kernel.function("sys_mbind").return?{
(name) = ("mbind")
(retstr) = (returnstr(1))
}
probe syscall.mincore = kernel.function("sys_mincore"){
(name) = ("mincore")
(start) = ($start)
(length) = ($len)
(vec_uaddr) = ($vec)
(argstr) = (sprintf("%p, %d, %p", $start, $len, $vec))
}
probe syscall.mincore.return = kernel.function("sys_mincore").return{
(name) = ("mincore")
(retstr) = (returnstr(1))
}
probe syscall.mkdir = kernel.function("sys_mkdir"){
(name) = ("mkdir")
(pathname_uaddr) = ($pathname)
(pathname) = (user_string($pathname))
(mode) = ($mode)
(argstr) = (sprintf("%s, %#o", user_string_quoted($pathname), $mode))
}
probe syscall.mkdir.return = kernel.function("sys_mkdir").return{
(name) = ("mkdir")
(retstr) = (returnstr(1))
}
probe syscall.mkdirat = kernel.function("sys_mkdirat")?{
(name) = ("mkdirat")
(dirfd) = ($dfd)
(pathname) = (user_string($pathname))
(mode) = ($mode)
(argstr) = (sprintf("%d, %s, %#o", $dfd, user_string_quoted($pathname), $mode))
}
probe syscall.mkdirat.return = kernel.function("sys_mkdirat").return?{
(name) = ("mkdirat")
(retstr) = (returnstr(1))
}
probe syscall.mknod = kernel.function("sys_mknod"){
(name) = ("mknod")
(pathname) = (user_string($filename))
(mode) = ($mode)
(dev) = ($dev)
(argstr) = (sprintf("%s, %s, %p", user_string_quoted($filename), _mknod_mode_str($mode), dev))
}
probe syscall.mknod.return = kernel.function("sys_mknod").return{
(name) = ("mknod")
(retstr) = (returnstr(1))
}
probe syscall.mlock = kernel.function("sys_mlock"){
(name) = ("mlock")
(addr) = ($start)
(len) = ($len)
(argstr) = (sprintf("0x%p, %d", addr, len))
}
probe syscall.mlock.return = kernel.function("sys_mlock").return{
(name) = ("mlock")
(retstr) = (returnstr(1))
}
probe syscall.mlockall = kernel.function("sys_mlockall"){
(name) = ("mlockall")
(flags) = ($flags)
(flags_str) = (_mlockall_flags_str($flags))
(argstr) = (flags_str)
}
probe syscall.mlockall.return = kernel.function("sys_mlockall").return{
(name) = ("mlockall")
(retstr) = (returnstr(1))
}
probe syscall.mmap = kernel.function("sys_mmap")?{
(name) = ("mmap")
(start) = ($addr)
(len) = ($len)
(prot) = ($prot)
(flags) = ($flags)
(fd) = ($fd)
(offset) = ($off)
(argstr) = (sprintf("%p, %d, %s, %s, %d, %d", $addr, $len, _mprotect_prot_str($prot), _mmap_flags($flags), $fd, offset))
}
probe syscall.mmap.return = kernel.function("sys_mmap").return?{
(name) = ("mmap")
(retstr) = (returnstr(2))
}
probe syscall.mmap2 = kernel.function("sys_mmap2")?, kernel.function("sys32_mmap2")?{
(name) = ("mmap2")
(start) = ($addr)
(length) = ($len)
(prot) = ($prot)
(flags) = ($flags)
(fd) = ($fd)
(pgoffset) = ($pgoff)
(argstr) = (sprintf("%p, %d, %s, %s, %d, %d", $addr, $len, _mprotect_prot_str($prot), _mmap_flags($flags), $fd, $pgoff))
}
probe syscall.mmap2.return = kernel.function("sys_mmap2").return?, kernel.function("sys32_mmap2").return?{
(name) = ("mmap2")
(retstr) = (returnstr(2))
}
probe syscall.modify_ldt = kernel.function("sys_modify_ldt")?{
(name) = ("modify_ldt")
(func) = ($func)
(ptr_uaddr) = ($ptr)
(bytecount) = ($bytecount)
(argstr) = (sprintf("%d, %p, %d", $func, $ptr, $bytecount))
}
probe syscall.modify_ldt.return = kernel.function("sys_modify_ldt").return?{
(name) = ("modify_ldt")
(retstr) = (returnstr(1))
}
probe syscall.mount = kernel.function("sys_mount"), kernel.function
probe syscall.madvise = kernel.function("sys_madvise"){
(name) = ("madvise")
(start) = ($start)
(length) = ($len_in)
(advice) = ($behavior)
(advice_str) = (_madvice_advice_str($behavior))
(argstr) = (sprintf("%p, %d, %s", $start, $len_in, _madvice_advice_str($behavior)))
}
probe syscall.madvise.return = kernel.function("sys_madvise").return{
(name) = ("madvise")
(retstr) = (returnstr(1))
}
probe syscall.mbind = kernel.function("sys_mbind")?{
(name) = ("mbind")
(start) = ($start)
(len) = ($len)
(mode) = ($mode)
(nmask_uaddr) = ($nmask)
(maxnode) = ($maxnode)
(flags) = ($flags)
(argstr) = (sprintf("%d, %d, %d, %p, %d, %d", $start, $len, $mode, nmask_uaddr, $maxnode, $flags))
}
probe syscall.mbind.return = kernel.function("sys_mbind").return?{
(name) = ("mbind")
(retstr) = (returnstr(1))
}
probe syscall.mincore = kernel.function("sys_mincore"){
(name) = ("mincore")
(start) = ($start)
(length) = ($len)
(vec_uaddr) = ($vec)
(argstr) = (sprintf("%p, %d, %p", $start, $len, $vec))
}
probe syscall.mincore.return = kernel.function("sys_mincore").return{
(name) = ("mincore")
(retstr) = (returnstr(1))
}
probe syscall.mkdir = kernel.function("sys_mkdir"){
(name) = ("mkdir")
(pathname_uaddr) = ($pathname)
(pathname) = (user_string($pathname))
(mode) = ($mode)
(argstr) = (sprintf("%s, %#o", user_string_quoted($pathname), $mode))
}
probe syscall.mkdir.return = kernel.function("sys_mkdir").return{
(name) = ("mkdir")
(retstr) = (returnstr(1))
}
probe syscall.mkdirat = kernel.function("sys_mkdirat")?{
(name) = ("mkdirat")
(dirfd) = ($dfd)
(pathname) = (user_string($pathname))
(mode) = ($mode)
(argstr) = (sprintf("%d, %s, %#o", $dfd, user_string_quoted($pathname), $mode))
}
probe syscall.mkdirat.return = kernel.function("sys_mkdirat").return?{
(name) = ("mkdirat")
(retstr) = (returnstr(1))
}
probe syscall.mknod = kernel.function("sys_mknod"){
(name) = ("mknod")
(pathname) = (user_string($filename))
(mode) = ($mode)
(dev) = ($dev)
(argstr) = (sprintf("%s, %s, %p", user_string_quoted($filename), _mknod_mode_str($mode), dev))
}
probe syscall.mknod.return = kernel.function("sys_mknod").return{
(name) = ("mknod")
(retstr) = (returnstr(1))
}
probe syscall.mlock = kernel.function("sys_mlock"){
(name) = ("mlock")
(addr) = ($start)
(len) = ($len)
(argstr) = (sprintf("0x%p, %d", addr, len))
}
probe syscall.mlock.return = kernel.function("sys_mlock").return{
(name) = ("mlock")
(retstr) = (returnstr(1))
}
probe syscall.mlockall = kernel.function("sys_mlockall"){
(name) = ("mlockall")
(flags) = ($flags)
(flags_str) = (_mlockall_flags_str($flags))
(argstr) = (flags_str)
}
probe syscall.mlockall.return = kernel.function("sys_mlockall").return{
(name) = ("mlockall")
(retstr) = (returnstr(1))
}
probe syscall.mmap = kernel.function("sys_mmap")?{
(name) = ("mmap")
(start) = ($addr)
(len) = ($len)
(prot) = ($prot)
(flags) = ($flags)
(fd) = ($fd)
(offset) = ($off)
(argstr) = (sprintf("%p, %d, %s, %s, %d, %d", $addr, $len, _mprotect_prot_str($prot), _mmap_flags($flags), $fd, offset))
}
probe syscall.mmap.return = kernel.function("sys_mmap").return?{
(name) = ("mmap")
(retstr) = (returnstr(2))
}
probe syscall.mmap2 = kernel.function("sys_mmap2")?, kernel.function("sys32_mmap2")?{
(name) = ("mmap2")
(start) = ($addr)
(length) = ($len)
(prot) = ($prot)
(flags) = ($flags)
(fd) = ($fd)
(pgoffset) = ($pgoff)
(argstr) = (sprintf("%p, %d, %s, %s, %d, %d", $addr, $len, _mprotect_prot_str($prot), _mmap_flags($flags), $fd, $pgoff))
}
probe syscall.mmap2.return = kernel.function("sys_mmap2").return?, kernel.function("sys32_mmap2").return?{
(name) = ("mmap2")
(retstr) = (returnstr(2))
}
probe syscall.modify_ldt = kernel.function("sys_modify_ldt")?{
(name) = ("modify_ldt")
(func) = ($func)
(ptr_uaddr) = ($ptr)
(bytecount) = ($bytecount)
(argstr) = (sprintf("%d, %p, %d", $func, $ptr, $bytecount))
}
probe syscall.modify_ldt.return = kernel.function("sys_modify_ldt").return?{
(name) = ("modify_ldt")
(retstr) = (returnstr(1))
}
("compat_sys_mount")?{
(name) = ("mount")
(source) = (user_string($dev_name))
(target) = (user_string($dir_name))
(filesystemtype) = (user_string($type))
(mountflags) = ($flags)
(mountflags_str) = (_mountflags_str($flags))
(data) = (text_strn(user_string($data), 30, 1))
(argstr) = (sprintf("%s, %s, %s, %s, %s", user_string_quoted($dev_name), user_string_quoted($dir_name), user_string_quoted($type), mountflags_str, data))
}
probe syscall.mount.return = kernel.function("sys_mount").return, kernel.function("compat_sys_mount").return?{
(name) = ("mount")
(retstr) = (returnstr(1))
}
probe syscall.mprotect = kernel.function("sys_mprotect"){
(name) = ("mprotect")
(addr) = ($start)
(len) = ($len)
(prot) = ($prot)
(prot_str) = (_mprotect_prot_str($prot))
(argstr) = (sprintf("%p, %d, %s", $start, $len, _mprotect_prot_str($prot)))
}
probe syscall.mprotect.return = kernel.function("sys_mprotect").return{
(name) = ("mprotect")
(retstr) = (returnstr(1))
}
probe syscall.mq_getsetattr = kernel.function("sys_mq_getsetattr"){
(name) = ("mq_getsetattr")
(mqdes) = ($mqdes)
(u_mqstat_uaddr) = ($u_mqstat)
(u_omqstat_uaddr) = ($u_omqstat)
(argstr) = (sprintf("%d, %p, %p", $mqdes, $u_mqstat, $u_omqstat))
}
probe syscall.mq_getsetattr.return = kernel.function("sys_mq_getsetattr").return{
(name) = ("mq_getsetattr")
(retstr) = (returnstr(1))
}
probe syscall.mq_notify = kernel.function("sys_mq_notify"){
(name) = ("mq_notify")
(mqdes) = ($mqdes)
(notification_uaddr) = ($u_notification)
(argstr) = (sprintf("%d, %p", $mqdes, $u_notification))
}
probe syscall.mq_notify.return = kernel.function("sys_mq_notify").return{
(name) = ("mq_notify")
(retstr) = (returnstr(1))
}
probe syscall.mq_open = kernel.function("sys_mq_open"){
(name) = ("mq_open")
(name_uaddr) = ($u_name)
(filename) = (user_string($u_name))
(mode) = ($mode)
(u_attr_uaddr) = ($u_attr)
(oflag) = ($oflag)
if ((oflag) & (64)) (argstr) = (sprintf("%s, %s, %#o, %p", user_string_quoted($u_name), _sys_open_flag_str(oflag), $mode, $u_attr))
else (argstr) = (sprintf("%s, %s", user_string_quoted($u_name), _sys_open_flag_str(oflag)))
}
probe syscall.mq_open.return = kernel.function("sys_mq_open").return{
(name) = ("mq_open")
(retstr) = (returnstr(1))
}
probe syscall.mq_timedreceive = kernel.function("sys_mq_timedreceive"){
(name) = ("mq_timedreceive")
(mqdes) = ($mqdes)
(msg_ptr_uaddr) = ($u_msg_ptr)
(msg_len) = ($msg_len)
(msg_prio_uaddr) = ($u_msg_prio)
(abs_timout_uaddr) = ($u_abs_timeout)
(argstr) = (sprintf("%d, %p, %d, %p, %p", $mqdes, $u_msg_ptr, $msg_len, $u_msg_prio, $u_abs_timeout))
}
probe syscall.mq_timedreceive.return = kernel.function("sys_mq_timedreceive").return{
(name) = ("mq_timedreceive")
(retstr) = (returnstr(1))
}
probe syscall.mq_timedsend = kernel.function("sys_mq_timedsend"){
(name) = ("mq_timedsend")
(mqdes) = ($mqdes)
(msg_ptr_uaddr) = ($u_msg_ptr)
(msg_len) = ($msg_len)
(msg_prio) = ($msg_prio)
(abs_timeout_uaddr) = ($u_abs_timeout)
(argstr) = (sprintf("%d, %p, %d, %d, %p", $mqdes, $u_msg_ptr, $msg_len, $msg_prio, $u_abs_timeout))
}
probe syscall.mq_timedsend.return = kernel.function("sys_mq_timedsend").return{
(name) = ("mq_timedsend")
(retstr) = (returnstr(1))
}
probe syscall.mq_unlink = kernel.function("sys_mq_unlink"){
(name) = ("mq_unlink")
(u_name_uaddr) = ($u_name)
(u_name) = (user_string($u_name))
(argstr) = (user_string_quoted($u_name))
}
probe syscall.mq_unlink.return = kernel.function("sys_mq_unlink").return{
(name) = ("mq_unlink")
(retstr) = (returnstr(1))
}
probe syscall.mremap = kernel.function("sys_mremap"){
(name) = ("mremap")
(old_address) = ($addr)
(old_size) = ($old_len)
(new_size) = ($new_len)
(flags) = ($flags)
(new_address) = ($new_addr)
(argstr) = (sprintf("%p, %d, %d, %s, %p", $addr, $old_len, $new_len, _mmap_flags($flags), $new_addr))
}
probe syscall.mremap.return = kernel.function("sys_mremap").return{
(name) = ("mremap")
(retstr) = (returnstr(2))
}
probe syscall.msgctl = kernel.function("sys_msgctl"){
(name) = ("msgctl")
(msqid) = ($ms
probe syscall.mount = kernel.function("sys_mount"), kernel.function("compat_sys_mount")?{
(name) = ("mount")
(source) = (user_string($dev_name))
(target) = (user_string($dir_name))
(filesystemtype) = (user_string($type))
(mountflags) = ($flags)
(mountflags_str) = (_mountflags_str($flags))
(data) = (text_strn(user_string($data), 30, 1))
(argstr) = (sprintf("%s, %s, %s, %s, %s", user_string_quoted($dev_name), user_string_quoted($dir_name), user_string_quoted($type), mountflags_str, data))
}
probe syscall.mount.return = kernel.function("sys_mount").return, kernel.function("compat_sys_mount").return?{
(name) = ("mount")
(retstr) = (returnstr(1))
}
probe syscall.mprotect = kernel.function("sys_mprotect"){
(name) = ("mprotect")
(addr) = ($start)
(len) = ($len)
(prot) = ($prot)
(prot_str) = (_mprotect_prot_str($prot))
(argstr) = (sprintf("%p, %d, %s", $start, $len, _mprotect_prot_str($prot)))
}
probe syscall.mprotect.return = kernel.function("sys_mprotect").return{
(name) = ("mprotect")
(retstr) = (returnstr(1))
}
probe syscall.mq_getsetattr = kernel.function("sys_mq_getsetattr"){
(name) = ("mq_getsetattr")
(mqdes) = ($mqdes)
(u_mqstat_uaddr) = ($u_mqstat)
(u_omqstat_uaddr) = ($u_omqstat)
(argstr) = (sprintf("%d, %p, %p", $mqdes, $u_mqstat, $u_omqstat))
}
probe syscall.mq_getsetattr.return = kernel.function("sys_mq_getsetattr").return{
(name) = ("mq_getsetattr")
(retstr) = (returnstr(1))
}
probe syscall.mq_notify = kernel.function("sys_mq_notify"){
(name) = ("mq_notify")
(mqdes) = ($mqdes)
(notification_uaddr) = ($u_notification)
(argstr) = (sprintf("%d, %p", $mqdes, $u_notification))
}
probe syscall.mq_notify.return = kernel.function("sys_mq_notify").return{
(name) = ("mq_notify")
(retstr) = (returnstr(1))
}
probe syscall.mq_open = kernel.function("sys_mq_open"){
(name) = ("mq_open")
(name_uaddr) = ($u_name)
(filename) = (user_string($u_name))
(mode) = ($mode)
(u_attr_uaddr) = ($u_attr)
(oflag) = ($oflag)
if ((oflag) & (64)) (argstr) = (sprintf("%s, %s, %#o, %p", user_string_quoted($u_name), _sys_open_flag_str(oflag), $mode, $u_attr))
else (argstr) = (sprintf("%s, %s", user_string_quoted($u_name), _sys_open_flag_str(oflag)))
}
probe syscall.mq_open.return = kernel.function("sys_mq_open").return{
(name) = ("mq_open")
(retstr) = (returnstr(1))
}
probe syscall.mq_timedreceive = kernel.function("sys_mq_timedreceive"){
(name) = ("mq_timedreceive")
(mqdes) = ($mqdes)
(msg_ptr_uaddr) = ($u_msg_ptr)
(msg_len) = ($msg_len)
(msg_prio_uaddr) = ($u_msg_prio)
(abs_timout_uaddr) = ($u_abs_timeout)
(argstr) = (sprintf("%d, %p, %d, %p, %p", $mqdes, $u_msg_ptr, $msg_len, $u_msg_prio, $u_abs_timeout))
}
probe syscall.mq_timedreceive.return = kernel.function("sys_mq_timedreceive").return{
(name) = ("mq_timedreceive")
(retstr) = (returnstr(1))
}
probe syscall.mq_timedsend = kernel.function("sys_mq_timedsend"){
(name) = ("mq_timedsend")
(mqdes) = ($mqdes)
(msg_ptr_uaddr) = ($u_msg_ptr)
(msg_len) = ($msg_len)
(msg_prio) = ($msg_prio)
(abs_timeout_uaddr) = ($u_abs_timeout)
(argstr) = (sprintf("%d, %p, %d, %d, %p", $mqdes, $u_msg_ptr, $msg_len, $msg_prio, $u_abs_timeout))
}
probe syscall.mq_timedsend.return = kernel.function("sys_mq_timedsend").return{
(name) = ("mq_timedsend")
(retstr) = (returnstr(1))
}
probe syscall.mq_unlink = kernel.function("sys_mq_unlink"){
(name) = ("mq_unlink")
(u_name_uaddr) = ($u_name)
(u_name) = (user_string($u_name))
(argstr) = (user_string_quoted($u_name))
}
probe syscall.mq_unlink.return = kernel.function("sys_mq_unlink").return{
(name) = ("mq_unlink")
(retstr) = (returnstr(1))
}
probe syscall.mremap = kernel.function("sys_mremap"){
(name) = ("mremap")
(old_address) = ($addr)
(old_size) = ($old_len)
(new_size) = ($new_len)
(flags) = ($flags)
(new_address) = ($new_addr)
(argstr) = (sprintf("%p, %d, %d, %s, %p", $addr, $old_len, $new_len, _mmap_flags($flags), $new_addr))
}
probe syscall.mremap.return = kernel.function("sys_mremap").return{
(name) = ("mremap")
(retstr) = (returnstr(2))
}
probe syscall.msgctl = kernel.function("sys_msgctl"){
(name) = ("msgctl")
qid)
(cmd) = ($cmd)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, %d, %p", $msqid, $cmd, $buf))
}
probe syscall.msgctl.return = kernel.function("sys_msgctl").return{
(name) = ("msgctl")
(retstr) = (returnstr(1))
}
probe syscall.msgget = kernel.function("sys_msgget"){
(name) = ("msgget")
(key) = ($key)
(msgflg) = ($msgflg)
(msgflg_str) = (_sys_open_flag_str($msgflg))
(argstr) = (sprintf("%d, %s", $key, _sys_open_flag_str($msgflg)))
}
probe syscall.msgget.return = kernel.function("sys_msgget").return{
(name) = ("msgget")
(retstr) = (returnstr(1))
}
probe syscall.msgrcv = kernel.function("sys_msgrcv"){
(name) = ("msgrcv")
(msqid) = ($msqid)
(msgp_uaddr) = ($msgp)
(msgsz) = ($msgsz)
(msgtyp) = ($msgtyp)
(msgflg) = ($msgflg)
(argstr) = (sprintf("%d, %p, %d, %d, %d", $msqid, $msgp, $msgsz, $msgtyp, $msgflg))
}
probe syscall.msgrcv.return = kernel.function("sys_msgrcv").return{
(name) = ("msgrcv")
(retstr) = (returnstr(1))
}
probe syscall.msgsnd = kernel.function("sys_msgsnd"){
(name) = ("msgsnd")
(msqid) = ($msqid)
(msgp_uaddr) = ($msgp)
(msgsz) = ($msgsz)
(msgflg) = ($msgflg)
(argstr) = (sprintf("%d, %p, %d, %d", $msqid, $msgp, $msgsz, $msgflg))
}
probe syscall.msgsnd.return = kernel.function("sys_msgsnd").return{
(name) = ("msgsnd")
(retstr) = (returnstr(1))
}
probe syscall.msync = kernel.function("sys_msync"){
(name) = ("msync")
(start) = ($start)
(length) = ($len)
(flags) = ($flags)
(argstr) = (sprintf("%p, %d, %s", start, length, _msync_flag_str(flags)))
}
probe syscall.msync.return = kernel.function("sys_msync").return{
(name) = ("msync.return")
(retstr) = (returnstr(1))
}
probe syscall.munlock = kernel.function("sys_munlock"){
(name) = ("munlock")
(addr) = ($start)
(len) = ($len)
(argstr) = (sprintf("%p, %d", addr, len))
}
probe syscall.munlock.return = kernel.function("sys_munlock").return{
(name) = ("munlock")
(retstr) = (returnstr(1))
}
probe syscall.munlockall = kernel.function("sys_munlockall"){
(name) = ("munlockall")
}
probe syscall.munlockall.return = kernel.function("sys_munlockall").return{
(name) = ("munlockall")
(retstr) = (returnstr(1))
}
probe syscall.munmap = kernel.function("sys_munmap"){
(name) = ("munmap")
(start) = ($addr)
(length) = ($len)
(argstr) = (sprintf("%p, %d", start, length))
}
probe syscall.munmap.return = kernel.function("sys_munmap").return{
(name) = ("munmap")
(retstr) = (returnstr(1))
}
# file /usr/local/share/systemtap/tapset/syscalls2.stp
probe syscall.nanosleep = kernel.function("sys_nanosleep"){
(name) = ("nanosleep")
(req_uaddr) = ($rqtp)
(rem_uaddr) = ($rmtp)
(argstr) = (sprintf("%s, %p", _struct_timespec_u($rqtp), $rmtp))
}
probe syscall.nanosleep.return = kernel.function("sys_nanosleep").return{
(name) = ("nanosleep")
(retstr) = (returnstr(1))
}
probe syscall.compat_nanosleep = kernel.function("compat_sys_nanosleep")?{
(name) = ("nanosleep")
(req_uaddr) = ($rqtp)
(rem_uaddr) = ($rmtp)
(argstr) = (sprintf("%s, %p", _struct_compat_timespec_u($rqtp), $rmtp))
}
probe syscall.compat_nanosleep.return = kernel.function("compat_sys_nanosleep").return?{
(name) = ("nanosleep")
(retstr) = (returnstr(1))
}
probe syscall.nfsservctl = kernel.function("sys_nfsservctl"){
(name) = ("nfsservctl")
(cmd) = ($cmd)
(argp_uaddr) = ($arg)
(resp_uaddr) = ($res)
(argstr) = (sprintf("%p, %p, %p", cmd, argp_uaddr, resp_uaddr))
}
probe syscall.nfsservctl.return = kernel.function("sys_nfsservctl").return{
(name) = ("nfsservctl")
(retstr) = (returnstr(1))
}
probe syscall.nice = kernel.function("sys_nice"){
(name) = ("nice")
(inc) = ($increment)
(argstr) = (sprintf("%d", $increment))
}
probe syscall.nice.return = kernel.function("sys_nice").return{
(name) = ("nice")
(retstr) = (returnstr(1))
}
probe syscall.ni_syscall = kernel.function("sys_ni_syscall"){
(name) = ("ni_syscall")
(argstr) = ("")
}
probe syscall.ni_syscall.return = kernel.function("sys_ni_syscall").return{
(name) = ("ni_syscall")
(retstr) = (returnstr(1))
}
probe syscall.old_getrlimit = kernel.function("sys_old_ge
(msqid) = ($msqid)
(cmd) = ($cmd)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, %d, %p", $msqid, $cmd, $buf))
}
probe syscall.msgctl.return = kernel.function("sys_msgctl").return{
(name) = ("msgctl")
(retstr) = (returnstr(1))
}
probe syscall.msgget = kernel.function("sys_msgget"){
(name) = ("msgget")
(key) = ($key)
(msgflg) = ($msgflg)
(msgflg_str) = (_sys_open_flag_str($msgflg))
(argstr) = (sprintf("%d, %s", $key, _sys_open_flag_str($msgflg)))
}
probe syscall.msgget.return = kernel.function("sys_msgget").return{
(name) = ("msgget")
(retstr) = (returnstr(1))
}
probe syscall.msgrcv = kernel.function("sys_msgrcv"){
(name) = ("msgrcv")
(msqid) = ($msqid)
(msgp_uaddr) = ($msgp)
(msgsz) = ($msgsz)
(msgtyp) = ($msgtyp)
(msgflg) = ($msgflg)
(argstr) = (sprintf("%d, %p, %d, %d, %d", $msqid, $msgp, $msgsz, $msgtyp, $msgflg))
}
probe syscall.msgrcv.return = kernel.function("sys_msgrcv").return{
(name) = ("msgrcv")
(retstr) = (returnstr(1))
}
probe syscall.msgsnd = kernel.function("sys_msgsnd"){
(name) = ("msgsnd")
(msqid) = ($msqid)
(msgp_uaddr) = ($msgp)
(msgsz) = ($msgsz)
(msgflg) = ($msgflg)
(argstr) = (sprintf("%d, %p, %d, %d", $msqid, $msgp, $msgsz, $msgflg))
}
probe syscall.msgsnd.return = kernel.function("sys_msgsnd").return{
(name) = ("msgsnd")
(retstr) = (returnstr(1))
}
probe syscall.msync = kernel.function("sys_msync"){
(name) = ("msync")
(start) = ($start)
(length) = ($len)
(flags) = ($flags)
(argstr) = (sprintf("%p, %d, %s", start, length, _msync_flag_str(flags)))
}
probe syscall.msync.return = kernel.function("sys_msync").return{
(name) = ("msync.return")
(retstr) = (returnstr(1))
}
probe syscall.munlock = kernel.function("sys_munlock"){
(name) = ("munlock")
(addr) = ($start)
(len) = ($len)
(argstr) = (sprintf("%p, %d", addr, len))
}
probe syscall.munlock.return = kernel.function("sys_munlock").return{
(name) = ("munlock")
(retstr) = (returnstr(1))
}
probe syscall.munlockall = kernel.function("sys_munlockall"){
(name) = ("munlockall")
}
probe syscall.munlockall.return = kernel.function("sys_munlockall").return{
(name) = ("munlockall")
(retstr) = (returnstr(1))
}
probe syscall.munmap = kernel.function("sys_munmap"){
(name) = ("munmap")
(start) = ($addr)
(length) = ($len)
(argstr) = (sprintf("%p, %d", start, length))
}
probe syscall.munmap.return = kernel.function("sys_munmap").return{
(name) = ("munmap")
(retstr) = (returnstr(1))
}
# file /usr/local/share/systemtap/tapset/syscalls2.stp
probe syscall.nanosleep = kernel.function("sys_nanosleep"){
(name) = ("nanosleep")
(req_uaddr) = ($rqtp)
(rem_uaddr) = ($rmtp)
(argstr) = (sprintf("%s, %p", _struct_timespec_u($rqtp), $rmtp))
}
probe syscall.nanosleep.return = kernel.function("sys_nanosleep").return{
(name) = ("nanosleep")
(retstr) = (returnstr(1))
}
probe syscall.compat_nanosleep = kernel.function("compat_sys_nanosleep")?{
(name) = ("nanosleep")
(req_uaddr) = ($rqtp)
(rem_uaddr) = ($rmtp)
(argstr) = (sprintf("%s, %p", _struct_compat_timespec_u($rqtp), $rmtp))
}
probe syscall.compat_nanosleep.return = kernel.function("compat_sys_nanosleep").return?{
(name) = ("nanosleep")
(retstr) = (returnstr(1))
}
probe syscall.nfsservctl = kernel.function("sys_nfsservctl"){
(name) = ("nfsservctl")
(cmd) = ($cmd)
(argp_uaddr) = ($arg)
(resp_uaddr) = ($res)
(argstr) = (sprintf("%p, %p, %p", cmd, argp_uaddr, resp_uaddr))
}
probe syscall.nfsservctl.return = kernel.function("sys_nfsservctl").return{
(name) = ("nfsservctl")
(retstr) = (returnstr(1))
}
probe syscall.nice = kernel.function("sys_nice"){
(name) = ("nice")
(inc) = ($increment)
(argstr) = (sprintf("%d", $increment))
}
probe syscall.nice.return = kernel.function("sys_nice").return{
(name) = ("nice")
(retstr) = (returnstr(1))
}
probe syscall.ni_syscall = kernel.function("sys_ni_syscall"){
(name) = ("ni_syscall")
(argstr) = ("")
}
probe syscall.ni_syscall.return = kernel.function("sys_ni_syscall").return{
(name) = ("ni_syscall")
(retstr) = (returnstr(1))
}
trlimit"){
(name) = ("old_getrlimit")
(resource) = ($resource)
(resource_str) = (_rlimit_resource_str($resource))
(rlim_uaddr) = ($rlim)
(argstr) = (sprintf("%s, %p", resource_str, rlim_uaddr))
}
probe syscall.old_getrlimit.return = kernel.function("sys_old_getrlimit").return{
(name) = ("old_getrlimit")
(retstr) = (returnstr(1))
}
probe syscall.open = kernel.function("sys_open")?, kernel.function("sys32_open")?{
(name) = ("open")
(filename) = (user_string($filename))
(flags) = ($flags)
(mode) = ($mode)
if ((flags) & (64)) (argstr) = (sprintf("%s, %s, %#o", user_string_quoted($filename), _sys_open_flag_str(flags), $mode))
else (argstr) = (sprintf("%s, %s", user_string_quoted($filename), _sys_open_flag_str(flags)))
}
probe syscall.open.return = kernel.function("sys_open").return?, kernel.function("sys32_open").return?{
(name) = ("open")
(retstr) = (returnstr(1))
}
probe syscall.pause = kernel.function("sys_pause"){
(name) = ("pause")
(argstr) = ("")
}
probe syscall.pause.return = kernel.function("sys_pause").return{
(name) = ("pause")
(retstr) = (returnstr(1))
}
probe syscall.personality = kernel.function("sys_personality"){
(name) = ("personality")
(persona) = ($personality)
(argstr) = (sprintf("%p", persona))
;
}
probe syscall.personality.return = kernel.function("sys_personality").return{
(name) = ("personality")
(retstr) = (returnstr(1))
}
probe syscall.pipe = kernel.function("sys_pipe"){
(name) = ("pipe")
(fildes_uaddr) = ($fildes)
(argstr) = (_fildes_u($fildes))
}
probe syscall.pipe.return = kernel.function("sys_pipe").return{
(name) = ("pipe")
(retstr) = (returnstr(1))
}
probe syscall.pivot_root = kernel.function("sys_pivot_root"){
(name) = ("pivot_root")
(new_root_str) = (user_string($new_root))
(old_root_str) = (user_string($put_old))
(argstr) = (sprintf("%s, %s", user_string_quoted($new_root), user_string_quoted($put_old)))
}
probe syscall.pivot_root.return = kernel.function("sys_pivot_root").return{
(name) = ("pivot_root")
(retstr) = (returnstr(1))
}
probe syscall.poll = kernel.function("sys_poll"){
(name) = ("poll")
(ufds_uaddr) = ($ufds)
(nfds) = ($nfds)
(timeout) = ($timeout_msecs)
(argstr) = (sprintf("%p, %d, %d", ufds_uaddr, nfds, timeout))
}
probe syscall.poll.return = kernel.function("sys_poll").return{
(name) = ("poll")
(retstr) = (returnstr(1))
}
probe syscall.prctl = kernel.function("sys_prctl"){
(name) = ("prctl")
(option) = ($option)
(arg2) = ($arg2)
(arg3) = ($arg3)
(arg4) = ($arg4)
(arg5) = ($arg5)
(argstr) = (sprintf("%p, %p, %p, %p, %p", option, arg2, arg3, arg4, arg5))
}
probe syscall.prctl.return = kernel.function("sys_prctl").return{
(name) = ("prctl")
(retstr) = (returnstr(1))
}
probe syscall.pread64 = kernel.function("sys_pread64"){
(name) = ("pread64")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(offset) = ($pos)
(argstr) = (sprintf("%d, %p, %p, %p", fd, buf_uaddr, count, offset))
}
probe syscall.pread64.return = kernel.function("sys_pread64").return{
(name) = ("pread64")
(retstr) = (returnstr(1))
}
probe syscall.ptrace = kernel.function("sys_ptrace"){
(name) = ("ptrace")
(request) = ($request)
(pid) = ($pid)
(addr) = ($addr)
(data) = ($data)
(argstr) = (sprintf("%p, %p, %p, %p", request, pid, addr, data))
}
probe syscall.ptrace.return = kernel.function("sys_ptrace").return{
(name) = ("ptrace")
(retstr) = (returnstr(1))
}
probe syscall.pwrite64 = kernel.function("sys_pwrite64"){
(name) = ("pwrite64")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(offset) = ($pos)
(argstr) = (sprintf("%d, %p, %p, %p", fd, buf_uaddr, count, offset))
}
probe syscall.pwrite64.return = kernel.function("sys_pwrite64").return{
(name) = ("pwrite64")
(retstr) = (returnstr(1))
}
probe syscall.read = kernel.function("sys_read"){
(name) = ("read")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %d", $fd, $buf, $count))
}
probe syscall.read.return = kernel.function("sys_read").return{
(name) = ("read")
(retstr) = (returnstr(1))
}
probe sys
probe syscall.old_getrlimit = kernel.function("sys_old_getrlimit"){
(name) = ("old_getrlimit")
(resource) = ($resource)
(resource_str) = (_rlimit_resource_str($resource))
(rlim_uaddr) = ($rlim)
(argstr) = (sprintf("%s, %p", resource_str, rlim_uaddr))
}
probe syscall.old_getrlimit.return = kernel.function("sys_old_getrlimit").return{
(name) = ("old_getrlimit")
(retstr) = (returnstr(1))
}
probe syscall.open = kernel.function("sys_open")?, kernel.function("sys32_open")?{
(name) = ("open")
(filename) = (user_string($filename))
(flags) = ($flags)
(mode) = ($mode)
if ((flags) & (64)) (argstr) = (sprintf("%s, %s, %#o", user_string_quoted($filename), _sys_open_flag_str(flags), $mode))
else (argstr) = (sprintf("%s, %s", user_string_quoted($filename), _sys_open_flag_str(flags)))
}
probe syscall.open.return = kernel.function("sys_open").return?, kernel.function("sys32_open").return?{
(name) = ("open")
(retstr) = (returnstr(1))
}
probe syscall.pause = kernel.function("sys_pause"){
(name) = ("pause")
(argstr) = ("")
}
probe syscall.pause.return = kernel.function("sys_pause").return{
(name) = ("pause")
(retstr) = (returnstr(1))
}
probe syscall.personality = kernel.function("sys_personality"){
(name) = ("personality")
(persona) = ($personality)
(argstr) = (sprintf("%p", persona))
;
}
probe syscall.personality.return = kernel.function("sys_personality").return{
(name) = ("personality")
(retstr) = (returnstr(1))
}
probe syscall.pipe = kernel.function("sys_pipe"){
(name) = ("pipe")
(fildes_uaddr) = ($fildes)
(argstr) = (_fildes_u($fildes))
}
probe syscall.pipe.return = kernel.function("sys_pipe").return{
(name) = ("pipe")
(retstr) = (returnstr(1))
}
probe syscall.pivot_root = kernel.function("sys_pivot_root"){
(name) = ("pivot_root")
(new_root_str) = (user_string($new_root))
(old_root_str) = (user_string($put_old))
(argstr) = (sprintf("%s, %s", user_string_quoted($new_root), user_string_quoted($put_old)))
}
probe syscall.pivot_root.return = kernel.function("sys_pivot_root").return{
(name) = ("pivot_root")
(retstr) = (returnstr(1))
}
probe syscall.poll = kernel.function("sys_poll"){
(name) = ("poll")
(ufds_uaddr) = ($ufds)
(nfds) = ($nfds)
(timeout) = ($timeout_msecs)
(argstr) = (sprintf("%p, %d, %d", ufds_uaddr, nfds, timeout))
}
probe syscall.poll.return = kernel.function("sys_poll").return{
(name) = ("poll")
(retstr) = (returnstr(1))
}
probe syscall.prctl = kernel.function("sys_prctl"){
(name) = ("prctl")
(option) = ($option)
(arg2) = ($arg2)
(arg3) = ($arg3)
(arg4) = ($arg4)
(arg5) = ($arg5)
(argstr) = (sprintf("%p, %p, %p, %p, %p", option, arg2, arg3, arg4, arg5))
}
probe syscall.prctl.return = kernel.function("sys_prctl").return{
(name) = ("prctl")
(retstr) = (returnstr(1))
}
probe syscall.pread64 = kernel.function("sys_pread64"){
(name) = ("pread64")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(offset) = ($pos)
(argstr) = (sprintf("%d, %p, %p, %p", fd, buf_uaddr, count, offset))
}
probe syscall.pread64.return = kernel.function("sys_pread64").return{
(name) = ("pread64")
(retstr) = (returnstr(1))
}
probe syscall.ptrace = kernel.function("sys_ptrace"){
(name) = ("ptrace")
(request) = ($request)
(pid) = ($pid)
(addr) = ($addr)
(data) = ($data)
(argstr) = (sprintf("%p, %p, %p, %p", request, pid, addr, data))
}
probe syscall.ptrace.return = kernel.function("sys_ptrace").return{
(name) = ("ptrace")
(retstr) = (returnstr(1))
}
probe syscall.pwrite64 = kernel.function("sys_pwrite64"){
(name) = ("pwrite64")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(offset) = ($pos)
(argstr) = (sprintf("%d, %p, %p, %p", fd, buf_uaddr, count, offset))
}
probe syscall.pwrite64.return = kernel.function("sys_pwrite64").return{
(name) = ("pwrite64")
(retstr) = (returnstr(1))
}
probe syscall.read = kernel.function("sys_read"){
(name) = ("read")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %d", $fd, $buf, $count))
}
probe syscall.read.return = kernel.function("sys_read").return{
(name) = ("read")
(retstr) = (returnstr(1))
}
call.readahead = kernel.function("sys_readahead"){
(name) = ("readahead")
(fd) = ($fd)
(offset) = ($offset)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %p", fd, offset, count))
}
probe syscall.readahead.return = kernel.function("sys_readahead").return{
(name) = ("readahead")
(retstr) = (returnstr(1))
}
probe syscall.readlink = kernel.function("sys_readlink"){
(name) = ("readlink")
(path) = (user_string($path))
(buf_uaddr) = ($buf)
(bufsiz) = ($bufsiz)
(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), buf_uaddr, bufsiz))
}
probe syscall.readlink.return = kernel.function("sys_readlink").return{
(name) = ("readlink")
(retstr) = (returnstr(1))
}
probe syscall.readv = kernel.function("sys_readv"), kernel.function("compat_sys_readv")?{
(name) = ("readv")
(vector_uaddr) = ($vec)
(count) = ($vlen)
(fd) = ($fd)
(argstr) = (sprintf("%d, %p, %d", $fd, $vec, $vlen))
}
probe syscall.readv.return = kernel.function("sys_readv").return, kernel.function("compat_sys_readv").return?{
(name) = ("readv")
(retstr) = (returnstr(1))
}
probe syscall.reboot = kernel.function("sys_reboot"){
(name) = ("reboot")
(magic) = ($magic1)
(magic_str) = (_reboot_magic_str($magic1))
(magic2) = ($magic2)
(magic2_str) = (_reboot_magic_str($magic2))
(flag) = ($cmd)
(flag_str) = (_reboot_flag_str(flag))
(arg_uaddr) = ($arg)
(argstr) = (sprintf("%s, %s, %s, %p", magic_str, magic2_str, flag_str, arg_uaddr))
}
probe syscall.reboot.return = kernel.function("sys_reboot").return{
(name) = ("reboot")
(retstr) = (returnstr(1))
}
probe syscall.recv = kernel.function("sys_recvfrom"){
(name) = ("recv")
(s) = ($fd)
(buf_uaddr) = ($ubuf)
(len) = ($size)
(flags) = ($flags)
(flags_str) = (_recvflags_str($flags))
(addr_uaddr) = ($addr)
(addrlen_uaddr) = ($addr_len)
(argstr) = (sprintf("%d, %p, %p, %s, %p, %p", s, buf_uaddr, len, flags_str, addr_uaddr, addrlen_uaddr))
}
probe syscall.recv.return = kernel.function("sys_recvfrom").return{
(name) = ("recv")
(retstr) = (returnstr(1))
}
probe syscall.recvfrom = kernel.function("sys_recvfrom"){
(name) = ("recvfrom")
(s) = ($fd)
(buf_uaddr) = ($ubuf)
(len) = ($size)
(flags) = ($flags)
(flags_str) = (_recvflags_str($flags))
(addr_uaddr) = ($addr)
(addrlen_uaddr) = ($addr_len)
(argstr) = (sprintf("%d, %p, %p, %s, %p, %p", s, buf_uaddr, len, flags_str, addr_uaddr, addrlen_uaddr))
}
probe syscall.recvfrom.return = kernel.function("sys_recvfrom").return{
(name) = ("recvfrom")
(retstr) = (returnstr(1))
}
probe syscall.recvmsg = kernel.function("sys_recvmsg"){
(name) = ("recvmsg")
(s) = ($fd)
(msg_uaddr) = ($msg)
(flags) = ($flags)
(flags_str) = (_recvflags_str($flags))
(argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, flags_str))
}
probe syscall.recvmsg.return = kernel.function("sys_recvmsg").return{
(name) = ("recvmsg")
(retstr) = (returnstr(1))
}
probe syscall.remap_file_pages = kernel.function("sys_remap_file_pages"){
(name) = ("remap_file_pages")
(start) = ($start)
(size) = ($size)
(prot) = ($__prot)
(pgoff) = ($pgoff)
(flags) = ($flags)
(argstr) = (sprintf("%p, %p, %p, %p, %p", start, size, prot, pgoff, flags))
}
probe syscall.remap_file_pages.return = kernel.function("sys_remap_file_pages").return{
(name) = ("remap_file_pages")
(retstr) = (returnstr(1))
}
probe syscall.removexattr = kernel.function("sys_removexattr"){
(name) = ("removexattr")
(path) = (user_string($path))
(name_str) = (user_string($name))
(argstr) = (sprintf("%s, %s", user_string_quoted($path), user_string_quoted($name)))
}
probe syscall.removexattr.return = kernel.function("sys_removexattr").return{
(name) = ("removexattr")
(retstr) = (returnstr(1))
}
probe syscall.rename = kernel.function("sys_rename"){
(name) = ("rename")
(oldpath) = (user_string($oldname))
(newpath) = (user_string($newname))
(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))
}
probe syscall.rename.return = kernel.function("sys_rename").return{
(name) = ("rename")
(retstr) = (returnstr(1))
}
probe syscall.restart_syscall = ke
probe syscall.readahead = kernel.function("sys_readahead"){
(name) = ("readahead")
(fd) = ($fd)
(offset) = ($offset)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %p", fd, offset, count))
}
probe syscall.readahead.return = kernel.function("sys_readahead").return{
(name) = ("readahead")
(retstr) = (returnstr(1))
}
probe syscall.readlink = kernel.function("sys_readlink"){
(name) = ("readlink")
(path) = (user_string($path))
(buf_uaddr) = ($buf)
(bufsiz) = ($bufsiz)
(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), buf_uaddr, bufsiz))
}
probe syscall.readlink.return = kernel.function("sys_readlink").return{
(name) = ("readlink")
(retstr) = (returnstr(1))
}
probe syscall.readv = kernel.function("sys_readv"), kernel.function("compat_sys_readv")?{
(name) = ("readv")
(vector_uaddr) = ($vec)
(count) = ($vlen)
(fd) = ($fd)
(argstr) = (sprintf("%d, %p, %d", $fd, $vec, $vlen))
}
probe syscall.readv.return = kernel.function("sys_readv").return, kernel.function("compat_sys_readv").return?{
(name) = ("readv")
(retstr) = (returnstr(1))
}
probe syscall.reboot = kernel.function("sys_reboot"){
(name) = ("reboot")
(magic) = ($magic1)
(magic_str) = (_reboot_magic_str($magic1))
(magic2) = ($magic2)
(magic2_str) = (_reboot_magic_str($magic2))
(flag) = ($cmd)
(flag_str) = (_reboot_flag_str(flag))
(arg_uaddr) = ($arg)
(argstr) = (sprintf("%s, %s, %s, %p", magic_str, magic2_str, flag_str, arg_uaddr))
}
probe syscall.reboot.return = kernel.function("sys_reboot").return{
(name) = ("reboot")
(retstr) = (returnstr(1))
}
probe syscall.recv = kernel.function("sys_recvfrom"){
(name) = ("recv")
(s) = ($fd)
(buf_uaddr) = ($ubuf)
(len) = ($size)
(flags) = ($flags)
(flags_str) = (_recvflags_str($flags))
(addr_uaddr) = ($addr)
(addrlen_uaddr) = ($addr_len)
(argstr) = (sprintf("%d, %p, %p, %s, %p, %p", s, buf_uaddr, len, flags_str, addr_uaddr, addrlen_uaddr))
}
probe syscall.recv.return = kernel.function("sys_recvfrom").return{
(name) = ("recv")
(retstr) = (returnstr(1))
}
probe syscall.recvfrom = kernel.function("sys_recvfrom"){
(name) = ("recvfrom")
(s) = ($fd)
(buf_uaddr) = ($ubuf)
(len) = ($size)
(flags) = ($flags)
(flags_str) = (_recvflags_str($flags))
(addr_uaddr) = ($addr)
(addrlen_uaddr) = ($addr_len)
(argstr) = (sprintf("%d, %p, %p, %s, %p, %p", s, buf_uaddr, len, flags_str, addr_uaddr, addrlen_uaddr))
}
probe syscall.recvfrom.return = kernel.function("sys_recvfrom").return{
(name) = ("recvfrom")
(retstr) = (returnstr(1))
}
probe syscall.recvmsg = kernel.function("sys_recvmsg"){
(name) = ("recvmsg")
(s) = ($fd)
(msg_uaddr) = ($msg)
(flags) = ($flags)
(flags_str) = (_recvflags_str($flags))
(argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, flags_str))
}
probe syscall.recvmsg.return = kernel.function("sys_recvmsg").return{
(name) = ("recvmsg")
(retstr) = (returnstr(1))
}
probe syscall.remap_file_pages = kernel.function("sys_remap_file_pages"){
(name) = ("remap_file_pages")
(start) = ($start)
(size) = ($size)
(prot) = ($__prot)
(pgoff) = ($pgoff)
(flags) = ($flags)
(argstr) = (sprintf("%p, %p, %p, %p, %p", start, size, prot, pgoff, flags))
}
probe syscall.remap_file_pages.return = kernel.function("sys_remap_file_pages").return{
(name) = ("remap_file_pages")
(retstr) = (returnstr(1))
}
probe syscall.removexattr = kernel.function("sys_removexattr"){
(name) = ("removexattr")
(path) = (user_string($path))
(name_str) = (user_string($name))
(argstr) = (sprintf("%s, %s", user_string_quoted($path), user_string_quoted($name)))
}
probe syscall.removexattr.return = kernel.function("sys_removexattr").return{
(name) = ("removexattr")
(retstr) = (returnstr(1))
}
probe syscall.rename = kernel.function("sys_rename"){
(name) = ("rename")
(oldpath) = (user_string($oldname))
(newpath) = (user_string($newname))
(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))
}
probe syscall.rename.return = kernel.function("sys_rename").return{
(name) = ("rename")
(retstr) = (returnstr(1))
}
rnel.function("sys_restart_syscall"){
(name) = ("restart_syscall")
(argstr) = ("")
}
probe syscall.restart_syscall.return = kernel.function("sys_restart_syscall").return{
(name) = ("restart_syscall")
(retstr) = (returnstr(1))
}
probe syscall.rmdir = kernel.function("sys_rmdir"){
(name) = ("rmdir")
(pathname) = (user_string($pathname))
(argstr) = (user_string_quoted($pathname))
}
probe syscall.rmdir.return = kernel.function("sys_rmdir").return{
(name) = ("rmdir")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigaction = kernel.function("sys_rt_sigaction"){
(name) = ("rt_sigaction")
(sig) = ($sig)
(act_uaddr) = ($act)
(oact_uaddr) = ($oact)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%s, %p, %p, %d", _signal_name($sig), $act, $oact, $sigsetsize))
}
probe syscall.rt_sigaction.return = kernel.function("sys_rt_sigaction").return{
(name) = ("rt_sigaction")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigaction32 = kernel.function("sys32_rt_sigaction")?{
(name) = ("rt_sigaction")
(sig) = ($sig)
(act_uaddr) = ($act)
(oact_uaddr) = ($oact)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%s, %p, %p, %d", _signal_name($sig), $act, $oact, $sigsetsize))
}
probe syscall.rt_sigaction32.return = kernel.function("sys32_rt_sigaction").return?{
(name) = ("rt_sigaction")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigpending = kernel.function("do_sigpending"){
(name) = ("rt_sigpending")
(set_uaddr) = ($set)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%p, %d", $set, $sigsetsize))
}
probe syscall.rt_sigpending.return = kernel.function("do_sigpending").return{
(name) = ("rt_sigpending")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigprocmask = kernel.function("sys_rt_sigprocmask"){
(name) = ("rt_sigprocmask")
(how) = ($how)
(how_str) = (_sigprocmask_how_str($how))
(set_uaddr) = ($set)
(oset_uaddr) = ($oset)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%s, %p, %p, %d", how_str, $set, $oset, $sigsetsize))
}
probe syscall.rt_sigprocmask.return = kernel.function("sys_rt_sigprocmask").return{
(name) = ("rt_sigprocmask")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigqueueinfo = kernel.function("sys_rt_sigqueueinfo"){
(name) = ("rt_sigqueueinfo")
(pid) = ($pid)
(sig) = ($sig)
(uinfo_uaddr) = ($uinfo)
(argstr) = (sprintf("%p, %s, %p", $pid, _signal_name($sig), $uinfo))
}
probe syscall.rt_sigqueueinfo.return = kernel.function("sys_rt_sigqueueinfo").return{
(name) = ("rt_sigqueueinfo")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigreturn = kernel.function("sys_rt_sigreturn"){
(name) = ("rt_sigreturn")
(argstr) = ("")
}
probe syscall.rt_sigreturn.return = kernel.function("sys_rt_sigreturn").return{
(name) = ("rt_sigreturn")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigsuspend = kernel.function("sys_rt_sigsuspend"){
(name) = ("rt_sigsuspend")
(argstr) = ("")
}
probe syscall.rt_sigsuspend.return = kernel.function("sys_rt_sigsuspend").return{
(name) = ("rt_sigsuspend")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigtimedwait = kernel.function("sys_rt_sigtimedwait"){
(name) = ("rt_sigtimedwait")
(uthese_uaddr) = ($uthese)
(uinfo_uaddr) = ($uinfo)
(uts_uaddr) = ($uts)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%p, %p, %p, %d", $uthese, $uinfo, $uts, $sigsetsize))
}
probe syscall.rt_sigtimedwait.return = kernel.function("sys_rt_sigtimedwait").return{
(name) = ("rt_sigtimedwait")
(retstr) = (returnstr(1))
}
probe syscall.sched_getaffinity = kernel.function("sys_sched_getaffinity"){
(name) = ("sched_getaffinity")
(pid) = ($pid)
(len) = ($len)
(mask_uaddr) = ($user_mask_ptr)
(argstr) = (sprintf("%d, %p, %p", pid, len, mask_uaddr))
}
probe syscall.sched_getaffinity.return = kernel.function("sys_sched_getaffinity").return{
(name) = ("sched_getaffinity")
(retstr) = (returnstr(1))
}
probe syscall.sched_getparam = kernel.function("sys_sched_getparam"){
(name) = ("sched_getparam")
(pid) = ($pid)
(p_uaddr) = ($param)
(argstr) = (sprintf("%d, %p", pid, p_uaddr))
}
probe syscall.sched_getparam.return = kernel.function(
probe syscall.restart_syscall = kernel.function("sys_restart_syscall"){
(name) = ("restart_syscall")
(argstr) = ("")
}
probe syscall.restart_syscall.return = kernel.function("sys_restart_syscall").return{
(name) = ("restart_syscall")
(retstr) = (returnstr(1))
}
probe syscall.rmdir = kernel.function("sys_rmdir"){
(name) = ("rmdir")
(pathname) = (user_string($pathname))
(argstr) = (user_string_quoted($pathname))
}
probe syscall.rmdir.return = kernel.function("sys_rmdir").return{
(name) = ("rmdir")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigaction = kernel.function("sys_rt_sigaction"){
(name) = ("rt_sigaction")
(sig) = ($sig)
(act_uaddr) = ($act)
(oact_uaddr) = ($oact)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%s, %p, %p, %d", _signal_name($sig), $act, $oact, $sigsetsize))
}
probe syscall.rt_sigaction.return = kernel.function("sys_rt_sigaction").return{
(name) = ("rt_sigaction")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigaction32 = kernel.function("sys32_rt_sigaction")?{
(name) = ("rt_sigaction")
(sig) = ($sig)
(act_uaddr) = ($act)
(oact_uaddr) = ($oact)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%s, %p, %p, %d", _signal_name($sig), $act, $oact, $sigsetsize))
}
probe syscall.rt_sigaction32.return = kernel.function("sys32_rt_sigaction").return?{
(name) = ("rt_sigaction")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigpending = kernel.function("do_sigpending"){
(name) = ("rt_sigpending")
(set_uaddr) = ($set)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%p, %d", $set, $sigsetsize))
}
probe syscall.rt_sigpending.return = kernel.function("do_sigpending").return{
(name) = ("rt_sigpending")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigprocmask = kernel.function("sys_rt_sigprocmask"){
(name) = ("rt_sigprocmask")
(how) = ($how)
(how_str) = (_sigprocmask_how_str($how))
(set_uaddr) = ($set)
(oset_uaddr) = ($oset)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%s, %p, %p, %d", how_str, $set, $oset, $sigsetsize))
}
probe syscall.rt_sigprocmask.return = kernel.function("sys_rt_sigprocmask").return{
(name) = ("rt_sigprocmask")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigqueueinfo = kernel.function("sys_rt_sigqueueinfo"){
(name) = ("rt_sigqueueinfo")
(pid) = ($pid)
(sig) = ($sig)
(uinfo_uaddr) = ($uinfo)
(argstr) = (sprintf("%p, %s, %p", $pid, _signal_name($sig), $uinfo))
}
probe syscall.rt_sigqueueinfo.return = kernel.function("sys_rt_sigqueueinfo").return{
(name) = ("rt_sigqueueinfo")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigreturn = kernel.function("sys_rt_sigreturn"){
(name) = ("rt_sigreturn")
(argstr) = ("")
}
probe syscall.rt_sigreturn.return = kernel.function("sys_rt_sigreturn").return{
(name) = ("rt_sigreturn")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigsuspend = kernel.function("sys_rt_sigsuspend"){
(name) = ("rt_sigsuspend")
(argstr) = ("")
}
probe syscall.rt_sigsuspend.return = kernel.function("sys_rt_sigsuspend").return{
(name) = ("rt_sigsuspend")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigtimedwait = kernel.function("sys_rt_sigtimedwait"){
(name) = ("rt_sigtimedwait")
(uthese_uaddr) = ($uthese)
(uinfo_uaddr) = ($uinfo)
(uts_uaddr) = ($uts)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%p, %p, %p, %d", $uthese, $uinfo, $uts, $sigsetsize))
}
probe syscall.rt_sigtimedwait.return = kernel.function("sys_rt_sigtimedwait").return{
(name) = ("rt_sigtimedwait")
(retstr) = (returnstr(1))
}
probe syscall.sched_getaffinity = kernel.function("sys_sched_getaffinity"){
(name) = ("sched_getaffinity")
(pid) = ($pid)
(len) = ($len)
(mask_uaddr) = ($user_mask_ptr)
(argstr) = (sprintf("%d, %p, %p", pid, len, mask_uaddr))
}
probe syscall.sched_getaffinity.return = kernel.function("sys_sched_getaffinity").return{
(name) = ("sched_getaffinity")
(retstr) = (returnstr(1))
}
probe syscall.sched_getparam = kernel.function("sys_sched_getparam"){
(name) = ("sched_getparam")
(pid) = ($pid)
(p_uaddr) = ($param)
(argstr) = (sprintf("%d, %p", pid, p_uaddr))
}
"sys_sched_getparam").return{
(name) = ("sched_getparam")
(retstr) = (returnstr(1))
}
probe syscall.sched_get_priority_max = kernel.function("sys_sched_get_priority_max"){
(name) = ("sched_get_priority_max")
(policy) = ($policy)
(argstr) = (sprint(policy))
}
probe syscall.sched_get_priority_max.return = kernel.function("sys_sched_get_priority_max").return{
(name) = ("sched_get_priority_max")
(retstr) = (returnstr(1))
}
probe syscall.sched_get_priority_min = kernel.function("sys_sched_get_priority_min"){
(name) = ("sched_get_priority_min")
(policy) = ($policy)
(argstr) = (sprint(policy))
}
probe syscall.sched_get_priority_min.return = kernel.function("sys_sched_get_priority_min").return{
(name) = ("sched_get_priority_min")
(retstr) = (returnstr(1))
}
probe syscall.sched_getscheduler = kernel.function("sys_sched_getscheduler"){
(name) = ("sched_getscheduler")
(pid) = ($pid)
(argstr) = (sprint(pid))
}
probe syscall.sched_getscheduler.return = kernel.function("sys_sched_getscheduler").return{
(name) = ("sched_getscheduler")
(retstr) = (returnstr(1))
}
probe syscall.sched_rr_get_interval = kernel.function("sys_sched_rr_get_interval"){
(name) = ("sched_rr_get_interval")
(pid) = ($pid)
(tp_uaddr) = ($interval)
(argstr) = (sprintf("%d, %s", pid, _struct_timespec_u(tp_uaddr)))
}
probe syscall.sched_rr_get_interval.return = kernel.function("sys_sched_rr_get_interval").return{
(name) = ("sched_rr_get_interval")
(retstr) = (returnstr(1))
}
probe syscall.sched_setaffinity = kernel.function("sys_sched_setaffinity"){
(name) = ("sched_setaffinity")
(pid) = ($pid)
(len) = ($len)
(mask_uaddr) = ($user_mask_ptr)
(argstr) = (sprintf("%d, %d, %p", $pid, $len, $user_mask_ptr))
}
probe syscall.sched_setaffinity.return = kernel.function("sys_sched_setaffinity").return{
(name) = ("sched_setaffinity")
(retstr) = (returnstr(1))
}
probe syscall.sched_yield = kernel.function("sys_sched_yield"){
(name) = ("sched_yield")
(argstr) = ("")
}
probe syscall.sched_yield.return = kernel.function("sys_sched_yield").return{
(name) = ("sched_yield")
(retstr) = (returnstr(1))
}
probe syscall.select = kernel.function("sys_select"){
(name) = ("select")
(n) = ($n)
(readfds_uaddr) = ($inp)
(writefds_uaddr) = ($outp)
(exceptfds_uaddr) = ($exp)
(timeout_uaddr) = ($tvp)
(argstr) = (sprintf("%d, %s, %s, %s, %s", n, _fd_set_u(readfds_uaddr), _fd_set_u(writefds_uaddr), _fd_set_u(exceptfds_uaddr), _struct_timeval_u(timeout_uaddr)))
}
probe syscall.select.return = kernel.function("sys_select").return{
(name) = ("select")
(retstr) = (returnstr(1))
}
probe syscall.semctl = kernel.function("sys_semctl"){
(name) = ("semctl")
(semid) = ($semid)
(semnum) = ($semnum)
(cmd) = ($cmd)
(argstr) = (sprintf("%d, %d, %s", semid, semnum, _semctl_cmd(cmd)))
}
probe syscall.semctl.return = kernel.function("sys_semctl").return{
(name) = ("semctl")
(retstr) = (returnstr(1))
}
probe syscall.semget = kernel.function("sys_semget"){
(name) = ("semget")
(key) = ($key)
(nsems) = ($nsems)
(semflg) = ($semflg)
(argstr) = (sprintf("%d, %d, %s", key, nsems, __sem_flags(semflg)))
}
probe syscall.semget.return = kernel.function("sys_semget").return{
(name) = ("semget")
(retstr) = (returnstr(1))
}
probe syscall.semop = kernel.function("sys_semtimedop"){
(name) = ("semop")
(semid) = ($semid)
(tsops_uaddr) = ($tsops)
(nsops) = ($nsops)
(argstr) = (sprintf("%d, %p, %d", semid, tsops_uaddr, nsops))
}
probe syscall.semop.return = kernel.function("sys_semtimedop").return{
(name) = ("semop")
(retstr) = (returnstr(1))
}
probe syscall.semtimedop = kernel.function("sys_semtimedop"){
(name) = ("semtimedop")
(semid) = ($semid)
(sops_uaddr) = ($tsops)
(nsops) = ($nsops)
(timeout_uaddr) = ($timeout)
(argstr) = (sprintf("%d, %p, %d, %s", semid, sops_uaddr, nsops, _struct_timespec_u(timeout_uaddr)))
}
probe syscall.semtimedop.return = kernel.function("sys_semtimedop").return{
(name) = ("semtimedop")
(retstr) = (returnstr(1))
}
probe syscall.send = kernel.function("sys_sendto"){
(name) = ("send")
(s) =
probe syscall.sched_getparam.return = kernel.function("sys_sched_getparam").return{
(name) = ("sched_getparam")
(retstr) = (returnstr(1))
}
probe syscall.sched_get_priority_max = kernel.function("sys_sched_get_priority_max"){
(name) = ("sched_get_priority_max")
(policy) = ($policy)
(argstr) = (sprint(policy))
}
probe syscall.sched_get_priority_max.return = kernel.function("sys_sched_get_priority_max").return{
(name) = ("sched_get_priority_max")
(retstr) = (returnstr(1))
}
probe syscall.sched_get_priority_min = kernel.function("sys_sched_get_priority_min"){
(name) = ("sched_get_priority_min")
(policy) = ($policy)
(argstr) = (sprint(policy))
}
probe syscall.sched_get_priority_min.return = kernel.function("sys_sched_get_priority_min").return{
(name) = ("sched_get_priority_min")
(retstr) = (returnstr(1))
}
probe syscall.sched_getscheduler = kernel.function("sys_sched_getscheduler"){
(name) = ("sched_getscheduler")
(pid) = ($pid)
(argstr) = (sprint(pid))
}
probe syscall.sched_getscheduler.return = kernel.function("sys_sched_getscheduler").return{
(name) = ("sched_getscheduler")
(retstr) = (returnstr(1))
}
probe syscall.sched_rr_get_interval = kernel.function("sys_sched_rr_get_interval"){
(name) = ("sched_rr_get_interval")
(pid) = ($pid)
(tp_uaddr) = ($interval)
(argstr) = (sprintf("%d, %s", pid, _struct_timespec_u(tp_uaddr)))
}
probe syscall.sched_rr_get_interval.return = kernel.function("sys_sched_rr_get_interval").return{
(name) = ("sched_rr_get_interval")
(retstr) = (returnstr(1))
}
probe syscall.sched_setaffinity = kernel.function("sys_sched_setaffinity"){
(name) = ("sched_setaffinity")
(pid) = ($pid)
(len) = ($len)
(mask_uaddr) = ($user_mask_ptr)
(argstr) = (sprintf("%d, %d, %p", $pid, $len, $user_mask_ptr))
}
probe syscall.sched_setaffinity.return = kernel.function("sys_sched_setaffinity").return{
(name) = ("sched_setaffinity")
(retstr) = (returnstr(1))
}
probe syscall.sched_yield = kernel.function("sys_sched_yield"){
(name) = ("sched_yield")
(argstr) = ("")
}
probe syscall.sched_yield.return = kernel.function("sys_sched_yield").return{
(name) = ("sched_yield")
(retstr) = (returnstr(1))
}
probe syscall.select = kernel.function("sys_select"){
(name) = ("select")
(n) = ($n)
(readfds_uaddr) = ($inp)
(writefds_uaddr) = ($outp)
(exceptfds_uaddr) = ($exp)
(timeout_uaddr) = ($tvp)
(argstr) = (sprintf("%d, %s, %s, %s, %s", n, _fd_set_u(readfds_uaddr), _fd_set_u(writefds_uaddr), _fd_set_u(exceptfds_uaddr), _struct_timeval_u(timeout_uaddr)))
}
probe syscall.select.return = kernel.function("sys_select").return{
(name) = ("select")
(retstr) = (returnstr(1))
}
probe syscall.semctl = kernel.function("sys_semctl"){
(name) = ("semctl")
(semid) = ($semid)
(semnum) = ($semnum)
(cmd) = ($cmd)
(argstr) = (sprintf("%d, %d, %s", semid, semnum, _semctl_cmd(cmd)))
}
probe syscall.semctl.return = kernel.function("sys_semctl").return{
(name) = ("semctl")
(retstr) = (returnstr(1))
}
probe syscall.semget = kernel.function("sys_semget"){
(name) = ("semget")
(key) = ($key)
(nsems) = ($nsems)
(semflg) = ($semflg)
(argstr) = (sprintf("%d, %d, %s", key, nsems, __sem_flags(semflg)))
}
probe syscall.semget.return = kernel.function("sys_semget").return{
(name) = ("semget")
(retstr) = (returnstr(1))
}
probe syscall.semop = kernel.function("sys_semtimedop"){
(name) = ("semop")
(semid) = ($semid)
(tsops_uaddr) = ($tsops)
(nsops) = ($nsops)
(argstr) = (sprintf("%d, %p, %d", semid, tsops_uaddr, nsops))
}
probe syscall.semop.return = kernel.function("sys_semtimedop").return{
(name) = ("semop")
(retstr) = (returnstr(1))
}
probe syscall.semtimedop = kernel.function("sys_semtimedop"){
(name) = ("semtimedop")
(semid) = ($semid)
(sops_uaddr) = ($tsops)
(nsops) = ($nsops)
(timeout_uaddr) = ($timeout)
(argstr) = (sprintf("%d, %p, %d, %s", semid, sops_uaddr, nsops, _struct_timespec_u(timeout_uaddr)))
}
probe syscall.semtimedop.return = kernel.function("sys_semtimedop").return{
(name) = ("semtimedop")
(retstr) = (returnstr(1))
}
probe syscall.send = kernel.function("sys_sendto"){
(name) = ("send")
($fd)
(buf_uaddr) = ($buff)
(len) = ($len)
(flags) = ($flags)
(flags_str) = (_send_flags_str($flags))
(to_uaddr) = ($addr)
(tolen) = ($addr_len)
(argstr) = (sprintf("%d, %p, %s, %p, %d", $fd, buf_uaddr, flags_str, to_uaddr, $addr_len))
}
probe syscall.send.return = kernel.function("sys_sendto").return{
(name) = ("send")
(retstr) = (returnstr(1))
}
probe syscall.sendfile = kernel.function("sys_sendfile")?, kernel.function("sys_sendfile64")?{
(name) = ("sendfile")
(out_fd) = ($out_fd)
(in_fd) = ($in_fd)
(offset_uaddr) = ($offset)
(count) = ($count)
(argstr) = (sprintf("%d, %d, %p, %d", $out_fd, $in_fd, offset_uaddr, $count))
}
probe syscall.sendfile.return = kernel.function("sys_sendfile").return?, kernel.function("sys_sendfile64").return?{
(name) = ("sendfile")
(retstr) = (returnstr(1))
}
probe syscall.sendmsg = kernel.function("sys_sendmsg"){
(name) = ("sendmsg")
(s) = ($fd)
(msg_uaddr) = ($msg)
(flags) = ($flags)
(flags_str) = (_send_flags_str($flags))
(argstr) = (sprintf("%d, %p, %s", $fd, msg_uaddr, flags_str))
}
probe syscall.sendmsg.return = kernel.function("sys_sendmsg").return{
(name) = ("sendmsg")
(retstr) = (returnstr(1))
}
probe syscall.sendto = kernel.function("sys_sendto"){
(name) = ("sendto")
(s) = ($fd)
(buf_uaddr) = ($buff)
(len) = ($len)
(flags) = ($flags)
(flags_str) = (_send_flags_str($flags))
(to_uaddr) = ($addr)
(tolen) = ($addr_len)
(argstr) = (sprintf("%d, %p, %d, %s, %p, %d", $fd, buf_uaddr, $len, flags_str, to_uaddr, $addr_len))
}
probe syscall.sendto.return = kernel.function("sys_sendto").return{
(name) = ("sendto")
(retstr) = (returnstr(1))
}
probe syscall.setdomainname = kernel.function("sys_setdomainname"){
(name) = ("setdomainname")
(hostname_uaddr) = ($name)
(len) = ($len)
(argstr) = ("")
}
probe syscall.setdomainname.return = kernel.function("sys_setdomainname").return{
(name) = ("setdomainname")
(retstr) = (returnstr(1))
}
probe syscall.setfsgid = kernel.function("sys_setfsgid"){
(name) = ("setfsgid")
(fsgid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setfsgid.return = kernel.function("sys_setfsgid").return{
(name) = ("setfsgid")
(retstr) = (returnstr(1))
}
probe syscall.setfsgid16 = kernel.function("sys_setfsgid16")?{
(name) = ("setfsgid16")
(gid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setfsgid16.return = kernel.function("sys_setfsgid16").return?{
(name) = ("setfsgid16")
(retstr) = (returnstr(1))
}
probe syscall.setfsuid = kernel.function("sys_setfsuid"){
(name) = ("setfsuid")
(fsuid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setfsuid.return = kernel.function("sys_setfsuid").return{
(name) = ("setfsuid")
(retstr) = (returnstr(1))
}
probe syscall.setfsuid16 = kernel.function("sys_setfsuid16")?{
(name) = ("setfsuid16")
(uid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setfsuid16.return = kernel.function("sys_setfsuid16").return?{
(name) = ("setfsuid16")
(retstr) = (returnstr(1))
}
probe syscall.setgid = kernel.function("sys_setgid"){
(name) = ("setgid")
(gid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setgid.return = kernel.function("sys_setgid").return{
(name) = ("setgid")
(retstr) = (returnstr(1))
}
probe syscall.setgid16 = kernel.function("sys_setgid16")?{
(name) = ("setgid16")
(gid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setgid16.return = kernel.function("sys_setgid16").return?{
(name) = ("setgid16")
(retstr) = (returnstr(1))
}
probe syscall.setgroups = kernel.function("sys_setgroups"){
(name) = ("setgroups")
(size) = ($gidsetsize)
(list_uaddr) = ($grouplist)
(argstr) = (sprintf("%d, %p", $gidsetsize, list_uaddr))
}
probe syscall.setgroups.return = kernel.function("sys_setgroups").return{
(name) = ("setgroups")
(retstr) = (returnstr(1))
}
probe syscall.sethostname = kernel.function("sys_sethostname"){
(name) = ("sethostname")
(hostname_uaddr) = ($name)
(name_str) = (user_string($name))
(len) = ($len)
(argstr) = (sprintf("%s, %d", user_string_quoted($name), $len))
}
probe syscall.sethostname.return =
(s) = ($fd)
(buf_uaddr) = ($buff)
(len) = ($len)
(flags) = ($flags)
(flags_str) = (_send_flags_str($flags))
(to_uaddr) = ($addr)
(tolen) = ($addr_len)
(argstr) = (sprintf("%d, %p, %s, %p, %d", $fd, buf_uaddr, flags_str, to_uaddr, $addr_len))
}
probe syscall.send.return = kernel.function("sys_sendto").return{
(name) = ("send")
(retstr) = (returnstr(1))
}
probe syscall.sendfile = kernel.function("sys_sendfile")?, kernel.function("sys_sendfile64")?{
(name) = ("sendfile")
(out_fd) = ($out_fd)
(in_fd) = ($in_fd)
(offset_uaddr) = ($offset)
(count) = ($count)
(argstr) = (sprintf("%d, %d, %p, %d", $out_fd, $in_fd, offset_uaddr, $count))
}
probe syscall.sendfile.return = kernel.function("sys_sendfile").return?, kernel.function("sys_sendfile64").return?{
(name) = ("sendfile")
(retstr) = (returnstr(1))
}
probe syscall.sendmsg = kernel.function("sys_sendmsg"){
(name) = ("sendmsg")
(s) = ($fd)
(msg_uaddr) = ($msg)
(flags) = ($flags)
(flags_str) = (_send_flags_str($flags))
(argstr) = (sprintf("%d, %p, %s", $fd, msg_uaddr, flags_str))
}
probe syscall.sendmsg.return = kernel.function("sys_sendmsg").return{
(name) = ("sendmsg")
(retstr) = (returnstr(1))
}
probe syscall.sendto = kernel.function("sys_sendto"){
(name) = ("sendto")
(s) = ($fd)
(buf_uaddr) = ($buff)
(len) = ($len)
(flags) = ($flags)
(flags_str) = (_send_flags_str($flags))
(to_uaddr) = ($addr)
(tolen) = ($addr_len)
(argstr) = (sprintf("%d, %p, %d, %s, %p, %d", $fd, buf_uaddr, $len, flags_str, to_uaddr, $addr_len))
}
probe syscall.sendto.return = kernel.function("sys_sendto").return{
(name) = ("sendto")
(retstr) = (returnstr(1))
}
probe syscall.setdomainname = kernel.function("sys_setdomainname"){
(name) = ("setdomainname")
(hostname_uaddr) = ($name)
(len) = ($len)
(argstr) = ("")
}
probe syscall.setdomainname.return = kernel.function("sys_setdomainname").return{
(name) = ("setdomainname")
(retstr) = (returnstr(1))
}
probe syscall.setfsgid = kernel.function("sys_setfsgid"){
(name) = ("setfsgid")
(fsgid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setfsgid.return = kernel.function("sys_setfsgid").return{
(name) = ("setfsgid")
(retstr) = (returnstr(1))
}
probe syscall.setfsgid16 = kernel.function("sys_setfsgid16")?{
(name) = ("setfsgid16")
(gid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setfsgid16.return = kernel.function("sys_setfsgid16").return?{
(name) = ("setfsgid16")
(retstr) = (returnstr(1))
}
probe syscall.setfsuid = kernel.function("sys_setfsuid"){
(name) = ("setfsuid")
(fsuid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setfsuid.return = kernel.function("sys_setfsuid").return{
(name) = ("setfsuid")
(retstr) = (returnstr(1))
}
probe syscall.setfsuid16 = kernel.function("sys_setfsuid16")?{
(name) = ("setfsuid16")
(uid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setfsuid16.return = kernel.function("sys_setfsuid16").return?{
(name) = ("setfsuid16")
(retstr) = (returnstr(1))
}
probe syscall.setgid = kernel.function("sys_setgid"){
(name) = ("setgid")
(gid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setgid.return = kernel.function("sys_setgid").return{
(name) = ("setgid")
(retstr) = (returnstr(1))
}
probe syscall.setgid16 = kernel.function("sys_setgid16")?{
(name) = ("setgid16")
(gid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setgid16.return = kernel.function("sys_setgid16").return?{
(name) = ("setgid16")
(retstr) = (returnstr(1))
}
probe syscall.setgroups = kernel.function("sys_setgroups"){
(name) = ("setgroups")
(size) = ($gidsetsize)
(list_uaddr) = ($grouplist)
(argstr) = (sprintf("%d, %p", $gidsetsize, list_uaddr))
}
probe syscall.setgroups.return = kernel.function("sys_setgroups").return{
(name) = ("setgroups")
(retstr) = (returnstr(1))
}
probe syscall.sethostname = kernel.function("sys_sethostname"){
(name) = ("sethostname")
(hostname_uaddr) = ($name)
(name_str) = (user_string($name))
(len) = ($len)
(argstr) = (sprintf("%s, %d", user_string_quoted($name), $len))
}
kernel.function("sys_sethostname").return{
(name) = ("sethostname")
(retstr) = (returnstr(1))
}
probe syscall.setitimer = kernel.function("sys_setitimer"){
(name) = ("setitimer")
(which) = ($which)
(value_uaddr) = ($value)
(ovalue_uaddr) = ($ovalue)
(argstr) = (sprintf("%s, %s, %p", _itimer_which_str($which), _struct_itimerval_u($value), $ovalue))
}
probe syscall.setitimer.return = kernel.function("sys_setitimer").return{
(name) = ("setitimer")
(retstr) = (returnstr(1))
}
probe syscall.compat_setitimer = kernel.function("compat_sys_setitimer")?{
(name) = ("setitimer")
(which) = ($which)
(value_uaddr) = ($in)
(ovalue_uaddr) = ($out)
(argstr) = (sprintf("%s, %s, %p", _itimer_which_str($which), _struct_compat_itimerval_u($in), $out))
}
probe syscall.compat_setitimer.return = kernel.function("compat_sys_setitimer").return?{
(name) = ("setitimer")
(retstr) = (returnstr(1))
}
probe syscall.set_mempolicy = kernel.function("sys_set_mempolicy")?{
(name) = ("set_mempolicy")
(mode) = ($mode)
(nmask_uaddr) = ($nmask)
(maxnode) = ($maxnode)
(argstr) = (sprintf("%d, %p, %d", $mode, nmask_uaddr, $maxnode))
}
probe syscall.set_mempolicy.return = kernel.function("sys_set_mempolicy").return?{
(name) = ("set_mempolicy")
(retstr) = (returnstr(1))
}
probe syscall.setpgid = kernel.function("sys_setpgid"){
(name) = ("setpgid")
(pid) = ($pid)
(pgid) = ($pgid)
(argstr) = (sprintf("%d, %d", $pid, $pgid))
}
probe syscall.setpgid.return = kernel.function("sys_setpgid").return{
(name) = ("setpgid")
(retstr) = (returnstr(1))
}
probe syscall.setpriority = kernel.function("sys_setpriority"){
(name) = ("setpriority")
(which) = ($which)
(which_str) = (_priority_which_str($which))
(who) = ($who)
(prio) = ($niceval)
(argstr) = (sprintf("%s, %d, %d", which_str, $who, $niceval))
}
probe syscall.setpriority.return = kernel.function("sys_setpriority").return{
(name) = ("setpriority")
(retstr) = (returnstr(1))
}
probe syscall.setregid = kernel.function("sys_setregid"){
(name) = ("setregid")
(rgid) = (__uid($rgid))
(egid) = (__uid($egid))
(argstr) = (sprintf("%d, %d", rgid, egid))
}
probe syscall.setregid.return = kernel.function("sys_setregid").return{
(name) = ("setregid")
(retstr) = (returnstr(1))
}
probe syscall.setregid16 = kernel.function("sys_setregid16")?{
(name) = ("setregid16")
(rgid) = (__short($rgid))
(egid) = (__short($egid))
(argstr) = (sprintf("%d, %d", rgid, egid))
}
probe syscall.setregid16.return = kernel.function("sys_setregid16").return?{
(name) = ("setregid16")
(retstr) = (returnstr(1))
}
probe syscall.setresgid = kernel.function("sys_setresgid"){
(name) = ("setresgid")
(rgid) = (__uid($rgid))
(egid) = (__uid($egid))
(sgid) = (__uid($sgid))
(argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid))
}
probe syscall.setresgid.return = kernel.function("sys_setresgid").return{
(name) = ("setresgid")
(retstr) = (returnstr(1))
}
probe syscall.setresgid16 = kernel.function("sys_setresgid16")?{
(name) = ("setresgid16")
(rgid) = (__short($rgid))
(egid) = (__short($egid))
(sgid) = (__short($sgid))
(argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid))
}
probe syscall.setresgid16.return = kernel.function("sys_setresgid16").return?{
(name) = ("setresgid16")
(retstr) = (returnstr(1))
}
probe syscall.setresuid = kernel.function("sys_setresuid"){
(name) = ("setresuid")
(ruid) = (__uid($ruid))
(euid) = (__uid($euid))
(suid) = (__uid($suid))
(argstr) = (sprintf("%d, %d, %d", ruid, euid, suid))
}
probe syscall.setresuid.return = kernel.function("sys_setresuid").return{
(name) = ("setresuid")
(retstr) = (returnstr(1))
}
probe syscall.setresuid16 = kernel.function("sys_setresuid16")?{
(name) = ("setresuid16")
(ruid) = (__short($ruid))
(euid) = (__short($euid))
(suid) = (__short($suid))
(argstr) = (sprintf("%d, %d, %d", ruid, euid, suid))
}
probe syscall.setresuid16.return = kernel.function("sys_setresuid16").return?{
(name) = ("setresuid16")
(retstr) = (returnstr(1))
}
probe syscall.setreuid = kernel.function("sys_setreuid"){
(name) = ("setreuid"
probe syscall.sethostname.return = kernel.function("sys_sethostname").return{
(name) = ("sethostname")
(retstr) = (returnstr(1))
}
probe syscall.setitimer = kernel.function("sys_setitimer"){
(name) = ("setitimer")
(which) = ($which)
(value_uaddr) = ($value)
(ovalue_uaddr) = ($ovalue)
(argstr) = (sprintf("%s, %s, %p", _itimer_which_str($which), _struct_itimerval_u($value), $ovalue))
}
probe syscall.setitimer.return = kernel.function("sys_setitimer").return{
(name) = ("setitimer")
(retstr) = (returnstr(1))
}
probe syscall.compat_setitimer = kernel.function("compat_sys_setitimer")?{
(name) = ("setitimer")
(which) = ($which)
(value_uaddr) = ($in)
(ovalue_uaddr) = ($out)
(argstr) = (sprintf("%s, %s, %p", _itimer_which_str($which), _struct_compat_itimerval_u($in), $out))
}
probe syscall.compat_setitimer.return = kernel.function("compat_sys_setitimer").return?{
(name) = ("setitimer")
(retstr) = (returnstr(1))
}
probe syscall.set_mempolicy = kernel.function("sys_set_mempolicy")?{
(name) = ("set_mempolicy")
(mode) = ($mode)
(nmask_uaddr) = ($nmask)
(maxnode) = ($maxnode)
(argstr) = (sprintf("%d, %p, %d", $mode, nmask_uaddr, $maxnode))
}
probe syscall.set_mempolicy.return = kernel.function("sys_set_mempolicy").return?{
(name) = ("set_mempolicy")
(retstr) = (returnstr(1))
}
probe syscall.setpgid = kernel.function("sys_setpgid"){
(name) = ("setpgid")
(pid) = ($pid)
(pgid) = ($pgid)
(argstr) = (sprintf("%d, %d", $pid, $pgid))
}
probe syscall.setpgid.return = kernel.function("sys_setpgid").return{
(name) = ("setpgid")
(retstr) = (returnstr(1))
}
probe syscall.setpriority = kernel.function("sys_setpriority"){
(name) = ("setpriority")
(which) = ($which)
(which_str) = (_priority_which_str($which))
(who) = ($who)
(prio) = ($niceval)
(argstr) = (sprintf("%s, %d, %d", which_str, $who, $niceval))
}
probe syscall.setpriority.return = kernel.function("sys_setpriority").return{
(name) = ("setpriority")
(retstr) = (returnstr(1))
}
probe syscall.setregid = kernel.function("sys_setregid"){
(name) = ("setregid")
(rgid) = (__uid($rgid))
(egid) = (__uid($egid))
(argstr) = (sprintf("%d, %d", rgid, egid))
}
probe syscall.setregid.return = kernel.function("sys_setregid").return{
(name) = ("setregid")
(retstr) = (returnstr(1))
}
probe syscall.setregid16 = kernel.function("sys_setregid16")?{
(name) = ("setregid16")
(rgid) = (__short($rgid))
(egid) = (__short($egid))
(argstr) = (sprintf("%d, %d", rgid, egid))
}
probe syscall.setregid16.return = kernel.function("sys_setregid16").return?{
(name) = ("setregid16")
(retstr) = (returnstr(1))
}
probe syscall.setresgid = kernel.function("sys_setresgid"){
(name) = ("setresgid")
(rgid) = (__uid($rgid))
(egid) = (__uid($egid))
(sgid) = (__uid($sgid))
(argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid))
}
probe syscall.setresgid.return = kernel.function("sys_setresgid").return{
(name) = ("setresgid")
(retstr) = (returnstr(1))
}
probe syscall.setresgid16 = kernel.function("sys_setresgid16")?{
(name) = ("setresgid16")
(rgid) = (__short($rgid))
(egid) = (__short($egid))
(sgid) = (__short($sgid))
(argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid))
}
probe syscall.setresgid16.return = kernel.function("sys_setresgid16").return?{
(name) = ("setresgid16")
(retstr) = (returnstr(1))
}
probe syscall.setresuid = kernel.function("sys_setresuid"){
(name) = ("setresuid")
(ruid) = (__uid($ruid))
(euid) = (__uid($euid))
(suid) = (__uid($suid))
(argstr) = (sprintf("%d, %d, %d", ruid, euid, suid))
}
probe syscall.setresuid.return = kernel.function("sys_setresuid").return{
(name) = ("setresuid")
(retstr) = (returnstr(1))
}
probe syscall.setresuid16 = kernel.function("sys_setresuid16")?{
(name) = ("setresuid16")
(ruid) = (__short($ruid))
(euid) = (__short($euid))
(suid) = (__short($suid))
(argstr) = (sprintf("%d, %d, %d", ruid, euid, suid))
}
probe syscall.setresuid16.return = kernel.function("sys_setresuid16").return?{
(name) = ("setresuid16")
(retstr) = (returnstr(1))
}
probe syscall.setreuid = kernel.function("sys_setreuid"){
)
(ruid) = (__uid($ruid))
(euid) = (__uid($euid))
(argstr) = (sprintf("%d, %d", ruid, euid))
}
probe syscall.setreuid.return = kernel.function("sys_setreuid").return{
(name) = ("setreuid")
(retstr) = (returnstr(1))
}
probe syscall.setreuid16 = kernel.function("sys_setreuid16")?{
(name) = ("setreuid16")
(ruid) = (__short($ruid))
(euid) = (__short($euid))
(argstr) = (sprintf("%d, %d", ruid, euid))
}
probe syscall.setreuid16.return = kernel.function("sys_setreuid16").return?{
(name) = ("setreuid16")
(retstr) = (returnstr(1))
}
probe syscall.setrlimit = kernel.function("sys_setrlimit"){
(name) = ("setrlimit")
(resource) = ($resource)
(rlim_uaddr) = ($rlim)
(argstr) = (sprintf("%s, %s", _rlimit_resource_str($resource), _struct_rlimit_u($rlim)))
}
probe syscall.setrlimit.return = kernel.function("sys_setrlimit").return{
(name) = ("setrlimit")
(retstr) = (returnstr(1))
}
probe syscall.setsid = kernel.function("sys_setsid"){
(name) = ("setsid")
(argstr) = ("")
}
probe syscall.setsid.return = kernel.function("sys_setsid").return{
(name) = ("setsid")
(retstr) = (returnstr(1))
}
probe syscall.setsockopt = kernel.function("sys_setsockopt"){
(name) = ("setsockopt")
(fd) = ($fd)
(level) = ($level)
(level_str) = (_sockopt_level_str($level))
(optname) = ($optname)
(optname_str) = (_sockopt_optname_str($optname))
(optval_uaddr) = ($optval)
(optlen) = ($optlen)
(argstr) = (sprintf("%d, %s, %s, %p, %d", $fd, level_str, optname_str, optval_uaddr, $optlen))
}
probe syscall.setsockopt.return = kernel.function("sys_setsockopt").return{
(name) = ("setsockopt")
(retstr) = (returnstr(1))
}
probe syscall.set_tid_address = kernel.function("sys_set_tid_address"){
(name) = ("set_tid_address")
(tidptr_uaddr) = ($tidptr)
(argstr) = (sprintf("%p", tidptr_uaddr))
}
probe syscall.set_tid_address.return = kernel.function("sys_set_tid_address").return{
(name) = ("set_tid_address")
(retstr) = (returnstr(1))
}
probe syscall.settimeofday = kernel.function("sys_settimeofday"){
(name) = ("settimeofday")
(tv_uaddr) = ($tv)
(tz_uaddr) = ($tz)
(argstr) = (sprintf("%s, %s", _struct_timeval_u($tv), _struct_timezone_u($tz)))
}
probe syscall.settimeofday.return = kernel.function("sys_settimeofday").return{
(name) = ("settimeofday")
(retstr) = (returnstr(1))
}
probe syscall.settimeofday32 = kernel.function("sys32_settimeofday")?{
(name) = ("settimeofday")
(tv_uaddr) = ($tv)
(tz_uaddr) = ($tz)
(argstr) = (sprintf("%s, %s", _struct_compat_timeval_u($tv), _struct_timezone_u($tz)))
}
probe syscall.settimeofday32.return = kernel.function("sys32_settimeofday").return?{
(name) = ("settimeofday")
(retstr) = (returnstr(1))
}
probe syscall.setuid = kernel.function("sys_setuid"){
(name) = ("setuid")
(uid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setuid.return = kernel.function("sys_setuid").return{
(name) = ("setuid")
(retstr) = (returnstr(1))
}
probe syscall.setuid16 = kernel.function("sys_setuid16")?{
(name) = ("setuid16")
(uid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setuid16.return = kernel.function("sys_setuid16").return?{
(name) = ("setuid16")
(retstr) = (returnstr(1))
}
probe syscall.setxattr = kernel.function("sys_setxattr"){
(name) = ("setxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(name_uaddr) = ($name)
(name_str) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(flags) = ($flags)
(argstr) = (sprintf("%s, %s, %p, %d, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, $size, $flags))
}
probe syscall.setxattr.return = kernel.function("sys_setxattr").return{
(name) = ("setxattr")
(retstr) = (returnstr(1))
}
probe syscall.sgetmask = kernel.function("sys_sgetmask"){
(name) = ("sgetmask")
(argstr) = ("")
}
probe syscall.sgetmask.return = kernel.function("sys_sgetmask").return{
(name) = ("sgetmask")
(retstr) = (returnstr(1))
}
probe syscall.shmctl = kernel.function("sys_shmctl"){
(name) = ("shmctl")
(shmid) = ($shmid)
(cmd) = ($cmd)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d,
(name) = ("setreuid")
(ruid) = (__uid($ruid))
(euid) = (__uid($euid))
(argstr) = (sprintf("%d, %d", ruid, euid))
}
probe syscall.setreuid.return = kernel.function("sys_setreuid").return{
(name) = ("setreuid")
(retstr) = (returnstr(1))
}
probe syscall.setreuid16 = kernel.function("sys_setreuid16")?{
(name) = ("setreuid16")
(ruid) = (__short($ruid))
(euid) = (__short($euid))
(argstr) = (sprintf("%d, %d", ruid, euid))
}
probe syscall.setreuid16.return = kernel.function("sys_setreuid16").return?{
(name) = ("setreuid16")
(retstr) = (returnstr(1))
}
probe syscall.setrlimit = kernel.function("sys_setrlimit"){
(name) = ("setrlimit")
(resource) = ($resource)
(rlim_uaddr) = ($rlim)
(argstr) = (sprintf("%s, %s", _rlimit_resource_str($resource), _struct_rlimit_u($rlim)))
}
probe syscall.setrlimit.return = kernel.function("sys_setrlimit").return{
(name) = ("setrlimit")
(retstr) = (returnstr(1))
}
probe syscall.setsid = kernel.function("sys_setsid"){
(name) = ("setsid")
(argstr) = ("")
}
probe syscall.setsid.return = kernel.function("sys_setsid").return{
(name) = ("setsid")
(retstr) = (returnstr(1))
}
probe syscall.setsockopt = kernel.function("sys_setsockopt"){
(name) = ("setsockopt")
(fd) = ($fd)
(level) = ($level)
(level_str) = (_sockopt_level_str($level))
(optname) = ($optname)
(optname_str) = (_sockopt_optname_str($optname))
(optval_uaddr) = ($optval)
(optlen) = ($optlen)
(argstr) = (sprintf("%d, %s, %s, %p, %d", $fd, level_str, optname_str, optval_uaddr, $optlen))
}
probe syscall.setsockopt.return = kernel.function("sys_setsockopt").return{
(name) = ("setsockopt")
(retstr) = (returnstr(1))
}
probe syscall.set_tid_address = kernel.function("sys_set_tid_address"){
(name) = ("set_tid_address")
(tidptr_uaddr) = ($tidptr)
(argstr) = (sprintf("%p", tidptr_uaddr))
}
probe syscall.set_tid_address.return = kernel.function("sys_set_tid_address").return{
(name) = ("set_tid_address")
(retstr) = (returnstr(1))
}
probe syscall.settimeofday = kernel.function("sys_settimeofday"){
(name) = ("settimeofday")
(tv_uaddr) = ($tv)
(tz_uaddr) = ($tz)
(argstr) = (sprintf("%s, %s", _struct_timeval_u($tv), _struct_timezone_u($tz)))
}
probe syscall.settimeofday.return = kernel.function("sys_settimeofday").return{
(name) = ("settimeofday")
(retstr) = (returnstr(1))
}
probe syscall.settimeofday32 = kernel.function("sys32_settimeofday")?{
(name) = ("settimeofday")
(tv_uaddr) = ($tv)
(tz_uaddr) = ($tz)
(argstr) = (sprintf("%s, %s", _struct_compat_timeval_u($tv), _struct_timezone_u($tz)))
}
probe syscall.settimeofday32.return = kernel.function("sys32_settimeofday").return?{
(name) = ("settimeofday")
(retstr) = (returnstr(1))
}
probe syscall.setuid = kernel.function("sys_setuid"){
(name) = ("setuid")
(uid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setuid.return = kernel.function("sys_setuid").return{
(name) = ("setuid")
(retstr) = (returnstr(1))
}
probe syscall.setuid16 = kernel.function("sys_setuid16")?{
(name) = ("setuid16")
(uid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setuid16.return = kernel.function("sys_setuid16").return?{
(name) = ("setuid16")
(retstr) = (returnstr(1))
}
probe syscall.setxattr = kernel.function("sys_setxattr"){
(name) = ("setxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(name_uaddr) = ($name)
(name_str) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(flags) = ($flags)
(argstr) = (sprintf("%s, %s, %p, %d, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, $size, $flags))
}
probe syscall.setxattr.return = kernel.function("sys_setxattr").return{
(name) = ("setxattr")
(retstr) = (returnstr(1))
}
probe syscall.sgetmask = kernel.function("sys_sgetmask"){
(name) = ("sgetmask")
(argstr) = ("")
}
probe syscall.sgetmask.return = kernel.function("sys_sgetmask").return{
(name) = ("sgetmask")
(retstr) = (returnstr(1))
}
probe syscall.shmctl = kernel.function("sys_shmctl"){
(name) = ("shmctl")
(shmid) = ($shmid)
(cmd) = ($cmd)
(buf_uaddr) = ($buf)
%s, %p", $shmid, _semctl_cmd($cmd), buf_uaddr))
}
probe syscall.shmctl.return = kernel.function("sys_shmctl").return{
(name) = ("shmctl")
(retstr) = (returnstr(1))
}
probe syscall.shmdt = kernel.function("sys_shmdt"){
(name) = ("shmdt")
(shmaddr_uaddr) = ($shmaddr)
(argstr) = (sprintf("%p", shmaddr_uaddr))
}
probe syscall.shmdt.return = kernel.function("sys_shmdt").return{
(name) = ("shmdt")
(retstr) = (returnstr(1))
}
probe syscall.shmget = kernel.function("sys_shmget"){
(name) = ("shmget")
(key) = ($key)
(size) = ($size)
(shmflg) = ($shmflg)
(argstr) = (sprintf("%d, %d, %d", $key, $size, $shmflg))
}
probe syscall.shmget.return = kernel.function("sys_shmget").return{
(name) = ("shmget")
(retstr) = (returnstr(1))
}
probe syscall.shutdown = kernel.function("sys_shutdown"){
(name) = ("shutdown")
(s) = ($fd)
(how) = ($how)
(how_str) = (_shutdown_how_str($how))
(argstr) = (sprintf("%d, %s", s, how_str))
}
probe syscall.shutdown.return = kernel.function("sys_shutdown").return{
(name) = ("shutdown")
(retstr) = (returnstr(1))
}
probe syscall.signal = kernel.function("sys_signal"){
(name) = ("signal")
(sig) = ($sig)
(handler) = ($handler)
(argstr) = (sprintf("%s, %p", _signal_name($sig), $handler))
}
probe syscall.signal.return = kernel.function("sys_signal").return{
(name) = ("signal")
(retstr) = (returnstr(1))
}
probe syscall.sigpending = kernel.function("do_sigpending"){
(name) = ("sigpending")
(set_uaddr) = ($set)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%p, %d", $set, $sigsetsize))
}
probe syscall.sigpending.return = kernel.function("do_sigpending").return{
(name) = ("sigpending")
(retstr) = (returnstr(1))
}
probe syscall.sigprocmask = kernel.function("sys_sigprocmask"){
(name) = ("sigprocmask")
(how) = ($how)
(how_str) = (_sigprocmask_how_str($how))
(set_uaddr) = ($set)
(oldset_uaddr) = ($oset)
(argstr) = (sprintf("%s, %p, %p", how_str, $set, $oset))
}
probe syscall.sigprocmask.return = kernel.function("sys_sigprocmask").return{
(name) = ("sigprocmask")
(retstr) = (returnstr(1))
}
probe syscall.socket = kernel.function("sys_socket"){
(name) = ("socket")
(family) = ($family)
(type) = ($type)
(protocol) = ($protocol)
(argstr) = (sprintf("%s, %s, %d", _sock_family_str($family), _sock_type_str($type), $protocol))
}
probe syscall.socket.return = kernel.function("sys_socket").return{
(name) = ("socket")
(retstr) = (returnstr(1))
}
probe syscall.socketpair = kernel.function("sys_socketpair"){
(name) = ("socketpair")
(family) = ($family)
(type) = ($type)
(protocol) = ($protocol)
(sv_uaddr) = ($usockvec)
(argstr) = (sprintf("%s, %s, %d, %p", _sock_family_str($family), _sock_type_str($type), $protocol, sv_uaddr))
}
probe syscall.socketpair.return = kernel.function("sys_socketpair").return{
(name) = ("socketpair")
(retstr) = (returnstr(1))
}
probe syscall.ssetmask = kernel.function("sys_ssetmask"){
(name) = ("ssetmask")
(newmask) = ($newmask)
(argstr) = (sprint($newmask))
}
probe syscall.ssetmask.return = kernel.function("sys_ssetmask").return{
(name) = ("ssetmask")
(retstr) = (returnstr(1))
}
probe syscall.stat = kernel.function("sys_stat")?, kernel.function("sys_newstat")?, kernel.function("sys32_stat64")?, kernel.function("sys_stat64")?, kernel.function("compat_sys_newstat")?{
(name) = ("stat")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(buf_uaddr) = ($statbuf)
(argstr) = (sprintf("%s, %p", user_string_quoted($filename), buf_uaddr))
}
probe syscall.stat.return = kernel.function("sys_stat").return?, kernel.function("sys_newstat").return?, kernel.function("sys32_stat64").return?, kernel.function("sys_stat64").return?, kernel.function("compat_sys_newstat").return?{
(name) = ("stat")
(retstr) = (returnstr(1))
}
probe syscall.statfs = kernel.function("sys_statfs"), kernel.function("compat_sys_statfs")?{
(name) = ("statfs")
(path) = (user_string($path))
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%s, %p", user_string_quoted($path), $buf))
}
probe syscall.statfs.return = kernel.function("
(argstr) = (sprintf("%d, %s, %p", $shmid, _semctl_cmd($cmd), buf_uaddr))
}
probe syscall.shmctl.return = kernel.function("sys_shmctl").return{
(name) = ("shmctl")
(retstr) = (returnstr(1))
}
probe syscall.shmdt = kernel.function("sys_shmdt"){
(name) = ("shmdt")
(shmaddr_uaddr) = ($shmaddr)
(argstr) = (sprintf("%p", shmaddr_uaddr))
}
probe syscall.shmdt.return = kernel.function("sys_shmdt").return{
(name) = ("shmdt")
(retstr) = (returnstr(1))
}
probe syscall.shmget = kernel.function("sys_shmget"){
(name) = ("shmget")
(key) = ($key)
(size) = ($size)
(shmflg) = ($shmflg)
(argstr) = (sprintf("%d, %d, %d", $key, $size, $shmflg))
}
probe syscall.shmget.return = kernel.function("sys_shmget").return{
(name) = ("shmget")
(retstr) = (returnstr(1))
}
probe syscall.shutdown = kernel.function("sys_shutdown"){
(name) = ("shutdown")
(s) = ($fd)
(how) = ($how)
(how_str) = (_shutdown_how_str($how))
(argstr) = (sprintf("%d, %s", s, how_str))
}
probe syscall.shutdown.return = kernel.function("sys_shutdown").return{
(name) = ("shutdown")
(retstr) = (returnstr(1))
}
probe syscall.signal = kernel.function("sys_signal"){
(name) = ("signal")
(sig) = ($sig)
(handler) = ($handler)
(argstr) = (sprintf("%s, %p", _signal_name($sig), $handler))
}
probe syscall.signal.return = kernel.function("sys_signal").return{
(name) = ("signal")
(retstr) = (returnstr(1))
}
probe syscall.sigpending = kernel.function("do_sigpending"){
(name) = ("sigpending")
(set_uaddr) = ($set)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%p, %d", $set, $sigsetsize))
}
probe syscall.sigpending.return = kernel.function("do_sigpending").return{
(name) = ("sigpending")
(retstr) = (returnstr(1))
}
probe syscall.sigprocmask = kernel.function("sys_sigprocmask"){
(name) = ("sigprocmask")
(how) = ($how)
(how_str) = (_sigprocmask_how_str($how))
(set_uaddr) = ($set)
(oldset_uaddr) = ($oset)
(argstr) = (sprintf("%s, %p, %p", how_str, $set, $oset))
}
probe syscall.sigprocmask.return = kernel.function("sys_sigprocmask").return{
(name) = ("sigprocmask")
(retstr) = (returnstr(1))
}
probe syscall.socket = kernel.function("sys_socket"){
(name) = ("socket")
(family) = ($family)
(type) = ($type)
(protocol) = ($protocol)
(argstr) = (sprintf("%s, %s, %d", _sock_family_str($family), _sock_type_str($type), $protocol))
}
probe syscall.socket.return = kernel.function("sys_socket").return{
(name) = ("socket")
(retstr) = (returnstr(1))
}
probe syscall.socketpair = kernel.function("sys_socketpair"){
(name) = ("socketpair")
(family) = ($family)
(type) = ($type)
(protocol) = ($protocol)
(sv_uaddr) = ($usockvec)
(argstr) = (sprintf("%s, %s, %d, %p", _sock_family_str($family), _sock_type_str($type), $protocol, sv_uaddr))
}
probe syscall.socketpair.return = kernel.function("sys_socketpair").return{
(name) = ("socketpair")
(retstr) = (returnstr(1))
}
probe syscall.ssetmask = kernel.function("sys_ssetmask"){
(name) = ("ssetmask")
(newmask) = ($newmask)
(argstr) = (sprint($newmask))
}
probe syscall.ssetmask.return = kernel.function("sys_ssetmask").return{
(name) = ("ssetmask")
(retstr) = (returnstr(1))
}
probe syscall.stat = kernel.function("sys_stat")?, kernel.function("sys_newstat")?, kernel.function("sys32_stat64")?, kernel.function("sys_stat64")?, kernel.function("compat_sys_newstat")?{
(name) = ("stat")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(buf_uaddr) = ($statbuf)
(argstr) = (sprintf("%s, %p", user_string_quoted($filename), buf_uaddr))
}
probe syscall.stat.return = kernel.function("sys_stat").return?, kernel.function("sys_newstat").return?, kernel.function("sys32_stat64").return?, kernel.function("sys_stat64").return?, kernel.function("compat_sys_newstat").return?{
(name) = ("stat")
(retstr) = (returnstr(1))
}
probe syscall.statfs = kernel.function("sys_statfs"), kernel.function("compat_sys_statfs")?{
(name) = ("statfs")
(path) = (user_string($path))
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%s, %p", user_string_quoted($path), $buf))
}
sys_statfs").return, kernel.function("compat_sys_statfs").return?{
(name) = ("statfs")
(retstr) = (returnstr(1))
}
probe syscall.statfs64 = kernel.function("sys_statfs64"){
(name) = ("statfs64")
(path) = (user_string($path))
(sz) = ($sz)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%s, %d, %p", user_string_quoted($path), $sz, $buf))
}
probe syscall.statfs64.return = kernel.function("sys_statfs64").return{
(name) = ("statfs64")
(retstr) = (returnstr(1))
}
probe syscall.stime = kernel.function("sys_stime"){
(name) = ("stime")
(t_uaddr) = ($tptr)
(argstr) = (sprintf("%p", t_uaddr))
}
probe syscall.stime.return = kernel.function("sys_stime").return{
(name) = ("stime")
(retstr) = (returnstr(1))
}
probe syscall.swapoff = kernel.function("sys_swapoff"){
(name) = ("swapoff")
(path) = (user_string($specialfile))
(argstr) = (user_string_quoted($specialfile))
}
probe syscall.swapoff.return = kernel.function("sys_swapoff").return{
(name) = ("swapoff")
(retstr) = (returnstr(1))
}
probe syscall.swapon = kernel.function("sys_swapon"){
(name) = ("swapon")
(path) = (user_string($specialfile))
(swapflags) = ($swap_flags)
(argstr) = (sprintf("%s, %d", user_string_quoted($specialfile), swapflags))
}
probe syscall.swapon.return = kernel.function("sys_swapon").return{
(name) = ("swapon")
(retstr) = (returnstr(1))
}
probe syscall.symlink = kernel.function("sys_symlink"){
(name) = ("symlink")
(oldpath) = (user_string($oldname))
(newpath) = (user_string($newname))
(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))
}
probe syscall.symlink.return = kernel.function("sys_symlink").return{
(name) = ("symlink")
(retstr) = (returnstr(1))
}
probe syscall.sync = kernel.function("sys_sync"){
(name) = ("sync")
(argstr) = ("")
}
probe syscall.sync.return = kernel.function("sys_sync").return{
(name) = ("sync")
(retstr) = (returnstr(1))
}
probe syscall.sysctl = kernel.function("sys_sysctl"){
(name) = ("sysctl")
(args_uaddr) = ($args)
(argstr) = (sprintf("%p", args_uaddr))
}
probe syscall.sysctl.return = kernel.function("sys_sysctl").return{
(name) = ("sysctl")
(retstr) = (returnstr(1))
}
probe syscall.sysfs = kernel.function("sys_sysfs"){
(name) = ("sysfs")
(option) = ($option)
(arg1) = ($arg1)
(arg2) = ($arg2)
(argstr) = (sprintf("%d, %d, %d", $option, $arg1, $arg2))
}
probe syscall.sysfs.return = kernel.function("sys_sysfs").return{
(name) = ("sysfs")
(retstr) = (returnstr(1))
}
probe syscall.sysinfo = kernel.function("sys_sysinfo"){
(name) = ("sysinfo")
(info_uaddr) = ($info)
(argstr) = (sprintf("%p", info_uaddr))
}
probe syscall.sysinfo.return = kernel.function("sys_sysinfo").return{
(name) = ("sysinfo")
(retstr) = (returnstr(1))
}
probe syscall.syslog = kernel.function("do_syslog"){
(name) = ("syslog")
(type) = ($type)
(bufp_uaddr) = ($buf)
(len) = ($len)
(argstr) = (sprintf("%d, %p, %d", $type, bufp_uaddr, $len))
}
probe syscall.syslog.return = kernel.function("do_syslog").return{
(name) = ("syslog")
(retstr) = (returnstr(1))
}
probe syscall.tgkill = kernel.function("sys_tgkill"){
(name) = ("tgkill")
(tgid) = ($tgid)
(pid) = ($pid)
(sig) = ($sig)
(argstr) = (sprintf("%d, %d, %s", $tgid, $pid, _signal_name($sig)))
}
probe syscall.tgkill.return = kernel.function("sys_tgkill").return{
(name) = ("tgkill")
(retstr) = (returnstr(1))
}
probe syscall.time = kernel.function("sys_time"), kernel.function("sys32_time")?, kernel.function("sys_time64")?, kernel.function("compat_sys_time")?{
(name) = ("time")
(t_uaddr) = ($tloc)
(argstr) = (sprintf("%p", $tloc))
}
probe syscall.time.return = kernel.function("sys_time").return, kernel.function("sys32_time").return?, kernel.function("sys_time64").return?, kernel.function("compat_sys_time").return?{
(name) = ("time")
(retstr) = (returnstr(1))
}
probe syscall.timer_create = kernel.function("sys_timer_create"){
(name) = ("timer_create")
(clockid) = ($which_clock)
(clockid_str) = (_get_wc_str($which_clock))
(evp_uaddr) = ($timer_event_spec)
(timerid_uaddr) = ($cr
probe syscall.statfs.return = kernel.function("sys_statfs").return, kernel.function("compat_sys_statfs").return?{
(name) = ("statfs")
(retstr) = (returnstr(1))
}
probe syscall.statfs64 = kernel.function("sys_statfs64"){
(name) = ("statfs64")
(path) = (user_string($path))
(sz) = ($sz)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%s, %d, %p", user_string_quoted($path), $sz, $buf))
}
probe syscall.statfs64.return = kernel.function("sys_statfs64").return{
(name) = ("statfs64")
(retstr) = (returnstr(1))
}
probe syscall.stime = kernel.function("sys_stime"){
(name) = ("stime")
(t_uaddr) = ($tptr)
(argstr) = (sprintf("%p", t_uaddr))
}
probe syscall.stime.return = kernel.function("sys_stime").return{
(name) = ("stime")
(retstr) = (returnstr(1))
}
probe syscall.swapoff = kernel.function("sys_swapoff"){
(name) = ("swapoff")
(path) = (user_string($specialfile))
(argstr) = (user_string_quoted($specialfile))
}
probe syscall.swapoff.return = kernel.function("sys_swapoff").return{
(name) = ("swapoff")
(retstr) = (returnstr(1))
}
probe syscall.swapon = kernel.function("sys_swapon"){
(name) = ("swapon")
(path) = (user_string($specialfile))
(swapflags) = ($swap_flags)
(argstr) = (sprintf("%s, %d", user_string_quoted($specialfile), swapflags))
}
probe syscall.swapon.return = kernel.function("sys_swapon").return{
(name) = ("swapon")
(retstr) = (returnstr(1))
}
probe syscall.symlink = kernel.function("sys_symlink"){
(name) = ("symlink")
(oldpath) = (user_string($oldname))
(newpath) = (user_string($newname))
(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))
}
probe syscall.symlink.return = kernel.function("sys_symlink").return{
(name) = ("symlink")
(retstr) = (returnstr(1))
}
probe syscall.sync = kernel.function("sys_sync"){
(name) = ("sync")
(argstr) = ("")
}
probe syscall.sync.return = kernel.function("sys_sync").return{
(name) = ("sync")
(retstr) = (returnstr(1))
}
probe syscall.sysctl = kernel.function("sys_sysctl"){
(name) = ("sysctl")
(args_uaddr) = ($args)
(argstr) = (sprintf("%p", args_uaddr))
}
probe syscall.sysctl.return = kernel.function("sys_sysctl").return{
(name) = ("sysctl")
(retstr) = (returnstr(1))
}
probe syscall.sysfs = kernel.function("sys_sysfs"){
(name) = ("sysfs")
(option) = ($option)
(arg1) = ($arg1)
(arg2) = ($arg2)
(argstr) = (sprintf("%d, %d, %d", $option, $arg1, $arg2))
}
probe syscall.sysfs.return = kernel.function("sys_sysfs").return{
(name) = ("sysfs")
(retstr) = (returnstr(1))
}
probe syscall.sysinfo = kernel.function("sys_sysinfo"){
(name) = ("sysinfo")
(info_uaddr) = ($info)
(argstr) = (sprintf("%p", info_uaddr))
}
probe syscall.sysinfo.return = kernel.function("sys_sysinfo").return{
(name) = ("sysinfo")
(retstr) = (returnstr(1))
}
probe syscall.syslog = kernel.function("do_syslog"){
(name) = ("syslog")
(type) = ($type)
(bufp_uaddr) = ($buf)
(len) = ($len)
(argstr) = (sprintf("%d, %p, %d", $type, bufp_uaddr, $len))
}
probe syscall.syslog.return = kernel.function("do_syslog").return{
(name) = ("syslog")
(retstr) = (returnstr(1))
}
probe syscall.tgkill = kernel.function("sys_tgkill"){
(name) = ("tgkill")
(tgid) = ($tgid)
(pid) = ($pid)
(sig) = ($sig)
(argstr) = (sprintf("%d, %d, %s", $tgid, $pid, _signal_name($sig)))
}
probe syscall.tgkill.return = kernel.function("sys_tgkill").return{
(name) = ("tgkill")
(retstr) = (returnstr(1))
}
probe syscall.time = kernel.function("sys_time"), kernel.function("sys32_time")?, kernel.function("sys_time64")?, kernel.function("compat_sys_time")?{
(name) = ("time")
(t_uaddr) = ($tloc)
(argstr) = (sprintf("%p", $tloc))
}
probe syscall.time.return = kernel.function("sys_time").return, kernel.function("sys32_time").return?, kernel.function("sys_time64").return?, kernel.function("compat_sys_time").return?{
(name) = ("time")
(retstr) = (returnstr(1))
}
probe syscall.timer_create = kernel.function("sys_timer_create"){
(name) = ("timer_create")
(clockid) = ($which_clock)
(clockid_str) = (_get_wc_str($which_clock))
(evp_uaddr) = ($timer_event_spec)
eated_timer_id)
(argstr) = (sprintf("%s, %p, %p", clockid_str, $timer_event_spec, $created_timer_id))
}
probe syscall.timer_create.return = kernel.function("sys_timer_create").return{
(name) = ("timer_create")
(retstr) = (returnstr(1))
}
probe syscall.timer_delete = kernel.function("sys_timer_delete"){
(name) = ("timer_delete")
(timerid) = ($timer_id)
(argstr) = (sprint($timer_id))
}
probe syscall.timer_delete.return = kernel.function("sys_timer_delete").return{
(name) = ("timer_delete")
(retstr) = (returnstr(1))
}
probe syscall.timer_getoverrun = kernel.function("sys_timer_getoverrun"){
(name) = ("timer_getoverrun")
(timerid) = ($timer_id)
(argstr) = (sprint($timer_id))
}
probe syscall.timer_getoverrun.return = kernel.function("sys_timer_getoverrun").return{
(name) = ("timer_getoverrun")
(retstr) = (returnstr(1))
}
probe syscall.timer_gettime = kernel.function("sys_timer_gettime"){
(name) = ("timer_gettime")
(timerid) = ($timer_id)
(value_uaddr) = ($setting)
(argstr) = (sprintf("%d, %p", $timer_id, $setting))
}
probe syscall.timer_gettime.return = kernel.function("sys_timer_gettime").return{
(name) = ("timer_gettime")
(retstr) = (returnstr(1))
}
probe syscall.timer_settime = kernel.function("sys_timer_settime"){
(name) = ("timer_settime")
(timerid) = ($timer_id)
(flags) = ($flags)
(value_uaddr) = ($new_setting)
(ovalue_uaddr) = ($old_setting)
(argstr) = (sprintf("%d, %d, %s, %p", $timer_id, $flags, _struct_itimerspec_u($new_setting), $old_setting))
}
probe syscall.timer_settime.return = kernel.function("sys_timer_settime").return{
(name) = ("timer_settime")
(retstr) = (returnstr(1))
}
probe syscall.times = kernel.function("sys_times"){
(name) = ("times")
(buf_uaddr) = ($tbuf)
(argstr) = (sprintf("%p", buf_uaddr))
}
probe syscall.times.return = kernel.function("sys_times").return{
(name) = ("times")
(retstr) = (returnstr(1))
}
probe syscall.tkill = kernel.function("sys_tkill"){
(name) = ("tkill")
(pid) = ($pid)
(sig) = ($sig)
(argstr) = (sprintf("%d, %s", $pid, _signal_name($sig)))
}
probe syscall.tkill.return = kernel.function("sys_tkill").return{
(name) = ("tkill")
(retstr) = (returnstr(1))
}
probe syscall.truncate = kernel.function("sys_truncate")?, kernel.function("sys_truncate64")?{
(name) = ("truncate")
(path_uaddr) = ($path)
(path) = (user_string($path))
(length) = ($length)
(argstr) = (sprintf("%s, %d", user_string_quoted($path), $length))
}
probe syscall.truncate.return = kernel.function("sys_truncate").return?, kernel.function("sys_truncate64").return?{
(name) = ("truncate")
(retstr) = (returnstr(1))
}
probe syscall.tux = kernel.function("sys_tux")?{
(name) = ("tux")
(action) = ($action)
(u_info_uaddr) = ($u_info)
(argstr) = (sprintf("%d, %p", $action, $u_info))
}
probe syscall.tux.return = kernel.function("sys_tux").return?{
(name) = ("tux")
(retstr) = (returnstr(1))
}
probe syscall.umask = kernel.function("sys_umask"){
(name) = ("umask")
(mask) = ($mask)
(argstr) = (sprintf("%#o", $mask))
}
probe syscall.umask.return = kernel.function("sys_umask").return{
(name) = ("umask")
(retstr) = (returnstr(3))
}
probe syscall.umount = kernel.function("sys_umount"){
(name) = ("umount")
(target) = (user_string($name))
(flags) = ($flags)
(flags_str) = (_umountflags_str($flags))
(argstr) = (sprintf("%s, %s", user_string_quoted($name), flags_str))
}
probe syscall.umount.return = kernel.function("sys_umount").return{
(name) = ("umount")
(retstr) = (returnstr(1))
}
probe syscall.uname = kernel.function("sys_uname")?, kernel.function("sys_newuname")?{
(name) = ("uname")
(name_uaddr) = ($name)
(argstr) = (sprintf("%p", $name))
}
probe syscall.uname.return = kernel.function("sys_uname").return?, kernel.function("sys_newuname").return?{
(name) = ("uname")
(retstr) = (returnstr(1))
}
probe syscall.unlink = kernel.function("sys_unlink"){
(name) = ("unlink")
(pathname_uaddr) = ($pathname)
(pathname) = (user_string($pathname))
(argstr) = (user_string_quoted($pathname))
}
probe syscall.unlink.return = kernel.functi
(timerid_uaddr) = ($created_timer_id)
(argstr) = (sprintf("%s, %p, %p", clockid_str, $timer_event_spec, $created_timer_id))
}
probe syscall.timer_create.return = kernel.function("sys_timer_create").return{
(name) = ("timer_create")
(retstr) = (returnstr(1))
}
probe syscall.timer_delete = kernel.function("sys_timer_delete"){
(name) = ("timer_delete")
(timerid) = ($timer_id)
(argstr) = (sprint($timer_id))
}
probe syscall.timer_delete.return = kernel.function("sys_timer_delete").return{
(name) = ("timer_delete")
(retstr) = (returnstr(1))
}
probe syscall.timer_getoverrun = kernel.function("sys_timer_getoverrun"){
(name) = ("timer_getoverrun")
(timerid) = ($timer_id)
(argstr) = (sprint($timer_id))
}
probe syscall.timer_getoverrun.return = kernel.function("sys_timer_getoverrun").return{
(name) = ("timer_getoverrun")
(retstr) = (returnstr(1))
}
probe syscall.timer_gettime = kernel.function("sys_timer_gettime"){
(name) = ("timer_gettime")
(timerid) = ($timer_id)
(value_uaddr) = ($setting)
(argstr) = (sprintf("%d, %p", $timer_id, $setting))
}
probe syscall.timer_gettime.return = kernel.function("sys_timer_gettime").return{
(name) = ("timer_gettime")
(retstr) = (returnstr(1))
}
probe syscall.timer_settime = kernel.function("sys_timer_settime"){
(name) = ("timer_settime")
(timerid) = ($timer_id)
(flags) = ($flags)
(value_uaddr) = ($new_setting)
(ovalue_uaddr) = ($old_setting)
(argstr) = (sprintf("%d, %d, %s, %p", $timer_id, $flags, _struct_itimerspec_u($new_setting), $old_setting))
}
probe syscall.timer_settime.return = kernel.function("sys_timer_settime").return{
(name) = ("timer_settime")
(retstr) = (returnstr(1))
}
probe syscall.times = kernel.function("sys_times"){
(name) = ("times")
(buf_uaddr) = ($tbuf)
(argstr) = (sprintf("%p", buf_uaddr))
}
probe syscall.times.return = kernel.function("sys_times").return{
(name) = ("times")
(retstr) = (returnstr(1))
}
probe syscall.tkill = kernel.function("sys_tkill"){
(name) = ("tkill")
(pid) = ($pid)
(sig) = ($sig)
(argstr) = (sprintf("%d, %s", $pid, _signal_name($sig)))
}
probe syscall.tkill.return = kernel.function("sys_tkill").return{
(name) = ("tkill")
(retstr) = (returnstr(1))
}
probe syscall.truncate = kernel.function("sys_truncate")?, kernel.function("sys_truncate64")?{
(name) = ("truncate")
(path_uaddr) = ($path)
(path) = (user_string($path))
(length) = ($length)
(argstr) = (sprintf("%s, %d", user_string_quoted($path), $length))
}
probe syscall.truncate.return = kernel.function("sys_truncate").return?, kernel.function("sys_truncate64").return?{
(name) = ("truncate")
(retstr) = (returnstr(1))
}
probe syscall.tux = kernel.function("sys_tux")?{
(name) = ("tux")
(action) = ($action)
(u_info_uaddr) = ($u_info)
(argstr) = (sprintf("%d, %p", $action, $u_info))
}
probe syscall.tux.return = kernel.function("sys_tux").return?{
(name) = ("tux")
(retstr) = (returnstr(1))
}
probe syscall.umask = kernel.function("sys_umask"){
(name) = ("umask")
(mask) = ($mask)
(argstr) = (sprintf("%#o", $mask))
}
probe syscall.umask.return = kernel.function("sys_umask").return{
(name) = ("umask")
(retstr) = (returnstr(3))
}
probe syscall.umount = kernel.function("sys_umount"){
(name) = ("umount")
(target) = (user_string($name))
(flags) = ($flags)
(flags_str) = (_umountflags_str($flags))
(argstr) = (sprintf("%s, %s", user_string_quoted($name), flags_str))
}
probe syscall.umount.return = kernel.function("sys_umount").return{
(name) = ("umount")
(retstr) = (returnstr(1))
}
probe syscall.uname = kernel.function("sys_uname")?, kernel.function("sys_newuname")?{
(name) = ("uname")
(name_uaddr) = ($name)
(argstr) = (sprintf("%p", $name))
}
probe syscall.uname.return = kernel.function("sys_uname").return?, kernel.function("sys_newuname").return?{
(name) = ("uname")
(retstr) = (returnstr(1))
}
probe syscall.unlink = kernel.function("sys_unlink"){
(name) = ("unlink")
(pathname_uaddr) = ($pathname)
(pathname) = (user_string($pathname))
(argstr) = (user_string_quoted($pathname))
}
on("sys_unlink").return{
(name) = ("unlink")
(retstr) = (returnstr(1))
}
probe syscall.uselib = kernel.function("sys_uselib"){
(name) = ("uselib")
(library_uaddr) = ($library)
(library) = (user_string($library))
(argstr) = (user_string_quoted($library))
}
probe syscall.uselib.return = kernel.function("sys_uselib").return{
(name) = ("uselib")
(retstr) = (returnstr(1))
}
probe syscall.ustat = kernel.function("sys_ustat"){
(name) = ("ustat")
(dev) = ($dev)
(ubuf_uaddr) = ($ubuf)
(argstr) = (sprintf("%d, %p", $dev, $ubuf))
}
probe syscall.ustat.return = kernel.function("sys_ustat").return{
(name) = ("ustat")
(retstr) = (returnstr(1))
}
probe syscall.utime = kernel.function("sys_utime"){
(name) = ("utime")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(buf_uaddr) = ($times)
(buf_str) = (_struct_utimbuf_u($times))
(argstr) = (sprintf("%s, [%s]", user_string_quoted($filename), buf_str))
}
probe syscall.utime.return = kernel.function("sys_utime").return{
(name) = ("utime")
(retstr) = (returnstr(1))
}
probe syscall.compat_utime = kernel.function("compat_sys_utime")?{
(name) = ("utime")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(buf_uaddr) = ($t)
(buf_str) = (_struct_compat_utimbuf_u($t))
(argstr) = (sprintf("%s, [%s]", user_string_quoted($filename), _struct_compat_utimbuf_u($t)))
}
probe syscall.compat_utime.return = kernel.function("compat_sys_utime").return?{
(name) = ("utime")
(retstr) = (returnstr(1))
}
probe syscall.utimes = kernel.function("sys_utimes"){
(name) = ("utimes")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(tvp_uaddr) = ($utimes)
(argstr) = (sprintf("%s, %s", user_string_quoted($filename), _struct_timeval_u($utimes)))
}
probe syscall.utimes.return = kernel.function("sys_utimes").return{
(name) = ("utimes")
(retstr) = (returnstr(1))
}
probe syscall.vhangup = kernel.function("sys_vhangup"){
(name) = ("vhangup")
(argstr) = ("")
}
probe syscall.vhangup.return = kernel.function("sys_vhangup").return{
(name) = ("vhangup")
(retstr) = (returnstr(1))
}
probe syscall.wait4 = kernel.function("sys_wait4"){
(name) = ("wait4")
(pid) = ($pid)
(status_uaddr) = ($stat_addr)
(options) = ($options)
(options_str) = (_wait4_opt_str($options))
(rusage_uaddr) = ($ru)
(argstr) = (sprintf("%d, %p, %s, %p", $pid, status_uaddr, options_str, rusage_uaddr))
}
probe syscall.wait4.return = kernel.function("sys_wait4").return{
(name) = ("wait4")
(retstr) = (returnstr(1))
}
probe syscall.waitid = kernel.function("sys_waitid"){
(name) = ("waitid")
(which) = ($which)
(which_str) = (_waitid_which_str($which))
(pid) = ($pid)
(infop_uaddr) = ($infop)
(options) = ($options)
(options_str) = (_wait4_opt_str($options))
(rusage_uaddr) = ($ru)
(argstr) = (sprintf("%d, %d, %p, %s, %p", $which, $pid, infop_uaddr, options_str, rusage_uaddr))
}
probe syscall.waitid.return = kernel.function("sys_waitid").return{
(name) = ("waitid")
(retstr) = (returnstr(1))
}
probe syscall.write = kernel.function("sys_write"){
(name) = ("write")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(argstr) = (sprintf("%d, %s, %d", $fd, text_strn(user_string($buf), 20, 1), $count))
}
probe syscall.write.return = kernel.function("sys_write").return{
(name) = ("write")
(retstr) = (returnstr(1))
}
probe syscall.writev = kernel.function("sys_writev"), kernel.function("compat_sys_writev")?{
(name) = ("writev")
(vector_uaddr) = ($vec)
(count) = ($vlen)
(fd) = ($fd)
(argstr) = (sprintf("%d, %p, %d", $fd, $vec, $vlen))
}
probe syscall.writev.return = kernel.function("sys_writev").return, kernel.function("compat_sys_writev").return?{
(name) = ("writev")
(retstr) = (returnstr(1))
}
# file /usr/local/share/systemtap/tapset/system.stp
function system (cmd)
%{
_stp_write(STP_SYSTEM, THIS->cmd, strlen(THIS->cmd)+1);
%}
# file /usr/local/share/systemtap/tapset/task.stp
function task_current ()
%{ /* pure */
THIS->__retvalue = (long)current;
%}
function task_parent (task)
%{ /* pure */
probe syscall.unlink.return = kernel.function("sys_unlink").return{
(name) = ("unlink")
(retstr) = (returnstr(1))
}
probe syscall.uselib = kernel.function("sys_uselib"){
(name) = ("uselib")
(library_uaddr) = ($library)
(library) = (user_string($library))
(argstr) = (user_string_quoted($library))
}
probe syscall.uselib.return = kernel.function("sys_uselib").return{
(name) = ("uselib")
(retstr) = (returnstr(1))
}
probe syscall.ustat = kernel.function("sys_ustat"){
(name) = ("ustat")
(dev) = ($dev)
(ubuf_uaddr) = ($ubuf)
(argstr) = (sprintf("%d, %p", $dev, $ubuf))
}
probe syscall.ustat.return = kernel.function("sys_ustat").return{
(name) = ("ustat")
(retstr) = (returnstr(1))
}
probe syscall.utime = kernel.function("sys_utime"){
(name) = ("utime")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(buf_uaddr) = ($times)
(buf_str) = (_struct_utimbuf_u($times))
(argstr) = (sprintf("%s, [%s]", user_string_quoted($filename), buf_str))
}
probe syscall.utime.return = kernel.function("sys_utime").return{
(name) = ("utime")
(retstr) = (returnstr(1))
}
probe syscall.compat_utime = kernel.function("compat_sys_utime")?{
(name) = ("utime")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(buf_uaddr) = ($t)
(buf_str) = (_struct_compat_utimbuf_u($t))
(argstr) = (sprintf("%s, [%s]", user_string_quoted($filename), _struct_compat_utimbuf_u($t)))
}
probe syscall.compat_utime.return = kernel.function("compat_sys_utime").return?{
(name) = ("utime")
(retstr) = (returnstr(1))
}
probe syscall.utimes = kernel.function("sys_utimes"){
(name) = ("utimes")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(tvp_uaddr) = ($utimes)
(argstr) = (sprintf("%s, %s", user_string_quoted($filename), _struct_timeval_u($utimes)))
}
probe syscall.utimes.return = kernel.function("sys_utimes").return{
(name) = ("utimes")
(retstr) = (returnstr(1))
}
probe syscall.vhangup = kernel.function("sys_vhangup"){
(name) = ("vhangup")
(argstr) = ("")
}
probe syscall.vhangup.return = kernel.function("sys_vhangup").return{
(name) = ("vhangup")
(retstr) = (returnstr(1))
}
probe syscall.wait4 = kernel.function("sys_wait4"){
(name) = ("wait4")
(pid) = ($pid)
(status_uaddr) = ($stat_addr)
(options) = ($options)
(options_str) = (_wait4_opt_str($options))
(rusage_uaddr) = ($ru)
(argstr) = (sprintf("%d, %p, %s, %p", $pid, status_uaddr, options_str, rusage_uaddr))
}
probe syscall.wait4.return = kernel.function("sys_wait4").return{
(name) = ("wait4")
(retstr) = (returnstr(1))
}
probe syscall.waitid = kernel.function("sys_waitid"){
(name) = ("waitid")
(which) = ($which)
(which_str) = (_waitid_which_str($which))
(pid) = ($pid)
(infop_uaddr) = ($infop)
(options) = ($options)
(options_str) = (_wait4_opt_str($options))
(rusage_uaddr) = ($ru)
(argstr) = (sprintf("%d, %d, %p, %s, %p", $which, $pid, infop_uaddr, options_str, rusage_uaddr))
}
probe syscall.waitid.return = kernel.function("sys_waitid").return{
(name) = ("waitid")
(retstr) = (returnstr(1))
}
probe syscall.write = kernel.function("sys_write"){
(name) = ("write")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(argstr) = (sprintf("%d, %s, %d", $fd, text_strn(user_string($buf), 20, 1), $count))
}
probe syscall.write.return = kernel.function("sys_write").return{
(name) = ("write")
(retstr) = (returnstr(1))
}
probe syscall.writev = kernel.function("sys_writev"), kernel.function("compat_sys_writev")?{
(name) = ("writev")
(vector_uaddr) = ($vec)
(count) = ($vlen)
(fd) = ($fd)
(argstr) = (sprintf("%d, %p, %d", $fd, $vec, $vlen))
}
probe syscall.writev.return = kernel.function("sys_writev").return, kernel.function("compat_sys_writev").return?{
(name) = ("writev")
(retstr) = (returnstr(1))
}
# file /usr/local/share/systemtap/tapset/system.stp
function system (cmd)
%{
_stp_write(STP_SYSTEM, THIS->cmd, strlen(THIS->cmd)+1);
%}
# file /usr/local/share/systemtap/tapset/task.stp
function task_current ()
%{ /* pure */
THIS->__retvalue = (long)current;
%}
function task_parent (task)
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->parent), &(t->parent));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_state (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->state), &(t->state));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_execname (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
deref_string(THIS->__retvalue, t->comm, MAXSTRINGLEN);
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_pid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->tgid), &(t->tgid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_tid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->pid), &(t->pid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_gid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->gid), &(t->gid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_egid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->egid), &(t->egid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_uid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->uid), &(t->uid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_euid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->euid), &(t->euid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_prio (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
int prio = deref(sizeof(t->prio), &(t->prio));
THIS->__retvalue = prio - MAX_RT_PRIO;
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_nice (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
int static_prio = deref(sizeof(t->static_prio), &(t->static_prio));
THIS->__retvalue = static_prio - MAX_RT_PRIO - 20;
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_cpu (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
struct thread_info *ti =
(struct thread_info *)deref(sizeof(t->thread_info), &(t->thread_info));
THIS->__retvalue = deref(sizeof(ti->cpu), &(ti->cpu));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
# file /usr/local/share/systemtap/tapset/tcp.stp
%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/tcp.h>
#include <net/ip.h>
%}probe tcp.sendmsg = kernel.function("tcp_sendmsg"){
(sock) = ($sk)
(size) = ($size)
}
probe tcp.sendmsg.return = kernel.function("tcp_sendmsg").return{
(size) = ($return)
}
probe tcp.recvmsg = kernel.function("tcp_recvmsg"){
(sock) = ($sk)
(size) = ($len)
}
probe tcp.recvmsg.return = kernel.function("tcp_recvmsg").return{
(size) = ($return)
}
probe tcp.disconnect = kernel.function("tcp_disconnect"){
(sock) = ($sk)
(flags) = ($flags)
}
probe tcp.disconnect.return = kernel.function("tcp_disconnect").return
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->parent), &(t->parent));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_state (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->state), &(t->state));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_execname (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
deref_string(THIS->__retvalue, t->comm, MAXSTRINGLEN);
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_pid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->tgid), &(t->tgid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_tid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->pid), &(t->pid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_gid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->gid), &(t->gid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_egid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->egid), &(t->egid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_uid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->uid), &(t->uid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_euid (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
THIS->__retvalue = deref(sizeof(t->euid), &(t->euid));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_prio (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
int prio = deref(sizeof(t->prio), &(t->prio));
THIS->__retvalue = prio - MAX_RT_PRIO;
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_nice (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
int static_prio = deref(sizeof(t->static_prio), &(t->static_prio));
THIS->__retvalue = static_prio - MAX_RT_PRIO - 20;
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function task_cpu (task)
%{ /* pure */
struct task_struct *t = (struct task_struct *)(long)THIS->task;
struct thread_info *ti =
(struct thread_info *)deref(sizeof(t->thread_info), &(t->thread_info));
THIS->__retvalue = deref(sizeof(ti->cpu), &(ti->cpu));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
# file /usr/local/share/systemtap/tapset/tcp.stp
%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/tcp.h>
#include <net/ip.h>
%}probe tcp.sendmsg = kernel.function("tcp_sendmsg"){
(sock) = ($sk)
(size) = ($size)
}
probe tcp.sendmsg.return = kernel.function("tcp_sendmsg").return{
(size) = ($return)
}
probe tcp.recvmsg = kernel.function("tcp_recvmsg"){
(sock) = ($sk)
(size) = ($len)
}
probe tcp.recvmsg.return = kernel.function("tcp_recvmsg").return{
(size) = ($return)
}
probe tcp.disconnect = kernel.function("tcp_disconnect"){
(sock) = ($sk)
(flags) = ($flags)
}
{
(ret) = ($return)
}
function tcp_get_info_rto (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
THIS->__retvalue = (int64_t) jiffies_to_usecs(tp->rto);
#else
const struct inet_connection_sock *icsk = inet_csk((struct sock *)ptr);
THIS->__retvalue = (int64_t) jiffies_to_usecs(icsk->icsk_rto);
#endif
%}
function tcp_get_info_snd_cwnd (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
#else
struct tcp_sock *tp = tcp_sk((struct sock *)ptr);
#endif
THIS->__retvalue = (int64_t) tp->snd_cwnd;
%}
function tcp_ts_get_info_state (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
struct sock * sk = (struct sock *) ptr;
THIS->__retvalue = (int64_t) sk->sk_state;
%}
function tcp_ts_get_info_snd_ssthresh (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
#else
struct tcp_sock *tp = tcp_sk((struct sock *)ptr);
#endif
THIS->__retvalue = (int64_t) tp->snd_ssthresh;
%}
function tcp_ts_get_info_rcv_mss (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
THIS->__retvalue = (int64_t) tp->ack.rcv_mss;
#else
const struct inet_connection_sock *icsk = inet_csk((struct sock *)ptr);
THIS->__retvalue = (int64_t) icsk->icsk_ack.rcv_mss;
#endif
%}
# file /usr/local/share/systemtap/tapset/timestamp.stp
%{
#include <linux/time.h>
%}function get_cycles ()
%{ /* pure */
cycles_t c = get_cycles();
THIS->__retvalue = (int64_t) c;
%}
function gettimeofday_ns ()
%{ /* pure */
/* NOTE: we can't use do_gettimeofday because we could be called from a
* context where xtime_lock is already held. See bug #2525. */
THIS->__retvalue = _stp_gettimeofday_ns();
%}
function gettimeofday_us ()
{
return (gettimeofday_ns()) / (1000)
;
}
function gettimeofday_ms ()
{
return (gettimeofday_ns()) / (1000000)
;
}
function gettimeofday_s ()
{
return (gettimeofday_ns()) / (1000000000)
;
}
# file /usr/local/share/systemtap/tapset/udp.stp
%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/udp.h>
#include <net/ip.h>
%}probe udp.sendmsg = kernel.function("udp_sendmsg"){
(sock) = ($sk)
(size) = ($len)
}
probe udp.sendmsg.return = kernel.function("udp_sendmsg").return{
(size) = ($return)
}
probe udp.recvmsg = kernel.function("udp_recvmsg"){
(sock) = ($sk)
(size) = ($len)
}
probe udp.recvmsg.return = kernel.function("udp_recvmsg").return{
(size) = ($return)
}
probe udp.disconnect = kernel.function("udp_disconnect"){
(sock) = ($sk)
(flags) = ($flags)
}
probe udp.disconnect.return = kernel.function("udp_disconnect").return{
(ret) = ($return)
}
# file /usr/local/share/systemtap/tapset/vfs.stp
global __devnames
probe generic.fop.llseek = kernel.function("generic_file_llseek"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(offset) = ($offset)
(origin) = ($origin)
(maxbyte) = (__file_maxbytes($file))
(name) = ("generic_file_llseek")
(argstr) = (sprintf("%d, %d", offset, origin))
}
probe generic.fop.llseek.return = kernel.function("generic_file_llseek").return{
(name) = ("generic_file_llseek")
(retstr) = (returnstr(1))
}
probe generic.fop.aio_read = kernel.function("generic_file_aio_read"){
(dev) = (__file_dev($iocb->ki_filp))
(devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp)))
(ino) = (__file_ino($iocb->ki_filp))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(name) = ("generic_file_aio_read")
(argstr) = (sprintf("%d, %d, %p", count, pos, buf))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.aio_read.return = kernel.function("generic_file_aio_read").return{
(name) = ("generic_file_aio_rea
probe tcp.disconnect.return = kernel.function("tcp_disconnect").return{
(ret) = ($return)
}
function tcp_get_info_rto (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
THIS->__retvalue = (int64_t) jiffies_to_usecs(tp->rto);
#else
const struct inet_connection_sock *icsk = inet_csk((struct sock *)ptr);
THIS->__retvalue = (int64_t) jiffies_to_usecs(icsk->icsk_rto);
#endif
%}
function tcp_get_info_snd_cwnd (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
#else
struct tcp_sock *tp = tcp_sk((struct sock *)ptr);
#endif
THIS->__retvalue = (int64_t) tp->snd_cwnd;
%}
function tcp_ts_get_info_state (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
struct sock * sk = (struct sock *) ptr;
THIS->__retvalue = (int64_t) sk->sk_state;
%}
function tcp_ts_get_info_snd_ssthresh (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
#else
struct tcp_sock *tp = tcp_sk((struct sock *)ptr);
#endif
THIS->__retvalue = (int64_t) tp->snd_ssthresh;
%}
function tcp_ts_get_info_rcv_mss (sock)
%{
unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
THIS->__retvalue = (int64_t) tp->ack.rcv_mss;
#else
const struct inet_connection_sock *icsk = inet_csk((struct sock *)ptr);
THIS->__retvalue = (int64_t) icsk->icsk_ack.rcv_mss;
#endif
%}
# file /usr/local/share/systemtap/tapset/timestamp.stp
%{
#include <linux/time.h>
%}function get_cycles ()
%{ /* pure */
cycles_t c = get_cycles();
THIS->__retvalue = (int64_t) c;
%}
function gettimeofday_ns ()
%{ /* pure */
/* NOTE: we can't use do_gettimeofday because we could be called from a
* context where xtime_lock is already held. See bug #2525. */
THIS->__retvalue = _stp_gettimeofday_ns();
%}
function gettimeofday_us ()
{
return (gettimeofday_ns()) / (1000)
;
}
function gettimeofday_ms ()
{
return (gettimeofday_ns()) / (1000000)
;
}
function gettimeofday_s ()
{
return (gettimeofday_ns()) / (1000000000)
;
}
# file /usr/local/share/systemtap/tapset/udp.stp
%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/udp.h>
#include <net/ip.h>
%}probe udp.sendmsg = kernel.function("udp_sendmsg"){
(sock) = ($sk)
(size) = ($len)
}
probe udp.sendmsg.return = kernel.function("udp_sendmsg").return{
(size) = ($return)
}
probe udp.recvmsg = kernel.function("udp_recvmsg"){
(sock) = ($sk)
(size) = ($len)
}
probe udp.recvmsg.return = kernel.function("udp_recvmsg").return{
(size) = ($return)
}
probe udp.disconnect = kernel.function("udp_disconnect"){
(sock) = ($sk)
(flags) = ($flags)
}
probe udp.disconnect.return = kernel.function("udp_disconnect").return{
(ret) = ($return)
}
# file /usr/local/share/systemtap/tapset/vfs.stp
global __devnames
probe generic.fop.llseek = kernel.function("generic_file_llseek"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(offset) = ($offset)
(origin) = ($origin)
(maxbyte) = (__file_maxbytes($file))
(name) = ("generic_file_llseek")
(argstr) = (sprintf("%d, %d", offset, origin))
}
probe generic.fop.llseek.return = kernel.function("generic_file_llseek").return{
(name) = ("generic_file_llseek")
(retstr) = (returnstr(1))
}
probe generic.fop.aio_read = kernel.function("generic_file_aio_read"){
(dev) = (__file_dev($iocb->ki_filp))
(devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp)))
(ino) = (__file_ino($iocb->ki_filp))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(name) = ("generic_file_aio_read")
(argstr) = (sprintf("%d, %d, %p", count, pos, buf))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.aio_read.return = kernel.function("generic_file_aio_read").return{
d")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.aio_write = kernel.function("generic_file_aio_write"){
(dev) = (__file_dev($iocb->ki_filp))
(devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp)))
(ino) = (__file_ino($iocb->ki_filp))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(name) = ("generic_file_aio_write")
(argstr) = (sprintf("%d, %d ,%p", count, pos, buf))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.aio_write.return = kernel.function("generic_file_aio_write").return{
(name) = ("generic_file_aio_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.readv = kernel.function("generic_file_readv"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = (__file_ino($filp))
(nr_segs) = ($nr_segs)
(pos) = (ppos_pos($ppos))
(name) = ("generic_file_readv")
(argstr) = (sprintf("%d, %d", nr_segs, pos))
(size) = (nr_segs)
(units) = ("segs")
}
probe generic.fop.readv.return = kernel.function("generic_file_readv").return{
(name) = ("generic_file_readv")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.writev = kernel.function("generic_file_writev"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(nr_segs) = ($nr_segs)
(pos) = (ppos_pos($ppos))
(name) = ("generic_file_writev")
(argstr) = (sprintf("%d, %d", nr_segs, pos))
(size) = (nr_segs)
(units) = ("segs")
}
probe generic.fop.writev.return = kernel.function("generic_file_writev").return{
(name) = ("generic_file_writev")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.mmap = kernel.function("generic_file_mmap"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(vm_start) = ($vma->vm_start)
(vm_end) = ($vma->vm_end)
(vm_flags) = ($vma->vm_flags)
(name) = ("generic_file_mmap")
(argstr) = (sprintf("0x%x, 0x%x, 0x%x", vm_start, vm_end, vm_flags))
}
probe generic.fop.mmap.return = kernel.function("generic_file_mmap").return{
(name) = ("generic_file_mmap")
(retstr) = (sprintf("%d", $return))
}
probe generic.fop.open = kernel.function("generic_file_open"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = ($inode->i_ino)
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(size) = ($inode->i_size)
(name) = ("generic_file_open")
(argstr) = (sprintf("%d,%d, %s", ino, flag, filename))
}
probe generic.fop.open.return = kernel.function("generic_file_open").return{
(name) = ("generic_file_open")
(retstr) = (sprintf("%d", $return))
}
probe generic.fop.sendfile = kernel.function("generic_file_sendfile"){
(dev) = (__file_dev($in_file))
(devname) = (__find_bdevname(dev, __file_bdev($in_file)))
(ino) = (__file_ino($in_file))
(count) = ($count)
(ppos) = ($ppos)
(name) = ("generic_file_sendfile")
(argstr) = (sprintf("%d", count))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.sendfile.return = kernel.function("generic_file_sendfile").return{
(name) = ("generic_file_sendfile")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.splice_read = kernel.function("generic_file_splice_read"){
(dev) = (__file_dev($in))
(devname) = (__find_bdevname(dev, __file_bdev($in)))
(ino) = (__file_ino($in))
(len) = ($len)
(flags) = ($flags)
(name) = ("generic_file_splice_read")
(argstr) = (sprintf("%d, %x", len, flags))
(size) = (len)
(units) = ("bytes")
}
probe generic.fop.splice_read.return = kernel.function("generic_file_splice_read").return{
(name) = ("generic_file_splice_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
(name) = ("generic_file_aio_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.aio_write = kernel.function("generic_file_aio_write"){
(dev) = (__file_dev($iocb->ki_filp))
(devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp)))
(ino) = (__file_ino($iocb->ki_filp))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(name) = ("generic_file_aio_write")
(argstr) = (sprintf("%d, %d ,%p", count, pos, buf))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.aio_write.return = kernel.function("generic_file_aio_write").return{
(name) = ("generic_file_aio_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.readv = kernel.function("generic_file_readv"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = (__file_ino($filp))
(nr_segs) = ($nr_segs)
(pos) = (ppos_pos($ppos))
(name) = ("generic_file_readv")
(argstr) = (sprintf("%d, %d", nr_segs, pos))
(size) = (nr_segs)
(units) = ("segs")
}
probe generic.fop.readv.return = kernel.function("generic_file_readv").return{
(name) = ("generic_file_readv")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.writev = kernel.function("generic_file_writev"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(nr_segs) = ($nr_segs)
(pos) = (ppos_pos($ppos))
(name) = ("generic_file_writev")
(argstr) = (sprintf("%d, %d", nr_segs, pos))
(size) = (nr_segs)
(units) = ("segs")
}
probe generic.fop.writev.return = kernel.function("generic_file_writev").return{
(name) = ("generic_file_writev")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.mmap = kernel.function("generic_file_mmap"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(vm_start) = ($vma->vm_start)
(vm_end) = ($vma->vm_end)
(vm_flags) = ($vma->vm_flags)
(name) = ("generic_file_mmap")
(argstr) = (sprintf("0x%x, 0x%x, 0x%x", vm_start, vm_end, vm_flags))
}
probe generic.fop.mmap.return = kernel.function("generic_file_mmap").return{
(name) = ("generic_file_mmap")
(retstr) = (sprintf("%d", $return))
}
probe generic.fop.open = kernel.function("generic_file_open"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = ($inode->i_ino)
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(size) = ($inode->i_size)
(name) = ("generic_file_open")
(argstr) = (sprintf("%d,%d, %s", ino, flag, filename))
}
probe generic.fop.open.return = kernel.function("generic_file_open").return{
(name) = ("generic_file_open")
(retstr) = (sprintf("%d", $return))
}
probe generic.fop.sendfile = kernel.function("generic_file_sendfile"){
(dev) = (__file_dev($in_file))
(devname) = (__find_bdevname(dev, __file_bdev($in_file)))
(ino) = (__file_ino($in_file))
(count) = ($count)
(ppos) = ($ppos)
(name) = ("generic_file_sendfile")
(argstr) = (sprintf("%d", count))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.sendfile.return = kernel.function("generic_file_sendfile").return{
(name) = ("generic_file_sendfile")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.splice_read = kernel.function("generic_file_splice_read"){
(dev) = (__file_dev($in))
(devname) = (__find_bdevname(dev, __file_bdev($in)))
(ino) = (__file_ino($in))
(len) = ($len)
(flags) = ($flags)
(name) = ("generic_file_splice_read")
(argstr) = (sprintf("%d, %x", len, flags))
(size) = (len)
(units) = ("bytes")
}
probe generic.fop.splice_read.return = kernel.function("generic_file_splice_read").return{
(name) = ("generic_file_splice_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
probe generic.fop.splice_write = kernel.function("generic_file_splice_write"){
(dev) = (__file_dev($out))
(devname) = (__find_bdevname(dev, __file_bdev($out)))
(ino) = (__file_ino($out))
(len) = ($len)
(flags) = ($flags)
(name) = ("generic_file_splice_write")
(argstr) = (sprintf("%d, %x", len, flags))
(size) = (len)
(units) = ("bytes")
}
probe generic.fop.splice_write.return = kernel.function("generic_file_splice_write").return{
(name) = ("generic_file_splice_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.read = kernel.function("generic_file_read"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = (__file_ino($filp))
(count) = ($count)
(name) = ("generic_file_read")
(argstr) = (sprintf("%d", count))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.read.return = kernel.function("generic_file_read").return{
(name) = ("generic_file_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.write = kernel.function("generic_file_write"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(count) = ($count)
(name) = ("generic_file_write")
(argstr) = (sprintf("%d", count))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.write.return = kernel.function("generic_file_write").return{
(name) = ("generic_file_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.aop.writepages = kernel.function("mpage_writepages"){
(dev) = ($mapping->host->i_sb->s_dev)
(devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev))
(ino) = ($mapping->host->i_ino)
(nr_to_write) = ($wbc->nr_to_write)
(name) = ("generic_writepages")
(argstr) = (sprintf("%d", nr_to_write))
(size) = (nr_to_write)
(units) = ("pages")
}
probe generic.aop.writepages.return = kernel.function("mpage_writepages").return{
(name) = ("generic_writepages")
(retstr) = (sprintf("%d", $return))
}
probe vfs.do_sync_read = kernel.function("do_sync_read"){
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(len) = ($len)
(pos) = (ppos_pos($ppos))
(buf) = ($buf)
(name) = ("do_sync_read")
(argstr) = (sprintf("%d, %d , %p ", len, pos, buf))
(size) = (len)
(units) = ("bytes")
}
probe vfs.do_sync_read.return = kernel.function("do_sync_read").return{
(name) = ("do_sync_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe vfs.do_sync_write = kernel.function("do_sync_write"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = (__file_ino($filp))
(len) = ($len)
(pos) = (ppos_pos($ppos))
(buf) = ($buf)
(name) = ("do_sync_write")
(argstr) = (sprintf("%d, %d , %p", len, pos, buf))
(size) = (len)
(units) = ("bytes")
}
probe vfs.do_sync_write.return = kernel.function("do_sync_write").return{
(name) = ("do_sync_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe vfs.block_sync_page = kernel.function("block_sync_page"){
(__page) = ($page)
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(page_index) = ($page->index)
(name) = ("block_sync_page")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe vfs.block_sync_page.return = kernel.function("block_sync_page").return{
(name) = ("block_sync_page")
(retstr) = (sprintf("N/A"))
(size) = (1)
(units) = ("pages")
}
probe vfs.buffer_migrate_page = kernel.function("buffer_migrate_page")?{
(dev) = (__page_dev($page))
(ino) = (__page_ino($page))
(devname) = (__find_bdevname(dev, __page_bdev($page)))
(page_index) = ($page->index)
(name) = ("buffer_migrate_page")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pa
}
}
probe generic.fop.splice_write = kernel.function("generic_file_splice_write"){
(dev) = (__file_dev($out))
(devname) = (__find_bdevname(dev, __file_bdev($out)))
(ino) = (__file_ino($out))
(len) = ($len)
(flags) = ($flags)
(name) = ("generic_file_splice_write")
(argstr) = (sprintf("%d, %x", len, flags))
(size) = (len)
(units) = ("bytes")
}
probe generic.fop.splice_write.return = kernel.function("generic_file_splice_write").return{
(name) = ("generic_file_splice_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.read = kernel.function("generic_file_read"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = (__file_ino($filp))
(count) = ($count)
(name) = ("generic_file_read")
(argstr) = (sprintf("%d", count))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.read.return = kernel.function("generic_file_read").return{
(name) = ("generic_file_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.fop.write = kernel.function("generic_file_write"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(count) = ($count)
(name) = ("generic_file_write")
(argstr) = (sprintf("%d", count))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.write.return = kernel.function("generic_file_write").return{
(name) = ("generic_file_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe generic.aop.writepages = kernel.function("mpage_writepages"){
(dev) = ($mapping->host->i_sb->s_dev)
(devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev))
(ino) = ($mapping->host->i_ino)
(nr_to_write) = ($wbc->nr_to_write)
(name) = ("generic_writepages")
(argstr) = (sprintf("%d", nr_to_write))
(size) = (nr_to_write)
(units) = ("pages")
}
probe generic.aop.writepages.return = kernel.function("mpage_writepages").return{
(name) = ("generic_writepages")
(retstr) = (sprintf("%d", $return))
}
probe vfs.do_sync_read = kernel.function("do_sync_read"){
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(len) = ($len)
(pos) = (ppos_pos($ppos))
(buf) = ($buf)
(name) = ("do_sync_read")
(argstr) = (sprintf("%d, %d , %p ", len, pos, buf))
(size) = (len)
(units) = ("bytes")
}
probe vfs.do_sync_read.return = kernel.function("do_sync_read").return{
(name) = ("do_sync_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe vfs.do_sync_write = kernel.function("do_sync_write"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = (__file_ino($filp))
(len) = ($len)
(pos) = (ppos_pos($ppos))
(buf) = ($buf)
(name) = ("do_sync_write")
(argstr) = (sprintf("%d, %d , %p", len, pos, buf))
(size) = (len)
(units) = ("bytes")
}
probe vfs.do_sync_write.return = kernel.function("do_sync_write").return{
(name) = ("do_sync_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
}
probe vfs.block_sync_page = kernel.function("block_sync_page"){
(__page) = ($page)
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(page_index) = ($page->index)
(name) = ("block_sync_page")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe vfs.block_sync_page.return = kernel.function("block_sync_page").return{
(name) = ("block_sync_page")
(retstr) = (sprintf("N/A"))
(size) = (1)
(units) = ("pages")
}
probe vfs.buffer_migrate_page = kernel.function("buffer_migrate_page")?{
(dev) = (__page_dev($page))
(ino) = (__page_ino($page))
(devname) = (__find_bdevname(dev, __page_bdev($page)))
(page_index) = ($page->index)
(name) = ("buffer_migrate_page")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
ges")
}
probe vfs.buffer_migrate_page.return = kernel.function("buffer_migrate_page").return?{
(name) = ("buffer_migrate_page")
(retstr) = (sprintf("%d", $return))
if (($return) == (0)) {
(size) = (1)
(units) = ("pages")
}
}
probe vfs.__set_page_dirty_buffers = kernel.function("__set_page_dirty_buffers"){
(__page) = ($page)
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(index) = ($page->index)
(name) = ("__set_page_dirty_buffers")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe vfs.__set_page_dirty_buffers.return = kernel.function("__set_page_dirty_buffers").return{
(name) = ("__set_page_dirty_buffers")
(retstr) = (sprintf("%d", $return))
if (($return) == (1)) {
(size) = (1)
(units) = ("pages")
}
}
probe vfs.do_mpage_readpage = kernel.function("do_mpage_readpage"){
(__page) = ($page)
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(index) = ($page->index)
(name) = ("do_mpage_readpage")
(argstr) = (sprintf("%d", index))
(size) = (1)
(units) = ("pages")
}
probe vfs.do_mpage_readpage.return = kernel.function("do_mpage_readpage").return{
(name) = ("do_mpage_readpage")
(retstr) = (sprintf("0x%x", $return))
(size) = (1)
(units) = ("pages")
}
probe vfs.add_to_page_cache = kernel.function("add_to_page_cache"){
(dev) = ($mapping->host->i_sb->s_dev)
(devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev))
(ino) = ($mapping->host->i_ino)
(index) = ($offset)
(nrpages) = ($mapping->nrpages)
(name) = ("vfs.add_to_page_cache")
(argstr) = (sprintf("%d, %d", ino, index))
}
probe vfs.add_to_page_cache.return = kernel.function("add_to_page_cache").return{
(name) = ("vfs.add_to_page_cache")
(retstr) = (sprintf("%d", $return))
if (($return) == (0)) {
(size) = (1)
(units) = ("pages")
}
}
probe vfs.remove_from_page_cache = kernel.function("__remove_from_page_cache"){
(dev) = (__page_dev($page))
(devname) = (__find_bdevname(dev, __page_bdev($page)))
(ino) = (__page_ino($page))
(index) = ($page->index)
(name) = ("vfs.remove_from_page_cache")
(argstr) = (sprintf("%d", ino))
}
probe vfs.remove_from_page_cache.return = kernel.function("remove_from_page_cache").return{
(name) = ("vfs.remove_from_page_cache")
(retstr) = (sprintf("N/A"))
}
function __bdevname (bdev)
%{ /* pure */
char b[BDEVNAME_SIZE];
struct block_device *bdev = (struct block_device *)(long)THIS->bdev;
if (bdev == NULL) {
strlcpy(THIS->__retvalue, "N/A", MAXSTRINGLEN);
return;
}
deref_string(THIS->__retvalue, bdevname(bdev,b), MAXSTRINGLEN);
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __find_bdevname (dev, bdev)
{
(__devname) = (__devnames[dev])
if ((__devname) != (null)) return __devname
(__devname) = ((__devnames[dev]) = (__bdevname(bdev)))
return __devname
}
function ppos_pos (ppos)
%{ /* pure */
loff_t *ppos = (loff_t *)(long)THIS->ppos;
/* XXX: but see bug #3079 */
THIS->__retvalue = (int64_t) deref (sizeof(loff_t), ppos);
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __page_ino (page)
%{ /* pure */
struct page *page = (struct page *)(long)THIS->page;
if ((page == NULL) || (page->mapping == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_ino),
&(page->mapping->host->i_ino));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __page_dev (page)
%{ /* pure */
struct page *page = (struct page *)(long)THIS->page;
if ((page == NULL) || (page->mapping == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_sb->s_dev),
&(page->mapping->host->i_sb->s_dev));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __page_bdev (page)
%{ /* pure */
struct page *page = (struct page
(units) = ("pages")
}
probe vfs.buffer_migrate_page.return = kernel.function("buffer_migrate_page").return?{
(name) = ("buffer_migrate_page")
(retstr) = (sprintf("%d", $return))
if (($return) == (0)) {
(size) = (1)
(units) = ("pages")
}
}
probe vfs.__set_page_dirty_buffers = kernel.function("__set_page_dirty_buffers"){
(__page) = ($page)
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(index) = ($page->index)
(name) = ("__set_page_dirty_buffers")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe vfs.__set_page_dirty_buffers.return = kernel.function("__set_page_dirty_buffers").return{
(name) = ("__set_page_dirty_buffers")
(retstr) = (sprintf("%d", $return))
if (($return) == (1)) {
(size) = (1)
(units) = ("pages")
}
}
probe vfs.do_mpage_readpage = kernel.function("do_mpage_readpage"){
(__page) = ($page)
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(index) = ($page->index)
(name) = ("do_mpage_readpage")
(argstr) = (sprintf("%d", index))
(size) = (1)
(units) = ("pages")
}
probe vfs.do_mpage_readpage.return = kernel.function("do_mpage_readpage").return{
(name) = ("do_mpage_readpage")
(retstr) = (sprintf("0x%x", $return))
(size) = (1)
(units) = ("pages")
}
probe vfs.add_to_page_cache = kernel.function("add_to_page_cache"){
(dev) = ($mapping->host->i_sb->s_dev)
(devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev))
(ino) = ($mapping->host->i_ino)
(index) = ($offset)
(nrpages) = ($mapping->nrpages)
(name) = ("vfs.add_to_page_cache")
(argstr) = (sprintf("%d, %d", ino, index))
}
probe vfs.add_to_page_cache.return = kernel.function("add_to_page_cache").return{
(name) = ("vfs.add_to_page_cache")
(retstr) = (sprintf("%d", $return))
if (($return) == (0)) {
(size) = (1)
(units) = ("pages")
}
}
probe vfs.remove_from_page_cache = kernel.function("__remove_from_page_cache"){
(dev) = (__page_dev($page))
(devname) = (__find_bdevname(dev, __page_bdev($page)))
(ino) = (__page_ino($page))
(index) = ($page->index)
(name) = ("vfs.remove_from_page_cache")
(argstr) = (sprintf("%d", ino))
}
probe vfs.remove_from_page_cache.return = kernel.function("remove_from_page_cache").return{
(name) = ("vfs.remove_from_page_cache")
(retstr) = (sprintf("N/A"))
}
function __bdevname (bdev)
%{ /* pure */
char b[BDEVNAME_SIZE];
struct block_device *bdev = (struct block_device *)(long)THIS->bdev;
if (bdev == NULL) {
strlcpy(THIS->__retvalue, "N/A", MAXSTRINGLEN);
return;
}
deref_string(THIS->__retvalue, bdevname(bdev,b), MAXSTRINGLEN);
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __find_bdevname (dev, bdev)
{
(__devname) = (__devnames[dev])
if ((__devname) != (null)) return __devname
(__devname) = ((__devnames[dev]) = (__bdevname(bdev)))
return __devname
}
function ppos_pos (ppos)
%{ /* pure */
loff_t *ppos = (loff_t *)(long)THIS->ppos;
/* XXX: but see bug #3079 */
THIS->__retvalue = (int64_t) deref (sizeof(loff_t), ppos);
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __page_ino (page)
%{ /* pure */
struct page *page = (struct page *)(long)THIS->page;
if ((page == NULL) || (page->mapping == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_ino),
&(page->mapping->host->i_ino));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __page_dev (page)
%{ /* pure */
struct page *page = (struct page *)(long)THIS->page;
if ((page == NULL) || (page->mapping == NULL)) {
THIS->__retvalue = -1;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_sb->s_dev),
&(page->mapping->host->i_sb->s_dev));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __page_bdev (page)
%{ /* pure */
*)(long)THIS->page;
if ((page == NULL) || (page->mapping == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_sb->s_bdev),
&(page->mapping->host->i_sb->s_bdev));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_dev (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_dev),
&(file->f_dentry->d_inode->i_sb->s_dev));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_bdev (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_bdev),
&(file->f_dentry->d_inode->i_sb->s_bdev));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_ino (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_ino),
&(file->f_dentry->d_inode->i_ino));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_maxbytes (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_maxbytes),
&(file->f_dentry->d_inode->i_sb->s_maxbytes));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_filename (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL)
|| (file->f_dentry == NULL)
|| (file->f_dentry->d_name.name == NULL))
strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
strlcpy(THIS->__retvalue, file->f_dentry->d_name.name, MAXSTRINGLEN);
}
%}
# file /usr/local/share/systemtap/tapset/LKET/aio.stp
probe addevent.aio = addevent.aio.entry, addevent.aio.return{
}
probe addevent.aio.entry = addevent.aio.io_setup.entry, addevent.aio.io_submit.entry, addevent.aio.io_submit_one.entry, addevent.aio.io_destroy.entry, addevent.aio.io_getevents.entry, addevent.aio.io_cancel.entry{
}
probe addevent.aio.return = addevent.aio.io_setup.return, addevent.aio.io_submit.return, addevent.aio.io_submit_one.return, addevent.aio.io_destroy.return, addevent.aio.io_getevents.return, addevent.aio.io_cancel.return{
}
probe addevent.aio.io_setup = addevent.aio.io_setup.entry, addevent.aio.io_setup.return{
}
probe addevent.aio.io_setup.entry = _addevent.aio.io_setup.entry{
update_record()
}
probe _addevent.aio.io_setup.entry = syscall.io_setup{
log_aio_setup(maxevents, ctxp_uaddr)
}
probe addevent.aio.io_setup.return = _addevent.aio.io_setup.return{
update_record()
}
probe _addevent.aio.io_setup.return = kernel.function("sys_io_setup").return{
log_aio_return(HOOKID_AIO_IO_SETUP_RETURN, $return)
}
probe addevent.aio.io_submit = addevent.aio.io_submit.entry, addevent.aio.io_submit.return{
}
probe addevent.aio.io_submit.entry = _addevent.aio.io_submit.entry{
update_record()
}
probe _addevent.aio.io_submit.entry = syscall.io_submit{
log_aio_submit(ctx_id, nr, iocbpp_uaddr)
}
probe addevent.aio.io_submit.return = _addevent.aio.io_submit.return{
update_record()
}
probe _addevent.aio.io_submit.return = syscall.io_submit.return{
log_aio_return(HOOKID_AIO_IO_SUBMIT_RETURN, $return)
}
probe addevent.aio.io_submit_one = addevent.aio.io_submit_one.entry, addevent.aio.io_submit_one.return{
}
probe addevent.aio.io_submit_one.entry = _addevent.aio.io_submit_one.entry{
update_record()
}
probe _addevent.aio.io_submit_one.entry = kernel.function("io_submit_one"){
l
struct page *page = (struct page *)(long)THIS->page;
if ((page == NULL) || (page->mapping == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(page->mapping->host->i_sb->s_bdev),
&(page->mapping->host->i_sb->s_bdev));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_dev (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_dev),
&(file->f_dentry->d_inode->i_sb->s_dev));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_bdev (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_bdev),
&(file->f_dentry->d_inode->i_sb->s_bdev));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_ino (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_ino),
&(file->f_dentry->d_inode->i_ino));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_maxbytes (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL) || (file->f_dentry == NULL)) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_maxbytes),
&(file->f_dentry->d_inode->i_sb->s_maxbytes));
if (0) {
deref_fault:
CONTEXT->last_error = "pointer dereference fault";
}
%}
function __file_filename (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL)
|| (file->f_dentry == NULL)
|| (file->f_dentry->d_name.name == NULL))
strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
strlcpy(THIS->__retvalue, file->f_dentry->d_name.name, MAXSTRINGLEN);
}
%}
# file /usr/local/share/systemtap/tapset/LKET/aio.stp
probe addevent.aio = addevent.aio.entry, addevent.aio.return{
}
probe addevent.aio.entry = addevent.aio.io_setup.entry, addevent.aio.io_submit.entry, addevent.aio.io_submit_one.entry, addevent.aio.io_destroy.entry, addevent.aio.io_getevents.entry, addevent.aio.io_cancel.entry{
}
probe addevent.aio.return = addevent.aio.io_setup.return, addevent.aio.io_submit.return, addevent.aio.io_submit_one.return, addevent.aio.io_destroy.return, addevent.aio.io_getevents.return, addevent.aio.io_cancel.return{
}
probe addevent.aio.io_setup = addevent.aio.io_setup.entry, addevent.aio.io_setup.return{
}
probe addevent.aio.io_setup.entry = _addevent.aio.io_setup.entry{
update_record()
}
probe _addevent.aio.io_setup.entry = syscall.io_setup{
log_aio_setup(maxevents, ctxp_uaddr)
}
probe addevent.aio.io_setup.return = _addevent.aio.io_setup.return{
update_record()
}
probe _addevent.aio.io_setup.return = kernel.function("sys_io_setup").return{
log_aio_return(HOOKID_AIO_IO_SETUP_RETURN, $return)
}
probe addevent.aio.io_submit = addevent.aio.io_submit.entry, addevent.aio.io_submit.return{
}
probe addevent.aio.io_submit.entry = _addevent.aio.io_submit.entry{
update_record()
}
probe _addevent.aio.io_submit.entry = syscall.io_submit{
log_aio_submit(ctx_id, nr, iocbpp_uaddr)
}
probe addevent.aio.io_submit.return = _addevent.aio.io_submit.return{
update_record()
}
probe _addevent.aio.io_submit.return = syscall.io_submit.return{
log_aio_return(HOOKID_AIO_IO_SUBMIT_RETURN, $return)
}
probe addevent.aio.io_submit_one = addevent.aio.io_submit_one.entry, addevent.aio.io_submit_one.return{
}
probe addevent.aio.io_submit_one.entry = _addevent.aio.io_submit_one.entry{
update_record()
}
probe _addevent.aio.io_submit_one.entry = kernel.function("io_submit_one"){
og_io_submit_one($ctx, $user_iocb, $user_iocb->aio_lio_opcode, $user_iocb->aio_reqprio, $user_iocb->aio_fildes, $user_iocb->aio_buf, $user_iocb->aio_nbytes, $user_iocb->aio_offset)
}
probe addevent.aio.io_submit_one.return = _addevent.aio.io_submit_one.return{
update_record()
}
probe _addevent.aio.io_submit_one.return = kernel.function("io_submit_one").return{
log_aio_return(HOOKID_AIO_IO_SUBMIT_ONE_RETURN, $return)
}
probe addevent.aio.io_destroy = addevent.aio.io_destroy.entry, addevent.aio.io_destroy.return{
}
probe addevent.aio.io_destroy.entry = _addevent.aio.io_destroy.entry{
update_record()
}
probe _addevent.aio.io_destroy.entry = syscall.io_destroy{
log_io_destroy(ctx)
}
probe addevent.aio.io_destroy.return = _addevent.aio.io_destroy.return{
update_record()
}
probe _addevent.aio.io_destroy.return = syscall.io_destroy.return{
log_aio_return(HOOKID_AIO_IO_DESTROY_RETURN, $return)
}
probe addevent.aio.io_getevents = addevent.aio.io_getevents.entry, addevent.aio.io_getevents.return{
}
probe addevent.aio.io_getevents.entry = _addevent.aio.io_getevents.entry{
update_record()
}
probe _addevent.aio.io_getevents.entry = syscall.io_getevents{
log_io_getevents(ctx_id, min_nr, nr, events_uaddr, timeout_uaddr)
}
probe addevent.aio.io_getevents.return = _addevent.aio.io_getevents.return{
update_record()
}
probe _addevent.aio.io_getevents.return = syscall.io_getevents.return{
log_aio_return(HOOKID_AIO_IO_GETEVENTS_RETURN, $return)
}
probe addevent.aio.io_cancel = addevent.aio.io_cancel.entry, addevent.aio.io_cancel.return{
}
probe addevent.aio.io_cancel.entry = _addevent.aio.io_cancel.entry{
update_record()
}
probe _addevent.aio.io_cancel.entry = syscall.io_cancel{
log_aio_cancel(ctx_id, iocb_uaddr, result_uaddr)
}
probe addevent.aio.io_cancel.return = _addevent.aio.io_cancel.return{
update_record()
}
probe _addevent.aio.io_cancel.return = syscall.io_cancel.return{
log_aio_return(HOOKID_AIO_IO_CANCEL_RETURN, $return)
}
function log_aio_setup (nr_events, ctxp_uaddr)
%{
/* nr_events|ctxp_uaddr */
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SETUP_ENTRY, "%4b%8b",
THIS->nr_events, THIS->ctxp_uaddr);
%}
function log_aio_return (hookid, retval)
%{
_lket_trace(_GROUP_AIO, THIS->hookid, "%8b", THIS->retval);
%}
function log_aio_submit (ctx_id, nr, iocbpp_uaddr)
%{
/* ctx_id | no_iocbs | iocbpp */
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ENTRY, "%8b%4b%8b",
THIS->ctx_id, THIS->nr, THIS->iocbpp_uaddr);
%}
function log_io_submit_one (ctx, user_iocb_uaddr, aio_lio_opcode, aio_reqprio, aio_fildes, aio_buf, aio_nbytes, aio_offset)
%{
/* ctx | user_iocb_addr | aio_lio_opcode | >aio_reqprio |
aio_fildes | aio_buf | aio_nbytes | >aio_offset */
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY,
"%8b%8b%2b%2b%4b%8b%8b%8b",
THIS->ctx, THIS->user_iocb_uaddr, THIS->aio_lio_opcode,
THIS->aio_reqprio, THIS->aio_fildes,
THIS->aio_buf, THIS->aio_nbytes,
THIS->aio_offset);
%}
function log_io_destroy (ctx)
%{
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_DESTROY_ENTRY, "%8b", THIS->ctx);
%}
function log_io_getevents (ctx_id, min_nr, nr, events_uaddr, timeout)
%{
struct timespec __user *timeout = (struct timespec *)((long)THIS->timeout);
struct timespec ts;
if (unlikely(copy_from_user(&ts, timeout, sizeof(ts))))
return;
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_GETEVENTS_ENTRY,
"%8b%4b%4b%8b%4b%4b", THIS->ctx_id, THIS->min_nr,
THIS->nr, THIS->events_uaddr, (_FMT_)ts.tv_sec,
(_FMT_)ts.tv_nsec);
%}
function log_aio_cancel (ctx_id, iocb_uaddr, result_uaddr)
%{
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_CANCEL_ENTRY, "%8b%8b%8b",
THIS->ctx_id, THIS->iocb_uaddr, THIS->result_uaddr);
%}
# file /usr/local/share/systemtap/tapset/LKET/hookid_defs.stp
%{
/* used in embedded c codes */
/* Group ID Definitions */
int _GROUP_REGEVT = 1;
int _GROUP_SYSCALL = 2;
int _GROUP_PROCESS = 3;
int _GROUP_IOSCHED = 4;
int _GROUP_TASK = 5;
int _GROUP_SCSI = 6;
int _GROUP_PAGEFAULT = 7;
int _GROUP_NETDEV = 8;
int _GROUP_IOSYSCA
log_io_submit_one($ctx, $user_iocb, $user_iocb->aio_lio_opcode, $user_iocb->aio_reqprio, $user_iocb->aio_fildes, $user_iocb->aio_buf, $user_iocb->aio_nbytes, $user_iocb->aio_offset)
}
probe addevent.aio.io_submit_one.return = _addevent.aio.io_submit_one.return{
update_record()
}
probe _addevent.aio.io_submit_one.return = kernel.function("io_submit_one").return{
log_aio_return(HOOKID_AIO_IO_SUBMIT_ONE_RETURN, $return)
}
probe addevent.aio.io_destroy = addevent.aio.io_destroy.entry, addevent.aio.io_destroy.return{
}
probe addevent.aio.io_destroy.entry = _addevent.aio.io_destroy.entry{
update_record()
}
probe _addevent.aio.io_destroy.entry = syscall.io_destroy{
log_io_destroy(ctx)
}
probe addevent.aio.io_destroy.return = _addevent.aio.io_destroy.return{
update_record()
}
probe _addevent.aio.io_destroy.return = syscall.io_destroy.return{
log_aio_return(HOOKID_AIO_IO_DESTROY_RETURN, $return)
}
probe addevent.aio.io_getevents = addevent.aio.io_getevents.entry, addevent.aio.io_getevents.return{
}
probe addevent.aio.io_getevents.entry = _addevent.aio.io_getevents.entry{
update_record()
}
probe _addevent.aio.io_getevents.entry = syscall.io_getevents{
log_io_getevents(ctx_id, min_nr, nr, events_uaddr, timeout_uaddr)
}
probe addevent.aio.io_getevents.return = _addevent.aio.io_getevents.return{
update_record()
}
probe _addevent.aio.io_getevents.return = syscall.io_getevents.return{
log_aio_return(HOOKID_AIO_IO_GETEVENTS_RETURN, $return)
}
probe addevent.aio.io_cancel = addevent.aio.io_cancel.entry, addevent.aio.io_cancel.return{
}
probe addevent.aio.io_cancel.entry = _addevent.aio.io_cancel.entry{
update_record()
}
probe _addevent.aio.io_cancel.entry = syscall.io_cancel{
log_aio_cancel(ctx_id, iocb_uaddr, result_uaddr)
}
probe addevent.aio.io_cancel.return = _addevent.aio.io_cancel.return{
update_record()
}
probe _addevent.aio.io_cancel.return = syscall.io_cancel.return{
log_aio_return(HOOKID_AIO_IO_CANCEL_RETURN, $return)
}
function log_aio_setup (nr_events, ctxp_uaddr)
%{
/* nr_events|ctxp_uaddr */
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SETUP_ENTRY, "%4b%8b",
THIS->nr_events, THIS->ctxp_uaddr);
%}
function log_aio_return (hookid, retval)
%{
_lket_trace(_GROUP_AIO, THIS->hookid, "%8b", THIS->retval);
%}
function log_aio_submit (ctx_id, nr, iocbpp_uaddr)
%{
/* ctx_id | no_iocbs | iocbpp */
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ENTRY, "%8b%4b%8b",
THIS->ctx_id, THIS->nr, THIS->iocbpp_uaddr);
%}
function log_io_submit_one (ctx, user_iocb_uaddr, aio_lio_opcode, aio_reqprio, aio_fildes, aio_buf, aio_nbytes, aio_offset)
%{
/* ctx | user_iocb_addr | aio_lio_opcode | >aio_reqprio |
aio_fildes | aio_buf | aio_nbytes | >aio_offset */
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY,
"%8b%8b%2b%2b%4b%8b%8b%8b",
THIS->ctx, THIS->user_iocb_uaddr, THIS->aio_lio_opcode,
THIS->aio_reqprio, THIS->aio_fildes,
THIS->aio_buf, THIS->aio_nbytes,
THIS->aio_offset);
%}
function log_io_destroy (ctx)
%{
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_DESTROY_ENTRY, "%8b", THIS->ctx);
%}
function log_io_getevents (ctx_id, min_nr, nr, events_uaddr, timeout)
%{
struct timespec __user *timeout = (struct timespec *)((long)THIS->timeout);
struct timespec ts;
if (unlikely(copy_from_user(&ts, timeout, sizeof(ts))))
return;
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_GETEVENTS_ENTRY,
"%8b%4b%4b%8b%4b%4b", THIS->ctx_id, THIS->min_nr,
THIS->nr, THIS->events_uaddr, (_FMT_)ts.tv_sec,
(_FMT_)ts.tv_nsec);
%}
function log_aio_cancel (ctx_id, iocb_uaddr, result_uaddr)
%{
_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_CANCEL_ENTRY, "%8b%8b%8b",
THIS->ctx_id, THIS->iocb_uaddr, THIS->result_uaddr);
%}
# file /usr/local/share/systemtap/tapset/LKET/hookid_defs.stp
%{
/* used in embedded c codes */
/* Group ID Definitions */
int _GROUP_REGEVT = 1;
int _GROUP_SYSCALL = 2;
int _GROUP_PROCESS = 3;
int _GROUP_IOSCHED = 4;
int _GROUP_TASK = 5;
int _GROUP_SCSI = 6;
int _GROUP_PAGEFAULT = 7;
int _GROUP_NETDEV = 8;
LL = 9;
int _GROUP_AIO = 10;
int _GROUP_SIGNAL = 11;
int _GROUP_SUNRPC = 12;
int _GROUP_CPUFREQ = 15;
int _GROUP_NFS = 16;
int _GROUP_NFSD = 17;
/* hookIDs defined inside each group */
int _HOOKID_REGSYSEVT = 1;
int _HOOKID_REGUSREVT = 3;
int _HOOKID_REGEVTDESC = 5;
int _HOOKID_SYSCALL_ENTRY = 1;
int _HOOKID_SYSCALL_RETURN = 2;
int _HOOKID_PROCESS_SNAPSHOT = 1;
int _HOOKID_PROCESS_EXECVE = 3;
int _HOOKID_PROCESS_FORK = 5;
int _HOOKID_PROCESS_EXIT_ENTRY = 7;
int _HOOKID_IOSCHED_ADD_REQ = 1;
int _HOOKID_IOSCHED_NEXT_REQ_ENTRY = 3;
int _HOOKID_IOSCHED_NEXT_REQ_RETURN = 4;
int _HOOKID_IOSCHED_COMPLETE_REQ = 5;
int _HOOKID_TASK_CTXSWITCH = 1;
int _HOOKID_TASK_CPUIDLE = 3;
int _HOOKID_SCSI_IOENTRY = 1;
int _HOOKID_SCSI_IO_TO_LLD = 3;
int _HOOKID_SCSI_IODONE_BY_LLD = 5;
int _HOOKID_SCSI_IOCOMP_BY_MIDLEVEL = 7;
int _HOOKID_PAGEFAULT = 1;
int _HOOKID_NETDEV_RECEIVE = 1;
int _HOOKID_NETDEV_TRANSMIT = 3;
int _HOOKID_IOSYSCALL_OPEN_ENTRY = 1;
int _HOOKID_IOSYSCALL_OPEN_RETURN = 2;
int _HOOKID_IOSYSCALL_CLOSE_ENTRY = 3;
int _HOOKID_IOSYSCALL_CLOSE_RETURN = 4;
int _HOOKID_IOSYSCALL_READ_ENTRY = 5;
int _HOOKID_IOSYSCALL_READ_RETURN = 6;
int _HOOKID_IOSYSCALL_WRITE_ENTRY = 7;
int _HOOKID_IOSYSCALL_WRITE_RETURN = 8;
int _HOOKID_IOSYSCALL_READV_ENTRY = 9;
int _HOOKID_IOSYSCALL_READV_RETURN = 10;
int _HOOKID_IOSYSCALL_WRITEV_ENTRY = 11;
int _HOOKID_IOSYSCALL_WRITEV_RETURN = 12;
int _HOOKID_IOSYSCALL_PREAD64_ENTRY = 13;
int _HOOKID_IOSYSCALL_PREAD64_RETURN = 14;
int _HOOKID_IOSYSCALL_PWRITE64_ENTRY = 15;
int _HOOKID_IOSYSCALL_PWRITE64_RETURN = 16;
int _HOOKID_IOSYSCALL_READAHEAD_ENTRY = 17;
int _HOOKID_IOSYSCALL_READAHEAD_RETURN = 18;
int _HOOKID_IOSYSCALL_SENDFILE_ENTRY = 19;
int _HOOKID_IOSYSCALL_SENDFILE_RETURN = 20;
int _HOOKID_IOSYSCALL_LSEEK_ENTRY = 21;
int _HOOKID_IOSYSCALL_LSEEK_RETURN = 22;
int _HOOKID_IOSYSCALL_LLSEEK_ENTRY = 23;
int _HOOKID_IOSYSCALL_LLSEEK_RETURN = 24;
int _HOOKID_IOSYSCALL_SYNC_ENTRY = 25;
int _HOOKID_IOSYSCALL_SYNC_RETURN = 26;
int _HOOKID_IOSYSCALL_FSYNC_ENTRY = 27;
int _HOOKID_IOSYSCALL_FSYNC_RETURN = 28;
int _HOOKID_IOSYSCALL_FDATASYNC_ENTRY = 29;
int _HOOKID_IOSYSCALL_FDATASYNC_RETURN = 30;
int _HOOKID_IOSYSCALL_FLOCK_ENTRY = 31;
int _HOOKID_IOSYSCALL_FLOCK_RETURN = 32;
int _HOOKID_AIO_IO_SETUP_ENTRY = 1;
int _HOOKID_AIO_IO_SETUP_RETURN = 2;
int _HOOKID_AIO_IO_SUBMIT_ENTRY = 3;
int _HOOKID_AIO_IO_SUBMIT_RETURN = 4;
int _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY = 5;
int _HOOKID_AIO_IO_SUBMIT_ONE_RETURN = 6;
int _HOOKID_AIO_IO_GETEVENTS_ENTRY = 7;
int _HOOKID_AIO_IO_GETEVENTS_RETURN = 8;
int _HOOKID_AIO_IO_DESTROY_ENTRY = 9;
int _HOOKID_AIO_IO_DESTROY_RETURN = 10;
int _HOOKID_AIO_IO_CANCEL_ENTRY = 11;
int _HOOKID_AIO_IO_CANCEL_RETURN = 12;
int _HOOKID_SIGNAL_SEND_ENTRY = 1;
int _HOOKID_SIGNAL_SEND_RETURN = 2;
int _HOOKID_SIGNAL_SYSKILL_ENTRY = 3;
int _HOOKID_SIGNAL_SYSKILL_RETURN = 4;
int _HOOKID_SIGNAL_SYSTGKILL_ENTRY= 5;
int _HOOKID_SIGNAL_SYSTGKILL_RETURN = 6;
int _HOOKID_SIGNAL_SYSTKILL_ENTRY = 7;
int _HOOKID_SIGNAL_SYSTKILL_RETURN = 8;
int _HOOKID_SIGNAL_PENDING_ENTRY = 9;
int _HOOKID_SIGNAL_PENDING_RETURN = 10;
int _HOOKID_SIGNAL_DOACTION_ENTRY = 11;
int _HOOKID_SIGNAL_DOACTION_RETURN = 12;
int _HOOKID_SIGNAL_PROC_MASK_ENTRY = 13;
int _HOOKID_SIGNAL_PROC_MASK_RETURN = 14;
int _HOOKID_SIGNAL_FLUSH_ENTRY = 15;
int _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY = 1;
int _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN = 2;
int _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY = 3;
int _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN = 4;
int _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY = 5;
int _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN = 6;
int _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY = 7;
int _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN = 8;
int _HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY = 9;
int _HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN = 10;
int _HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY = 11;
int _HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN = 12;
int _HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY = 13;
int _HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN =
int _GROUP_IOSYSCALL = 9;
int _GROUP_AIO = 10;
int _GROUP_SIGNAL = 11;
int _GROUP_SUNRPC = 12;
int _GROUP_CPUFREQ = 15;
int _GROUP_NFS = 16;
int _GROUP_NFSD = 17;
/* hookIDs defined inside each group */
int _HOOKID_REGSYSEVT = 1;
int _HOOKID_REGUSREVT = 3;
int _HOOKID_REGEVTDESC = 5;
int _HOOKID_SYSCALL_ENTRY = 1;
int _HOOKID_SYSCALL_RETURN = 2;
int _HOOKID_PROCESS_SNAPSHOT = 1;
int _HOOKID_PROCESS_EXECVE = 3;
int _HOOKID_PROCESS_FORK = 5;
int _HOOKID_PROCESS_EXIT_ENTRY = 7;
int _HOOKID_IOSCHED_ADD_REQ = 1;
int _HOOKID_IOSCHED_NEXT_REQ_ENTRY = 3;
int _HOOKID_IOSCHED_NEXT_REQ_RETURN = 4;
int _HOOKID_IOSCHED_COMPLETE_REQ = 5;
int _HOOKID_TASK_CTXSWITCH = 1;
int _HOOKID_TASK_CPUIDLE = 3;
int _HOOKID_SCSI_IOENTRY = 1;
int _HOOKID_SCSI_IO_TO_LLD = 3;
int _HOOKID_SCSI_IODONE_BY_LLD = 5;
int _HOOKID_SCSI_IOCOMP_BY_MIDLEVEL = 7;
int _HOOKID_PAGEFAULT = 1;
int _HOOKID_NETDEV_RECEIVE = 1;
int _HOOKID_NETDEV_TRANSMIT = 3;
int _HOOKID_IOSYSCALL_OPEN_ENTRY = 1;
int _HOOKID_IOSYSCALL_OPEN_RETURN = 2;
int _HOOKID_IOSYSCALL_CLOSE_ENTRY = 3;
int _HOOKID_IOSYSCALL_CLOSE_RETURN = 4;
int _HOOKID_IOSYSCALL_READ_ENTRY = 5;
int _HOOKID_IOSYSCALL_READ_RETURN = 6;
int _HOOKID_IOSYSCALL_WRITE_ENTRY = 7;
int _HOOKID_IOSYSCALL_WRITE_RETURN = 8;
int _HOOKID_IOSYSCALL_READV_ENTRY = 9;
int _HOOKID_IOSYSCALL_READV_RETURN = 10;
int _HOOKID_IOSYSCALL_WRITEV_ENTRY = 11;
int _HOOKID_IOSYSCALL_WRITEV_RETURN = 12;
int _HOOKID_IOSYSCALL_PREAD64_ENTRY = 13;
int _HOOKID_IOSYSCALL_PREAD64_RETURN = 14;
int _HOOKID_IOSYSCALL_PWRITE64_ENTRY = 15;
int _HOOKID_IOSYSCALL_PWRITE64_RETURN = 16;
int _HOOKID_IOSYSCALL_READAHEAD_ENTRY = 17;
int _HOOKID_IOSYSCALL_READAHEAD_RETURN = 18;
int _HOOKID_IOSYSCALL_SENDFILE_ENTRY = 19;
int _HOOKID_IOSYSCALL_SENDFILE_RETURN = 20;
int _HOOKID_IOSYSCALL_LSEEK_ENTRY = 21;
int _HOOKID_IOSYSCALL_LSEEK_RETURN = 22;
int _HOOKID_IOSYSCALL_LLSEEK_ENTRY = 23;
int _HOOKID_IOSYSCALL_LLSEEK_RETURN = 24;
int _HOOKID_IOSYSCALL_SYNC_ENTRY = 25;
int _HOOKID_IOSYSCALL_SYNC_RETURN = 26;
int _HOOKID_IOSYSCALL_FSYNC_ENTRY = 27;
int _HOOKID_IOSYSCALL_FSYNC_RETURN = 28;
int _HOOKID_IOSYSCALL_FDATASYNC_ENTRY = 29;
int _HOOKID_IOSYSCALL_FDATASYNC_RETURN = 30;
int _HOOKID_IOSYSCALL_FLOCK_ENTRY = 31;
int _HOOKID_IOSYSCALL_FLOCK_RETURN = 32;
int _HOOKID_AIO_IO_SETUP_ENTRY = 1;
int _HOOKID_AIO_IO_SETUP_RETURN = 2;
int _HOOKID_AIO_IO_SUBMIT_ENTRY = 3;
int _HOOKID_AIO_IO_SUBMIT_RETURN = 4;
int _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY = 5;
int _HOOKID_AIO_IO_SUBMIT_ONE_RETURN = 6;
int _HOOKID_AIO_IO_GETEVENTS_ENTRY = 7;
int _HOOKID_AIO_IO_GETEVENTS_RETURN = 8;
int _HOOKID_AIO_IO_DESTROY_ENTRY = 9;
int _HOOKID_AIO_IO_DESTROY_RETURN = 10;
int _HOOKID_AIO_IO_CANCEL_ENTRY = 11;
int _HOOKID_AIO_IO_CANCEL_RETURN = 12;
int _HOOKID_SIGNAL_SEND_ENTRY = 1;
int _HOOKID_SIGNAL_SEND_RETURN = 2;
int _HOOKID_SIGNAL_SYSKILL_ENTRY = 3;
int _HOOKID_SIGNAL_SYSKILL_RETURN = 4;
int _HOOKID_SIGNAL_SYSTGKILL_ENTRY= 5;
int _HOOKID_SIGNAL_SYSTGKILL_RETURN = 6;
int _HOOKID_SIGNAL_SYSTKILL_ENTRY = 7;
int _HOOKID_SIGNAL_SYSTKILL_RETURN = 8;
int _HOOKID_SIGNAL_PENDING_ENTRY = 9;
int _HOOKID_SIGNAL_PENDING_RETURN = 10;
int _HOOKID_SIGNAL_DOACTION_ENTRY = 11;
int _HOOKID_SIGNAL_DOACTION_RETURN = 12;
int _HOOKID_SIGNAL_PROC_MASK_ENTRY = 13;
int _HOOKID_SIGNAL_PROC_MASK_RETURN = 14;
int _HOOKID_SIGNAL_FLUSH_ENTRY = 15;
int _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY = 1;
int _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN = 2;
int _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY = 3;
int _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN = 4;
int _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY = 5;
int _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN = 6;
int _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY = 7;
int _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN = 8;
int _HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY = 9;
int _HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN = 10;
int _HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY = 11;
int _HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN = 12;
int _HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY = 13;
14;
int _HOOKID_SUNRPC_SVC_REGISTER_ENTRY = 33;
int _HOOKID_SUNRPC_SVC_REGISTER_RETURN = 34;
int _HOOKID_SUNRPC_SVC_CREATE_ENTRY = 35;
int _HOOKID_SUNRPC_SVC_CREATE_RETURN = 36;
int _HOOKID_SUNRPC_SVC_DESTROY_ENTRY = 37;
int _HOOKID_SUNRPC_SVC_DESTROY_RETURN = 38;
int _HOOKID_SUNRPC_SVC_PROCESS_ENTRY = 39;
int _HOOKID_SUNRPC_SVC_PROCESS_RETURN = 40;
int _HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY = 41;
int _HOOKID_SUNRPC_SVC_AUTHORISE_RETURN = 42;
int _HOOKID_SUNRPC_SVC_RECV_ENTRY = 43;
int _HOOKID_SUNRPC_SVC_RECV_RETURN = 44;
int _HOOKID_SUNRPC_SVC_SEND_ENTRY = 45;
int _HOOKID_SUNRPC_SVC_SEND_RETURN = 46;
int _HOOKID_SUNRPC_SVC_DROP_ENTRY = 47;
int _HOOKID_SUNRPC_SVC_DROP_RETURN = 48;
int _HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY = 65;
int _HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN = 66;
int _HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY = 67;
int _HOOKID_SUNRPC_SCHED_EXECUTE_RETURN = 68;
int _HOOKID_SUNRPC_SCHED_DELAY_ENTRY = 69;
int _HOOKID_SUNRPC_SCHED_DELAY_RETURN = 70;
int _HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY = 71;
int _HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN = 72;
int _HOOKID_SWITCH_CPUFREQ = 1;
int _HOOKID_NFS_FOP_LLSEEK_ENTRY= 1;
int _HOOKID_NFS_FOP_LLSEEK_RETURN= 2;
int _HOOKID_NFS_FOP_READ_ENTRY= 3;
int _HOOKID_NFS_FOP_READ_RETURN= 4;
int _HOOKID_NFS_FOP_WRITE_ENTRY= 5;
int _HOOKID_NFS_FOP_WRITE_RETURN= 6;
int _HOOKID_NFS_FOP_AIOREAD_ENTRY= 7;
int _HOOKID_NFS_FOP_AIOREAD_RETURN= 8;
int _HOOKID_NFS_FOP_AIOWRITE_ENTRY= 9;
int _HOOKID_NFS_FOP_AIOWRITE_RETURN= 10;
int _HOOKID_NFS_FOP_MMAP_ENTRY= 11;
int _HOOKID_NFS_FOP_MMAP_RETURN= 12;
int _HOOKID_NFS_FOP_OPEN_ENTRY= 13;
int _HOOKID_NFS_FOP_OPEN_RETURN= 14;
int _HOOKID_NFS_FOP_FLUSH_ENTRY= 15;
int _HOOKID_NFS_FOP_FLUSH_RETURN= 16;
int _HOOKID_NFS_FOP_RELEASE_ENTRY= 17;
int _HOOKID_NFS_FOP_RELEASE_RETURN= 18;
int _HOOKID_NFS_FOP_FSYNC_ENTRY= 19;
int _HOOKID_NFS_FOP_FSYNC_RETURN= 20;
int _HOOKID_NFS_FOP_LOCK_ENTRY= 21;
int _HOOKID_NFS_FOP_LOCK_RETURN= 22;
int _HOOKID_NFS_FOP_SENDFILE_ENTRY= 23;
int _HOOKID_NFS_FOP_SENDFILE_RETURN= 24;
int _HOOKID_NFS_FOP_CHECKFLAGS_ENTRY= 25;
int _HOOKID_NFS_FOP_CHECKFLAGS_RETURN= 26;
int _HOOKID_NFS_AOP_READPAGE_ENTRY= 27;
int _HOOKID_NFS_AOP_READPAGE_RETURN= 28;
int _HOOKID_NFS_AOP_READPAGES_ENTRY= 29;
int _HOOKID_NFS_AOP_READPAGES_RETURN= 30;
int _HOOKID_NFS_AOP_WRITEPAGE_ENTRY= 31;
int _HOOKID_NFS_AOP_WRITEPAGE_RETURN= 32;
int _HOOKID_NFS_AOP_WRITEPAGES_ENTRY= 33;
int _HOOKID_NFS_AOP_WRITEPAGES_RETURN= 34;
int _HOOKID_NFS_AOP_RELEASEPAGE_ENTRY= 35;
int _HOOKID_NFS_AOP_RELEASEPAGE_RETURN= 36;
int _HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY= 37;
int _HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN= 38;
int _HOOKID_NFS_AOP_PREPAREWRITE_ENTRY= 39;
int _HOOKID_NFS_AOP_PREPAREWRITE_RETURN= 40;
int _HOOKID_NFS_AOP_COMMITWRITE_ENTRY= 41;
int _HOOKID_NFS_AOP_COMMITWRITE_RETURN= 42;
int _HOOKID_NFS_PROC_LOOKUP_ENTRY = 43;
int _HOOKID_NFS_PROC_LOOKUP_RETURN= 44;
int _HOOKID_NFS_PROC_READ_ENTRY= 45;
int _HOOKID_NFS_PROC_READ_RETURN= 46;
int _HOOKID_NFS_PROC_WRITE_ENTRY= 47;
int _HOOKID_NFS_PROC_WRITE_RETURN= 48;
int _HOOKID_NFS_PROC_COMMIT_ENTRY= 49;
int _HOOKID_NFS_PROC_COMMIT_RETURN= 50;
int _HOOKID_NFS_PROC_READSETUP_ENTRY= 51;
int _HOOKID_NFS_PROC_WRITESETUP_ENTRY= 53;
int _HOOKID_NFS_PROC_COMMITSETUP_ENTRY= 55;
int _HOOKID_NFS_PROC_READDONE_ENTRY= 57;
int _HOOKID_NFS_PROC_READDONE_RETURN= 58;
int _HOOKID_NFS_PROC_WRITEDONE_ENTRY= 59;
int _HOOKID_NFS_PROC_WRITEDONE_RETURN= 60;
int _HOOKID_NFS_PROC_COMMITDONE_ENTRY= 61;
int _HOOKID_NFS_PROC_COMMITDONE_RETURN= 62;
int _HOOKID_NFS_PROC_OPEN_ENTRY= 63;
int _HOOKID_NFS_PROC_OPEN_RETURN= 64;
int _HOOKID_NFS_PROC_RELEASE_ENTRY= 65;
int _HOOKID_NFS_PROC_RELEASE_RETURN= 66;
int _HOOKID_NFS_PROC_CREATE_ENTRY= 67;
int _HOOKID_NFS_PROC_CREATE_RETURN= 68;
int _HOOKID_NFS_PROC_RENAME_ENTRY= 69;
int _HOOKID_NFS_PROC_RENAME_RETURN= 70;
int _HOOKID_NFS_PROC_REMOVE_ENTRY= 71;
int _HOOKID_NFS_PROC_REMOVE_RETURN= 72;
int _HOOKID_NFSD_DISPATCH_ENTRY= 1;
int _HOOKID_NFSD_DISPATCH_RETURN= 2;
int _HOOKID_NFSD_OPEN_ENTRY= 3;
int _HOOKID_NFSD_OPE
int _HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN = 14;
int _HOOKID_SUNRPC_SVC_REGISTER_ENTRY = 33;
int _HOOKID_SUNRPC_SVC_REGISTER_RETURN = 34;
int _HOOKID_SUNRPC_SVC_CREATE_ENTRY = 35;
int _HOOKID_SUNRPC_SVC_CREATE_RETURN = 36;
int _HOOKID_SUNRPC_SVC_DESTROY_ENTRY = 37;
int _HOOKID_SUNRPC_SVC_DESTROY_RETURN = 38;
int _HOOKID_SUNRPC_SVC_PROCESS_ENTRY = 39;
int _HOOKID_SUNRPC_SVC_PROCESS_RETURN = 40;
int _HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY = 41;
int _HOOKID_SUNRPC_SVC_AUTHORISE_RETURN = 42;
int _HOOKID_SUNRPC_SVC_RECV_ENTRY = 43;
int _HOOKID_SUNRPC_SVC_RECV_RETURN = 44;
int _HOOKID_SUNRPC_SVC_SEND_ENTRY = 45;
int _HOOKID_SUNRPC_SVC_SEND_RETURN = 46;
int _HOOKID_SUNRPC_SVC_DROP_ENTRY = 47;
int _HOOKID_SUNRPC_SVC_DROP_RETURN = 48;
int _HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY = 65;
int _HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN = 66;
int _HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY = 67;
int _HOOKID_SUNRPC_SCHED_EXECUTE_RETURN = 68;
int _HOOKID_SUNRPC_SCHED_DELAY_ENTRY = 69;
int _HOOKID_SUNRPC_SCHED_DELAY_RETURN = 70;
int _HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY = 71;
int _HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN = 72;
int _HOOKID_SWITCH_CPUFREQ = 1;
int _HOOKID_NFS_FOP_LLSEEK_ENTRY= 1;
int _HOOKID_NFS_FOP_LLSEEK_RETURN= 2;
int _HOOKID_NFS_FOP_READ_ENTRY= 3;
int _HOOKID_NFS_FOP_READ_RETURN= 4;
int _HOOKID_NFS_FOP_WRITE_ENTRY= 5;
int _HOOKID_NFS_FOP_WRITE_RETURN= 6;
int _HOOKID_NFS_FOP_AIOREAD_ENTRY= 7;
int _HOOKID_NFS_FOP_AIOREAD_RETURN= 8;
int _HOOKID_NFS_FOP_AIOWRITE_ENTRY= 9;
int _HOOKID_NFS_FOP_AIOWRITE_RETURN= 10;
int _HOOKID_NFS_FOP_MMAP_ENTRY= 11;
int _HOOKID_NFS_FOP_MMAP_RETURN= 12;
int _HOOKID_NFS_FOP_OPEN_ENTRY= 13;
int _HOOKID_NFS_FOP_OPEN_RETURN= 14;
int _HOOKID_NFS_FOP_FLUSH_ENTRY= 15;
int _HOOKID_NFS_FOP_FLUSH_RETURN= 16;
int _HOOKID_NFS_FOP_RELEASE_ENTRY= 17;
int _HOOKID_NFS_FOP_RELEASE_RETURN= 18;
int _HOOKID_NFS_FOP_FSYNC_ENTRY= 19;
int _HOOKID_NFS_FOP_FSYNC_RETURN= 20;
int _HOOKID_NFS_FOP_LOCK_ENTRY= 21;
int _HOOKID_NFS_FOP_LOCK_RETURN= 22;
int _HOOKID_NFS_FOP_SENDFILE_ENTRY= 23;
int _HOOKID_NFS_FOP_SENDFILE_RETURN= 24;
int _HOOKID_NFS_FOP_CHECKFLAGS_ENTRY= 25;
int _HOOKID_NFS_FOP_CHECKFLAGS_RETURN= 26;
int _HOOKID_NFS_AOP_READPAGE_ENTRY= 27;
int _HOOKID_NFS_AOP_READPAGE_RETURN= 28;
int _HOOKID_NFS_AOP_READPAGES_ENTRY= 29;
int _HOOKID_NFS_AOP_READPAGES_RETURN= 30;
int _HOOKID_NFS_AOP_WRITEPAGE_ENTRY= 31;
int _HOOKID_NFS_AOP_WRITEPAGE_RETURN= 32;
int _HOOKID_NFS_AOP_WRITEPAGES_ENTRY= 33;
int _HOOKID_NFS_AOP_WRITEPAGES_RETURN= 34;
int _HOOKID_NFS_AOP_RELEASEPAGE_ENTRY= 35;
int _HOOKID_NFS_AOP_RELEASEPAGE_RETURN= 36;
int _HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY= 37;
int _HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN= 38;
int _HOOKID_NFS_AOP_PREPAREWRITE_ENTRY= 39;
int _HOOKID_NFS_AOP_PREPAREWRITE_RETURN= 40;
int _HOOKID_NFS_AOP_COMMITWRITE_ENTRY= 41;
int _HOOKID_NFS_AOP_COMMITWRITE_RETURN= 42;
int _HOOKID_NFS_PROC_LOOKUP_ENTRY = 43;
int _HOOKID_NFS_PROC_LOOKUP_RETURN= 44;
int _HOOKID_NFS_PROC_READ_ENTRY= 45;
int _HOOKID_NFS_PROC_READ_RETURN= 46;
int _HOOKID_NFS_PROC_WRITE_ENTRY= 47;
int _HOOKID_NFS_PROC_WRITE_RETURN= 48;
int _HOOKID_NFS_PROC_COMMIT_ENTRY= 49;
int _HOOKID_NFS_PROC_COMMIT_RETURN= 50;
int _HOOKID_NFS_PROC_READSETUP_ENTRY= 51;
int _HOOKID_NFS_PROC_WRITESETUP_ENTRY= 53;
int _HOOKID_NFS_PROC_COMMITSETUP_ENTRY= 55;
int _HOOKID_NFS_PROC_READDONE_ENTRY= 57;
int _HOOKID_NFS_PROC_READDONE_RETURN= 58;
int _HOOKID_NFS_PROC_WRITEDONE_ENTRY= 59;
int _HOOKID_NFS_PROC_WRITEDONE_RETURN= 60;
int _HOOKID_NFS_PROC_COMMITDONE_ENTRY= 61;
int _HOOKID_NFS_PROC_COMMITDONE_RETURN= 62;
int _HOOKID_NFS_PROC_OPEN_ENTRY= 63;
int _HOOKID_NFS_PROC_OPEN_RETURN= 64;
int _HOOKID_NFS_PROC_RELEASE_ENTRY= 65;
int _HOOKID_NFS_PROC_RELEASE_RETURN= 66;
int _HOOKID_NFS_PROC_CREATE_ENTRY= 67;
int _HOOKID_NFS_PROC_CREATE_RETURN= 68;
int _HOOKID_NFS_PROC_RENAME_ENTRY= 69;
int _HOOKID_NFS_PROC_RENAME_RETURN= 70;
int _HOOKID_NFS_PROC_REMOVE_ENTRY= 71;
int _HOOKID_NFS_PROC_REMOVE_RETURN= 72;
int _HOOKID_NFSD_DISPATCH_ENTRY= 1;
int _HOOKID_NFSD_DISPATCH_RETURN= 2;
int _HOOKID_NFSD_OPEN_ENTRY= 3;
N_RETURN= 4;
int _HOOKID_NFSD_READ_ENTRY= 5;
int _HOOKID_NFSD_READ_RETURN= 6;
int _HOOKID_NFSD_WRITE_ENTRY= 7;
int _HOOKID_NFSD_WRITE_RETURN= 8;
int _HOOKID_NFSD_LOOKUP_ENTRY= 9;
int _HOOKID_NFSD_LOOKUP_RETURN= 10;
int _HOOKID_NFSD_COMMIT_ENTRY= 11;
int _HOOKID_NFSD_COMMIT_RETURN= 12;
int _HOOKID_NFSD_CREATE_ENTRY= 13;
int _HOOKID_NFSD_CREATE_RETURN= 14;
int _HOOKID_NFSD_CREATEV3_ENTRY= 15;
int _HOOKID_NFSD_CREATEV3_RETURN= 16;
int _HOOKID_NFSD_UNLINK_ENTRY= 17;
int _HOOKID_NFSD_UNLINK_RETURN= 18;
int _HOOKID_NFSD_RENAME_ENTRY= 19;
int _HOOKID_NFSD_RENAME_RETURN= 20;
int _HOOKID_NFSD_CLOSE_ENTRY= 21;
int _HOOKID_NFSD_CLOSE_RETURN = 22;
int _HOOKID_NFSD_PROC_LOOKUP_ENTRY = 23;
int _HOOKID_NFSD_PROC_LOOKUP_RETURN= 24;
int _HOOKID_NFSD_PROC_READ_ENTRY= 25;
int _HOOKID_NFSD_PROC_READ_RETURN= 26;
int _HOOKID_NFSD_PROC_WRITE_ENTRY= 27;
int _HOOKID_NFSD_PROC_WRITE_RETURN= 28;
int _HOOKID_NFSD_PROC_COMMIT_ENTRY= 29;
int _HOOKID_NFSD_PROC_COMMIT_RETURN= 30;
int _HOOKID_NFSD_PROC_COMPOUND_ENTRY= 31;
int _HOOKID_NFSD_PROC_COMPOUND_RETURN= 32;
int _HOOKID_NFSD_PROC_REMOVE_ENTRY= 33;
int _HOOKID_NFSD_PROC_REMOVE_RETURN= 34;
int _HOOKID_NFSD_PROC_RENAME_ENTRY= 35;
int _HOOKID_NFSD_PROC_RENAME_RETURN= 36;
int _HOOKID_NFSD_PROC_CREATE_ENTRY= 37;
int _HOOKID_NFSD_PROC_CREATE_RETURN= 38;
%}global GROUP_REGEVT
global HOOKID_REGSYSEVT
global HOOKID_REGUSREVT
global HOOKID_REGEVTDESC
global GROUP_SYSCALL
global HOOKID_SYSCALL_ENTRY
global HOOKID_SYSCALL_RETURN
global GROUP_PROCESS
global HOOKID_PROCESS_SNAPSHOT
global HOOKID_PROCESS_FORK
global HOOKID_PROCESS_EXECVE
global HOOKID_PROCESS_EXIT_ENTRY
global stoptrace_exec
global stoptrace_fork
global GROUP_IOSCHED
global HOOKID_IOSCHED_ADD_REQ
global HOOKID_IOSCHED_NEXT_REQ_ENTRY
global HOOKID_IOSCHED_NEXT_REQ_RETURN
global HOOKID_IOSCHED_COMPLETE_REQ
global GROUP_TASK
global HOOKID_TASK_CTXSWITCH
global HOOKID_TASK_CPUIDLE
global GROUP_SCSI
global HOOKID_SCSI_IOENTRY
global HOOKID_SCSI_IO_TO_LLD
global HOOKID_SCSI_IODONE_BY_LLD
global HOOKID_SCSI_IOCOMP_BY_MIDLEVEL
global GROUP_PAGEFAULT
global HOOKID_PAGEFAULT
global GROUP_NETDEV
global HOOKID_NETDEV_RECEIVE
global HOOKID_NETDEV_TRANSMIT
global GROUP_IOSYSCALL
global HOOKID_IOSYSCALL_OPEN_ENTRY
global HOOKID_IOSYSCALL_OPEN_RETURN
global HOOKID_IOSYSCALL_CLOSE_ENTRY
global HOOKID_IOSYSCALL_CLOSE_RETURN
global HOOKID_IOSYSCALL_READ_ENTRY
global HOOKID_IOSYSCALL_READ_RETURN
global HOOKID_IOSYSCALL_WRITE_ENTRY
global HOOKID_IOSYSCALL_WRITE_RETURN
global HOOKID_IOSYSCALL_READV_ENTRY
global HOOKID_IOSYSCALL_READV_RETURN
global HOOKID_IOSYSCALL_WRITEV_ENTRY
global HOOKID_IOSYSCALL_WRITEV_RETURN
global HOOKID_IOSYSCALL_PREAD64_ENTRY
global HOOKID_IOSYSCALL_PREAD64_RETURN
global HOOKID_IOSYSCALL_PWRITE64_ENTRY
global HOOKID_IOSYSCALL_PWRITE64_RETURN
global HOOKID_IOSYSCALL_READAHEAD_ENTRY
global HOOKID_IOSYSCALL_READAHEAD_RETURN
global HOOKID_IOSYSCALL_SENDFILE_ENTRY
global HOOKID_IOSYSCALL_SENDFILE_RETURN
global HOOKID_IOSYSCALL_SENDFILE64_ENTRY
global HOOKID_IOSYSCALL_SENDFILE64_RETURN
global HOOKID_IOSYSCALL_LSEEK_ENTRY
global HOOKID_IOSYSCALL_LSEEK_RETURN
global HOOKID_IOSYSCALL_LLSEEK_ENTRY
global HOOKID_IOSYSCALL_LLSEEK_RETURN
global HOOKID_IOSYSCALL_SYNC_ENTRY
global HOOKID_IOSYSCALL_SYNC_RETURN
global HOOKID_IOSYSCALL_FSYNC_ENTRY
global HOOKID_IOSYSCALL_FSYNC_RETURN
global HOOKID_IOSYSCALL_FDATASYNC_ENTRY
global HOOKID_IOSYSCALL_FDATASYNC_RETURN
global HOOKID_IOSYSCALL_FLOCK_ENTRY
global HOOKID_IOSYSCALL_FLOCK_RETURN
global GROUP_AIO
global HOOKID_AIO_IO_SETUP_ENTRY
global HOOKID_AIO_IO_SETUP_RETURN
global HOOKID_AIO_IO_SUBMIT_ENTRY
global HOOKID_AIO_IO_SUBMIT_RETURN
global HOOKID_AIO_IO_SUBMIT_ONE_ENTRY
global HOOKID_AIO_IO_SUBMIT_ONE_RETURN
global HOOKID_AIO_IO_GETEVENTS_ENTRY
global HOOKID_AIO_IO_GETEVENTS_RETURN
global HOOKID_AIO_IO_DESTROY_ENTRY
global HOOKID_AIO_IO_DESTROY_RETURN
global HOOKID_AIO_IO_CANCEL_ENTRY
global HOOKID_AIO_IO_CANCEL_RETURN
global GROUP_SIGNAL
global HOOKID_SIGNAL_SEND_ENTRY
global HOOKID_SIGNAL_S
int _HOOKID_NFSD_OPEN_RETURN= 4;
int _HOOKID_NFSD_READ_ENTRY= 5;
int _HOOKID_NFSD_READ_RETURN= 6;
int _HOOKID_NFSD_WRITE_ENTRY= 7;
int _HOOKID_NFSD_WRITE_RETURN= 8;
int _HOOKID_NFSD_LOOKUP_ENTRY= 9;
int _HOOKID_NFSD_LOOKUP_RETURN= 10;
int _HOOKID_NFSD_COMMIT_ENTRY= 11;
int _HOOKID_NFSD_COMMIT_RETURN= 12;
int _HOOKID_NFSD_CREATE_ENTRY= 13;
int _HOOKID_NFSD_CREATE_RETURN= 14;
int _HOOKID_NFSD_CREATEV3_ENTRY= 15;
int _HOOKID_NFSD_CREATEV3_RETURN= 16;
int _HOOKID_NFSD_UNLINK_ENTRY= 17;
int _HOOKID_NFSD_UNLINK_RETURN= 18;
int _HOOKID_NFSD_RENAME_ENTRY= 19;
int _HOOKID_NFSD_RENAME_RETURN= 20;
int _HOOKID_NFSD_CLOSE_ENTRY= 21;
int _HOOKID_NFSD_CLOSE_RETURN = 22;
int _HOOKID_NFSD_PROC_LOOKUP_ENTRY = 23;
int _HOOKID_NFSD_PROC_LOOKUP_RETURN= 24;
int _HOOKID_NFSD_PROC_READ_ENTRY= 25;
int _HOOKID_NFSD_PROC_READ_RETURN= 26;
int _HOOKID_NFSD_PROC_WRITE_ENTRY= 27;
int _HOOKID_NFSD_PROC_WRITE_RETURN= 28;
int _HOOKID_NFSD_PROC_COMMIT_ENTRY= 29;
int _HOOKID_NFSD_PROC_COMMIT_RETURN= 30;
int _HOOKID_NFSD_PROC_COMPOUND_ENTRY= 31;
int _HOOKID_NFSD_PROC_COMPOUND_RETURN= 32;
int _HOOKID_NFSD_PROC_REMOVE_ENTRY= 33;
int _HOOKID_NFSD_PROC_REMOVE_RETURN= 34;
int _HOOKID_NFSD_PROC_RENAME_ENTRY= 35;
int _HOOKID_NFSD_PROC_RENAME_RETURN= 36;
int _HOOKID_NFSD_PROC_CREATE_ENTRY= 37;
int _HOOKID_NFSD_PROC_CREATE_RETURN= 38;
%}global GROUP_REGEVT
global HOOKID_REGSYSEVT
global HOOKID_REGUSREVT
global HOOKID_REGEVTDESC
global GROUP_SYSCALL
global HOOKID_SYSCALL_ENTRY
global HOOKID_SYSCALL_RETURN
global GROUP_PROCESS
global HOOKID_PROCESS_SNAPSHOT
global HOOKID_PROCESS_FORK
global HOOKID_PROCESS_EXECVE
global HOOKID_PROCESS_EXIT_ENTRY
global stoptrace_exec
global stoptrace_fork
global GROUP_IOSCHED
global HOOKID_IOSCHED_ADD_REQ
global HOOKID_IOSCHED_NEXT_REQ_ENTRY
global HOOKID_IOSCHED_NEXT_REQ_RETURN
global HOOKID_IOSCHED_COMPLETE_REQ
global GROUP_TASK
global HOOKID_TASK_CTXSWITCH
global HOOKID_TASK_CPUIDLE
global GROUP_SCSI
global HOOKID_SCSI_IOENTRY
global HOOKID_SCSI_IO_TO_LLD
global HOOKID_SCSI_IODONE_BY_LLD
global HOOKID_SCSI_IOCOMP_BY_MIDLEVEL
global GROUP_PAGEFAULT
global HOOKID_PAGEFAULT
global GROUP_NETDEV
global HOOKID_NETDEV_RECEIVE
global HOOKID_NETDEV_TRANSMIT
global GROUP_IOSYSCALL
global HOOKID_IOSYSCALL_OPEN_ENTRY
global HOOKID_IOSYSCALL_OPEN_RETURN
global HOOKID_IOSYSCALL_CLOSE_ENTRY
global HOOKID_IOSYSCALL_CLOSE_RETURN
global HOOKID_IOSYSCALL_READ_ENTRY
global HOOKID_IOSYSCALL_READ_RETURN
global HOOKID_IOSYSCALL_WRITE_ENTRY
global HOOKID_IOSYSCALL_WRITE_RETURN
global HOOKID_IOSYSCALL_READV_ENTRY
global HOOKID_IOSYSCALL_READV_RETURN
global HOOKID_IOSYSCALL_WRITEV_ENTRY
global HOOKID_IOSYSCALL_WRITEV_RETURN
global HOOKID_IOSYSCALL_PREAD64_ENTRY
global HOOKID_IOSYSCALL_PREAD64_RETURN
global HOOKID_IOSYSCALL_PWRITE64_ENTRY
global HOOKID_IOSYSCALL_PWRITE64_RETURN
global HOOKID_IOSYSCALL_READAHEAD_ENTRY
global HOOKID_IOSYSCALL_READAHEAD_RETURN
global HOOKID_IOSYSCALL_SENDFILE_ENTRY
global HOOKID_IOSYSCALL_SENDFILE_RETURN
global HOOKID_IOSYSCALL_SENDFILE64_ENTRY
global HOOKID_IOSYSCALL_SENDFILE64_RETURN
global HOOKID_IOSYSCALL_LSEEK_ENTRY
global HOOKID_IOSYSCALL_LSEEK_RETURN
global HOOKID_IOSYSCALL_LLSEEK_ENTRY
global HOOKID_IOSYSCALL_LLSEEK_RETURN
global HOOKID_IOSYSCALL_SYNC_ENTRY
global HOOKID_IOSYSCALL_SYNC_RETURN
global HOOKID_IOSYSCALL_FSYNC_ENTRY
global HOOKID_IOSYSCALL_FSYNC_RETURN
global HOOKID_IOSYSCALL_FDATASYNC_ENTRY
global HOOKID_IOSYSCALL_FDATASYNC_RETURN
global HOOKID_IOSYSCALL_FLOCK_ENTRY
global HOOKID_IOSYSCALL_FLOCK_RETURN
global GROUP_AIO
global HOOKID_AIO_IO_SETUP_ENTRY
global HOOKID_AIO_IO_SETUP_RETURN
global HOOKID_AIO_IO_SUBMIT_ENTRY
global HOOKID_AIO_IO_SUBMIT_RETURN
global HOOKID_AIO_IO_SUBMIT_ONE_ENTRY
global HOOKID_AIO_IO_SUBMIT_ONE_RETURN
global HOOKID_AIO_IO_GETEVENTS_ENTRY
global HOOKID_AIO_IO_GETEVENTS_RETURN
global HOOKID_AIO_IO_DESTROY_ENTRY
global HOOKID_AIO_IO_DESTROY_RETURN
global HOOKID_AIO_IO_CANCEL_ENTRY
global HOOKID_AIO_IO_CANCEL_RETURN
global GROUP_SIGNAL
global HOOKID_SIGNAL_SEND_ENTRY
END_RETURN
global HOOKID_SIGNAL_SYSKILL_ENTRY
global HOOKID_SIGNAL_SYSKILL_RETURN
global HOOKID_SIGNAL_SYSTGKILL_ENTRY
global HOOKID_SIGNAL_SYSTGKILL_RETURN
global HOOKID_SIGNAL_SYSTKILL_ENTRY
global HOOKID_SIGNAL_SYSTKILL_RETURN
global HOOKID_SIGNAL_PENDING_ENTRY
global HOOKID_SIGNAL_PENDING_RETURN
global HOOKID_SIGNAL_DOACTION_ENTRY
global HOOKID_SIGNAL_DOACTION_RETURN
global HOOKID_SIGNAL_PROC_MASK_ENTRY
global HOOKID_SIGNAL_PROC_MASK_RETURN
global HOOKID_SIGNAL_FLUSH_ENTRY
global GROUP_SUNRPC
global HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY
global HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN
global HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY
global HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN
global HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY
global HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN
global HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY
global HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN
global HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY
global HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN
global HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY
global HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN
global HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY
global HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN
global HOOKID_SUNRPC_SVC_REGISTER_ENTRY
global HOOKID_SUNRPC_SVC_REGISTER_RETURN
global HOOKID_SUNRPC_SVC_CREATE_ENTRY
global HOOKID_SUNRPC_SVC_CREATE_RETURN
global HOOKID_SUNRPC_SVC_DESTROY_ENTRY
global HOOKID_SUNRPC_SVC_DESTROY_RETURN
global HOOKID_SUNRPC_SVC_PROCESS_ENTRY
global HOOKID_SUNRPC_SVC_PROCESS_RETURN
global HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY
global HOOKID_SUNRPC_SVC_AUTHORISE_RETURN
global HOOKID_SUNRPC_SVC_RECV_ENTRY
global HOOKID_SUNRPC_SVC_RECV_RETURN
global HOOKID_SUNRPC_SVC_SEND_ENTRY
global HOOKID_SUNRPC_SVC_SEND_RETURN
global HOOKID_SUNRPC_SVC_DROP_ENTRY
global HOOKID_SUNRPC_SVC_DROP_RETURN
global HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY
global HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN
global HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY
global HOOKID_SUNRPC_SCHED_EXECUTE_RETURN
global HOOKID_SUNRPC_SCHED_DELAY_ENTRY
global HOOKID_SUNRPC_SCHED_DELAY_RETURN
global HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY
global HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN
global GROUP_CPUFREQ
global HOOKID_SWITCH_CPUFREQ
global GROUP_NFS
global HOOKID_NFS_FOP_LLSEEK_ENTRY
global HOOKID_NFS_FOP_LLSEEK_RETURN
global HOOKID_NFS_FOP_READ_ENTRY
global HOOKID_NFS_FOP_READ_RETURN
global HOOKID_NFS_FOP_WRITE_ENTRY
global HOOKID_NFS_FOP_WRITE_RETURN
global HOOKID_NFS_FOP_AIOREAD_ENTRY
global HOOKID_NFS_FOP_AIOREAD_RETURN
global HOOKID_NFS_FOP_AIOWRITE_ENTRY
global HOOKID_NFS_FOP_AIOWRITE_RETURN
global HOOKID_NFS_FOP_MMAP_ENTRY
global HOOKID_NFS_FOP_MMAP_RETURN
global HOOKID_NFS_FOP_OPEN_ENTRY
global HOOKID_NFS_FOP_OPEN_RETURN
global HOOKID_NFS_FOP_FLUSH_ENTRY
global HOOKID_NFS_FOP_FLUSH_RETURN
global HOOKID_NFS_FOP_RELEASE_ENTRY
global HOOKID_NFS_FOP_RELEASE_RETURN
global HOOKID_NFS_FOP_FSYNC_ENTRY
global HOOKID_NFS_FOP_FSYNC_RETURN
global HOOKID_NFS_FOP_LOCK_ENTRY
global HOOKID_NFS_FOP_LOCK_RETURN
global HOOKID_NFS_FOP_SENDFILE_ENTRY
global HOOKID_NFS_FOP_SENDFILE_RETURN
global HOOKID_NFS_FOP_CHECKFLAGS_ENTRY
global HOOKID_NFS_FOP_CHECKFLAGS_RETURN
global HOOKID_NFS_AOP_READPAGE_ENTRY
global HOOKID_NFS_AOP_READPAGE_RETURN
global HOOKID_NFS_AOP_READPAGES_ENTRY
global HOOKID_NFS_AOP_READPAGES_RETURN
global HOOKID_NFS_AOP_WRITEPAGES_ENTRY
global HOOKID_NFS_AOP_WRITEPAGES_RETURN
global HOOKID_NFS_AOP_WRITEPAGE_ENTRY
global HOOKID_NFS_AOP_WRITEPAGE_RETURN
global HOOKID_NFS_AOP_RELEASEPAGE_ENTRY
global HOOKID_NFS_AOP_RELEASEPAGE_RETURN
global HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY
global HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN
global HOOKID_NFS_AOP_PREPAREWRITE_ENTRY
global HOOKID_NFS_AOP_PREPAREWRITE_RETURN
global HOOKID_NFS_AOP_COMMITWRITE_ENTRY
global HOOKID_NFS_AOP_COMMITWRITE_RETURN
global HOOKID_NFS_PROC_LOOKUP_ENTRY
global HOOKID_NFS_PROC_LOOKUP_RETURN
global HOOKID_NFS_PROC_READ_ENTRY
global HOOKID_NFS_PROC_READ_RETURN
global HOOKID_NFS_PROC_WRITE_ENTRY
global HOOKID_NFS_PROC_WRITE_RETURN
global HOOKID_NFS_PROC_COMMIT_ENTRY
global HOOKID_
global HOOKID_SIGNAL_SEND_RETURN
global HOOKID_SIGNAL_SYSKILL_ENTRY
global HOOKID_SIGNAL_SYSKILL_RETURN
global HOOKID_SIGNAL_SYSTGKILL_ENTRY
global HOOKID_SIGNAL_SYSTGKILL_RETURN
global HOOKID_SIGNAL_SYSTKILL_ENTRY
global HOOKID_SIGNAL_SYSTKILL_RETURN
global HOOKID_SIGNAL_PENDING_ENTRY
global HOOKID_SIGNAL_PENDING_RETURN
global HOOKID_SIGNAL_DOACTION_ENTRY
global HOOKID_SIGNAL_DOACTION_RETURN
global HOOKID_SIGNAL_PROC_MASK_ENTRY
global HOOKID_SIGNAL_PROC_MASK_RETURN
global HOOKID_SIGNAL_FLUSH_ENTRY
global GROUP_SUNRPC
global HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY
global HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN
global HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY
global HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN
global HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY
global HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN
global HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY
global HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN
global HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY
global HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN
global HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY
global HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN
global HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY
global HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN
global HOOKID_SUNRPC_SVC_REGISTER_ENTRY
global HOOKID_SUNRPC_SVC_REGISTER_RETURN
global HOOKID_SUNRPC_SVC_CREATE_ENTRY
global HOOKID_SUNRPC_SVC_CREATE_RETURN
global HOOKID_SUNRPC_SVC_DESTROY_ENTRY
global HOOKID_SUNRPC_SVC_DESTROY_RETURN
global HOOKID_SUNRPC_SVC_PROCESS_ENTRY
global HOOKID_SUNRPC_SVC_PROCESS_RETURN
global HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY
global HOOKID_SUNRPC_SVC_AUTHORISE_RETURN
global HOOKID_SUNRPC_SVC_RECV_ENTRY
global HOOKID_SUNRPC_SVC_RECV_RETURN
global HOOKID_SUNRPC_SVC_SEND_ENTRY
global HOOKID_SUNRPC_SVC_SEND_RETURN
global HOOKID_SUNRPC_SVC_DROP_ENTRY
global HOOKID_SUNRPC_SVC_DROP_RETURN
global HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY
global HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN
global HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY
global HOOKID_SUNRPC_SCHED_EXECUTE_RETURN
global HOOKID_SUNRPC_SCHED_DELAY_ENTRY
global HOOKID_SUNRPC_SCHED_DELAY_RETURN
global HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY
global HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN
global GROUP_CPUFREQ
global HOOKID_SWITCH_CPUFREQ
global GROUP_NFS
global HOOKID_NFS_FOP_LLSEEK_ENTRY
global HOOKID_NFS_FOP_LLSEEK_RETURN
global HOOKID_NFS_FOP_READ_ENTRY
global HOOKID_NFS_FOP_READ_RETURN
global HOOKID_NFS_FOP_WRITE_ENTRY
global HOOKID_NFS_FOP_WRITE_RETURN
global HOOKID_NFS_FOP_AIOREAD_ENTRY
global HOOKID_NFS_FOP_AIOREAD_RETURN
global HOOKID_NFS_FOP_AIOWRITE_ENTRY
global HOOKID_NFS_FOP_AIOWRITE_RETURN
global HOOKID_NFS_FOP_MMAP_ENTRY
global HOOKID_NFS_FOP_MMAP_RETURN
global HOOKID_NFS_FOP_OPEN_ENTRY
global HOOKID_NFS_FOP_OPEN_RETURN
global HOOKID_NFS_FOP_FLUSH_ENTRY
global HOOKID_NFS_FOP_FLUSH_RETURN
global HOOKID_NFS_FOP_RELEASE_ENTRY
global HOOKID_NFS_FOP_RELEASE_RETURN
global HOOKID_NFS_FOP_FSYNC_ENTRY
global HOOKID_NFS_FOP_FSYNC_RETURN
global HOOKID_NFS_FOP_LOCK_ENTRY
global HOOKID_NFS_FOP_LOCK_RETURN
global HOOKID_NFS_FOP_SENDFILE_ENTRY
global HOOKID_NFS_FOP_SENDFILE_RETURN
global HOOKID_NFS_FOP_CHECKFLAGS_ENTRY
global HOOKID_NFS_FOP_CHECKFLAGS_RETURN
global HOOKID_NFS_AOP_READPAGE_ENTRY
global HOOKID_NFS_AOP_READPAGE_RETURN
global HOOKID_NFS_AOP_READPAGES_ENTRY
global HOOKID_NFS_AOP_READPAGES_RETURN
global HOOKID_NFS_AOP_WRITEPAGES_ENTRY
global HOOKID_NFS_AOP_WRITEPAGES_RETURN
global HOOKID_NFS_AOP_WRITEPAGE_ENTRY
global HOOKID_NFS_AOP_WRITEPAGE_RETURN
global HOOKID_NFS_AOP_RELEASEPAGE_ENTRY
global HOOKID_NFS_AOP_RELEASEPAGE_RETURN
global HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY
global HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN
global HOOKID_NFS_AOP_PREPAREWRITE_ENTRY
global HOOKID_NFS_AOP_PREPAREWRITE_RETURN
global HOOKID_NFS_AOP_COMMITWRITE_ENTRY
global HOOKID_NFS_AOP_COMMITWRITE_RETURN
global HOOKID_NFS_PROC_LOOKUP_ENTRY
global HOOKID_NFS_PROC_LOOKUP_RETURN
global HOOKID_NFS_PROC_READ_ENTRY
global HOOKID_NFS_PROC_READ_RETURN
global HOOKID_NFS_PROC_WRITE_ENTRY
global HOOKID_NFS_PROC_WRITE_RETURN
global HOOKID_NFS_PROC_COMMIT_ENTRY
NFS_PROC_COMMIT_RETURN
global HOOKID_NFS_PROC_READSETUP_ENTRY
global HOOKID_NFS_PROC_WRITESETUP_ENTRY
global HOOKID_NFS_PROC_COMMITSETUP_ENTRY
global HOOKID_NFS_PROC_READDONE_ENTRY
global HOOKID_NFS_PROC_READDONE_RETURN
global HOOKID_NFS_PROC_WRITEDONE_ENTRY
global HOOKID_NFS_PROC_WRITEDONE_RETURN
global HOOKID_NFS_PROC_COMMITDONE_ENTRY
global HOOKID_NFS_PROC_COMMITDONE_RETURN
global HOOKID_NFS_PROC_OPEN_ENTRY
global HOOKID_NFS_PROC_OPEN_RETURN
global HOOKID_NFS_PROC_RELEASE_ENTRY
global HOOKID_NFS_PROC_RELEASE_RETURN
global HOOKID_NFS_PROC_CREATE_ENTRY
global HOOKID_NFS_PROC_CREATE_RETURN
global HOOKID_NFS_PROC_RENAME_ENTRY
global HOOKID_NFS_PROC_RENAME_RETURN
global HOOKID_NFS_PROC_REMOVE_ENTRY
global HOOKID_NFS_PROC_REMOVE_RETURN
global GROUP_NFSD
global HOOKID_NFSD_DISPATCH_ENTRY
global HOOKID_NFSD_DISPATCH_RETURN
global HOOKID_NFSD_OPEN_ENTRY
global HOOKID_NFSD_OPEN_RETURN
global HOOKID_NFSD_READ_ENTRY
global HOOKID_NFSD_READ_RETURN
global HOOKID_NFSD_WRITE_ENTRY
global HOOKID_NFSD_WRITE_RETURN
global HOOKID_NFSD_LOOKUP_ENTRY
global HOOKID_NFSD_LOOKUP_RETURN
global HOOKID_NFSD_COMMIT_ENTRY
global HOOKID_NFSD_COMMIT_RETURN
global HOOKID_NFSD_CREATE_ENTRY
global HOOKID_NFSD_CREATE_RETURN
global HOOKID_NFSD_CREATEV3_ENTRY
global HOOKID_NFSD_CREATEV3_RETURN
global HOOKID_NFSD_UNLINK_ENTRY
global HOOKID_NFSD_UNLINK_RETURN
global HOOKID_NFSD_RENAME_ENTRY
global HOOKID_NFSD_RENAME_RETURN
global HOOKID_NFSD_CLOSE_ENTRY
global HOOKID_NFSD_CLOSE_RETURN
global HOOKID_NFSD_PROC_LOOKUP_ENTRY
global HOOKID_NFSD_PROC_LOOKUP_RETURN
global HOOKID_NFSD_PROC_READ_ENTRY
global HOOKID_NFSD_PROC_READ_RETURN
global HOOKID_NFSD_PROC_WRITE_ENTRY
global HOOKID_NFSD_PROC_WRITE_RETURN
global HOOKID_NFSD_PROC_COMMIT_ENTRY
global HOOKID_NFSD_PROC_COMMIT_RETURN
global HOOKID_NFSD_PROC_COMPOUND_ENTRY
global HOOKID_NFSD_PROC_COMPOUND_RETURN
global HOOKID_NFSD_PROC_REMOVE_ENTRY
global HOOKID_NFSD_PROC_REMOVE_RETURN
global HOOKID_NFSD_PROC_RENAME_ENTRY
global HOOKID_NFSD_PROC_RENAME_RETURN
global HOOKID_NFSD_PROC_CREATE_ENTRY
global HOOKID_NFSD_PROC_CREATE_RETURN
probe begin{
hookid_init()
lket_trace_init()
lket_init_time()
register_sys_events()
write_events_desc()
process_snapshot()
}
probe end{
lket_kill_time()
}
function hookid_init ()
{
(GROUP_REGEVT) = (1)
;
(GROUP_SYSCALL) = (2)
;
(GROUP_PROCESS) = (3)
;
(GROUP_IOSCHED) = (4)
;
(GROUP_TASK) = (5)
;
(GROUP_SCSI) = (6)
;
(GROUP_PAGEFAULT) = (7)
;
(GROUP_NETDEV) = (8)
;
(GROUP_IOSYSCALL) = (9)
;
(GROUP_AIO) = (10)
;
(GROUP_SIGNAL) = (11)
;
(GROUP_SUNRPC) = (12)
;
(GROUP_CPUFREQ) = (15)
;
(GROUP_NFS) = (16)
;
(GROUP_NFSD) = (17)
;
(HOOKID_REGSYSEVT) = (1)
;
(HOOKID_REGUSREVT) = (3)
;
(HOOKID_REGEVTDESC) = (5)
;
(HOOKID_SYSCALL_ENTRY) = (1)
;
(HOOKID_SYSCALL_RETURN) = (2)
;
(HOOKID_PROCESS_SNAPSHOT) = (1)
;
(HOOKID_PROCESS_EXECVE) = (3)
;
(HOOKID_PROCESS_FORK) = (5)
;
(HOOKID_PROCESS_EXIT_ENTRY) = (7)
;
(HOOKID_IOSCHED_ADD_REQ) = (1)
;
(HOOKID_IOSCHED_NEXT_REQ_ENTRY) = (3)
;
(HOOKID_IOSCHED_NEXT_REQ_RETURN) = (4)
;
(HOOKID_IOSCHED_COMPLETE_REQ) = (5)
;
(HOOKID_TASK_CTXSWITCH) = (1)
;
(HOOKID_TASK_CPUIDLE) = (3)
;
(HOOKID_SCSI_IOENTRY) = (1)
;
(HOOKID_SCSI_IO_TO_LLD) = (3)
;
(HOOKID_SCSI_IODONE_BY_LLD) = (5)
;
(HOOKID_SCSI_IOCOMP_BY_MIDLEVEL) = (7)
;
(HOOKID_PAGEFAULT) = (1)
;
(HOOKID_NETDEV_RECEIVE) = (1)
;
(HOOKID_NETDEV_TRANSMIT) = (3)
;
(HOOKID_IOSYSCALL_OPEN_ENTRY) = (1)
;
(HOOKID_IOSYSCALL_OPEN_RETURN) = (2)
;
(HOOKID_IOSYSCALL_CLOSE_ENTRY) = (3)
;
(HOOKID_IOSYSCALL_CLOSE_RETURN) = (4)
;
(HOOKID_IOSYSCALL_READ_ENTRY) = (5)
;
(HOOKID_IOSYSCALL_READ_RETURN) = (6)
;
(HOOKID_IOSYSCALL_WRITE_ENTRY) = (7)
;
(HOOKID_IOSYSCALL_WRITE_RETURN) = (8)
;
(HOOKID_IOSYSCALL_READV_ENTRY) = (9)
;
(HOOKID_IOSYSCALL_READV_RETURN) = (10)
;
(HOOKID_IOSYSCALL_WRITEV_ENTRY) = (11)
;
(HOOKID_IOSYSCALL_WRITEV_RETURN) = (12)
;
(HOOKID_IOSYSCALL_PREAD64_ENTRY) = (13)
;
(HOOKID_IOSYSCALL_PREAD64_RETURN) = (14)
;
(HOOKID_IOSYSCALL_PWRITE64_ENTRY) = (15
global HOOKID_NFS_PROC_COMMIT_RETURN
global HOOKID_NFS_PROC_READSETUP_ENTRY
global HOOKID_NFS_PROC_WRITESETUP_ENTRY
global HOOKID_NFS_PROC_COMMITSETUP_ENTRY
global HOOKID_NFS_PROC_READDONE_ENTRY
global HOOKID_NFS_PROC_READDONE_RETURN
global HOOKID_NFS_PROC_WRITEDONE_ENTRY
global HOOKID_NFS_PROC_WRITEDONE_RETURN
global HOOKID_NFS_PROC_COMMITDONE_ENTRY
global HOOKID_NFS_PROC_COMMITDONE_RETURN
global HOOKID_NFS_PROC_OPEN_ENTRY
global HOOKID_NFS_PROC_OPEN_RETURN
global HOOKID_NFS_PROC_RELEASE_ENTRY
global HOOKID_NFS_PROC_RELEASE_RETURN
global HOOKID_NFS_PROC_CREATE_ENTRY
global HOOKID_NFS_PROC_CREATE_RETURN
global HOOKID_NFS_PROC_RENAME_ENTRY
global HOOKID_NFS_PROC_RENAME_RETURN
global HOOKID_NFS_PROC_REMOVE_ENTRY
global HOOKID_NFS_PROC_REMOVE_RETURN
global GROUP_NFSD
global HOOKID_NFSD_DISPATCH_ENTRY
global HOOKID_NFSD_DISPATCH_RETURN
global HOOKID_NFSD_OPEN_ENTRY
global HOOKID_NFSD_OPEN_RETURN
global HOOKID_NFSD_READ_ENTRY
global HOOKID_NFSD_READ_RETURN
global HOOKID_NFSD_WRITE_ENTRY
global HOOKID_NFSD_WRITE_RETURN
global HOOKID_NFSD_LOOKUP_ENTRY
global HOOKID_NFSD_LOOKUP_RETURN
global HOOKID_NFSD_COMMIT_ENTRY
global HOOKID_NFSD_COMMIT_RETURN
global HOOKID_NFSD_CREATE_ENTRY
global HOOKID_NFSD_CREATE_RETURN
global HOOKID_NFSD_CREATEV3_ENTRY
global HOOKID_NFSD_CREATEV3_RETURN
global HOOKID_NFSD_UNLINK_ENTRY
global HOOKID_NFSD_UNLINK_RETURN
global HOOKID_NFSD_RENAME_ENTRY
global HOOKID_NFSD_RENAME_RETURN
global HOOKID_NFSD_CLOSE_ENTRY
global HOOKID_NFSD_CLOSE_RETURN
global HOOKID_NFSD_PROC_LOOKUP_ENTRY
global HOOKID_NFSD_PROC_LOOKUP_RETURN
global HOOKID_NFSD_PROC_READ_ENTRY
global HOOKID_NFSD_PROC_READ_RETURN
global HOOKID_NFSD_PROC_WRITE_ENTRY
global HOOKID_NFSD_PROC_WRITE_RETURN
global HOOKID_NFSD_PROC_COMMIT_ENTRY
global HOOKID_NFSD_PROC_COMMIT_RETURN
global HOOKID_NFSD_PROC_COMPOUND_ENTRY
global HOOKID_NFSD_PROC_COMPOUND_RETURN
global HOOKID_NFSD_PROC_REMOVE_ENTRY
global HOOKID_NFSD_PROC_REMOVE_RETURN
global HOOKID_NFSD_PROC_RENAME_ENTRY
global HOOKID_NFSD_PROC_RENAME_RETURN
global HOOKID_NFSD_PROC_CREATE_ENTRY
global HOOKID_NFSD_PROC_CREATE_RETURN
probe begin{
hookid_init()
lket_trace_init()
lket_init_time()
register_sys_events()
write_events_desc()
process_snapshot()
}
probe end{
lket_kill_time()
}
function hookid_init ()
{
(GROUP_REGEVT) = (1)
;
(GROUP_SYSCALL) = (2)
;
(GROUP_PROCESS) = (3)
;
(GROUP_IOSCHED) = (4)
;
(GROUP_TASK) = (5)
;
(GROUP_SCSI) = (6)
;
(GROUP_PAGEFAULT) = (7)
;
(GROUP_NETDEV) = (8)
;
(GROUP_IOSYSCALL) = (9)
;
(GROUP_AIO) = (10)
;
(GROUP_SIGNAL) = (11)
;
(GROUP_SUNRPC) = (12)
;
(GROUP_CPUFREQ) = (15)
;
(GROUP_NFS) = (16)
;
(GROUP_NFSD) = (17)
;
(HOOKID_REGSYSEVT) = (1)
;
(HOOKID_REGUSREVT) = (3)
;
(HOOKID_REGEVTDESC) = (5)
;
(HOOKID_SYSCALL_ENTRY) = (1)
;
(HOOKID_SYSCALL_RETURN) = (2)
;
(HOOKID_PROCESS_SNAPSHOT) = (1)
;
(HOOKID_PROCESS_EXECVE) = (3)
;
(HOOKID_PROCESS_FORK) = (5)
;
(HOOKID_PROCESS_EXIT_ENTRY) = (7)
;
(HOOKID_IOSCHED_ADD_REQ) = (1)
;
(HOOKID_IOSCHED_NEXT_REQ_ENTRY) = (3)
;
(HOOKID_IOSCHED_NEXT_REQ_RETURN) = (4)
;
(HOOKID_IOSCHED_COMPLETE_REQ) = (5)
;
(HOOKID_TASK_CTXSWITCH) = (1)
;
(HOOKID_TASK_CPUIDLE) = (3)
;
(HOOKID_SCSI_IOENTRY) = (1)
;
(HOOKID_SCSI_IO_TO_LLD) = (3)
;
(HOOKID_SCSI_IODONE_BY_LLD) = (5)
;
(HOOKID_SCSI_IOCOMP_BY_MIDLEVEL) = (7)
;
(HOOKID_PAGEFAULT) = (1)
;
(HOOKID_NETDEV_RECEIVE) = (1)
;
(HOOKID_NETDEV_TRANSMIT) = (3)
;
(HOOKID_IOSYSCALL_OPEN_ENTRY) = (1)
;
(HOOKID_IOSYSCALL_OPEN_RETURN) = (2)
;
(HOOKID_IOSYSCALL_CLOSE_ENTRY) = (3)
;
(HOOKID_IOSYSCALL_CLOSE_RETURN) = (4)
;
(HOOKID_IOSYSCALL_READ_ENTRY) = (5)
;
(HOOKID_IOSYSCALL_READ_RETURN) = (6)
;
(HOOKID_IOSYSCALL_WRITE_ENTRY) = (7)
;
(HOOKID_IOSYSCALL_WRITE_RETURN) = (8)
;
(HOOKID_IOSYSCALL_READV_ENTRY) = (9)
;
(HOOKID_IOSYSCALL_READV_RETURN) = (10)
;
(HOOKID_IOSYSCALL_WRITEV_ENTRY) = (11)
;
(HOOKID_IOSYSCALL_WRITEV_RETURN) = (12)
;
(HOOKID_IOSYSCALL_PREAD64_ENTRY) = (13)
;
(HOOKID_IOSYSCALL_PREAD64_RETURN) = (14)
;
)
;
(HOOKID_IOSYSCALL_PWRITE64_RETURN) = (16)
;
(HOOKID_IOSYSCALL_READAHEAD_ENTRY) = (17)
;
(HOOKID_IOSYSCALL_READAHEAD_RETURN) = (18)
;
(HOOKID_IOSYSCALL_SENDFILE_ENTRY) = (19)
;
(HOOKID_IOSYSCALL_SENDFILE_RETURN) = (20)
;
(HOOKID_IOSYSCALL_LSEEK_ENTRY) = (21)
;
(HOOKID_IOSYSCALL_LSEEK_RETURN) = (22)
;
(HOOKID_IOSYSCALL_LLSEEK_ENTRY) = (23)
;
(HOOKID_IOSYSCALL_LLSEEK_RETURN) = (24)
;
(HOOKID_IOSYSCALL_SYNC_ENTRY) = (25)
;
(HOOKID_IOSYSCALL_SYNC_RETURN) = (26)
;
(HOOKID_IOSYSCALL_FSYNC_ENTRY) = (27)
;
(HOOKID_IOSYSCALL_FSYNC_RETURN) = (28)
;
(HOOKID_IOSYSCALL_FDATASYNC_ENTRY) = (29)
;
(HOOKID_IOSYSCALL_FDATASYNC_RETURN) = (30)
;
(HOOKID_IOSYSCALL_FLOCK_ENTRY) = (31)
;
(HOOKID_IOSYSCALL_FLOCK_RETURN) = (32)
;
(HOOKID_AIO_IO_SETUP_ENTRY) = (1)
;
(HOOKID_AIO_IO_SETUP_RETURN) = (2)
;
(HOOKID_AIO_IO_SUBMIT_ENTRY) = (3)
;
(HOOKID_AIO_IO_SUBMIT_RETURN) = (4)
;
(HOOKID_AIO_IO_SUBMIT_ONE_ENTRY) = (5)
;
(HOOKID_AIO_IO_SUBMIT_ONE_RETURN) = (6)
;
(HOOKID_AIO_IO_GETEVENTS_ENTRY) = (7)
;
(HOOKID_AIO_IO_GETEVENTS_RETURN) = (8)
;
(HOOKID_AIO_IO_DESTROY_ENTRY) = (9)
;
(HOOKID_AIO_IO_DESTROY_RETURN) = (10)
;
(HOOKID_AIO_IO_CANCEL_ENTRY) = (11)
;
(HOOKID_AIO_IO_CANCEL_RETURN) = (12)
;
(HOOKID_SIGNAL_SEND_ENTRY) = (1)
;
(HOOKID_SIGNAL_SEND_RETURN) = (2)
;
(HOOKID_SIGNAL_SYSKILL_ENTRY) = (3)
;
(HOOKID_SIGNAL_SYSKILL_RETURN) = (4)
;
(HOOKID_SIGNAL_SYSTGKILL_ENTRY) = (5)
;
(HOOKID_SIGNAL_SYSTGKILL_RETURN) = (6)
;
(HOOKID_SIGNAL_SYSTKILL_ENTRY) = (7)
;
(HOOKID_SIGNAL_SYSTKILL_RETURN) = (8)
;
(HOOKID_SIGNAL_PENDING_ENTRY) = (9)
;
(HOOKID_SIGNAL_PENDING_RETURN) = (10)
;
(HOOKID_SIGNAL_DOACTION_ENTRY) = (11)
;
(HOOKID_SIGNAL_DOACTION_RETURN) = (12)
;
(HOOKID_SIGNAL_PROC_MASK_ENTRY) = (13)
;
(HOOKID_SIGNAL_PROC_MASK_RETURN) = (14)
;
(HOOKID_SIGNAL_FLUSH_ENTRY) = (15)
;
(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY) = (1)
;
(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN) = (2)
;
(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY) = (3)
;
(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN) = (4)
;
(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY) = (5)
;
(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN) = (6)
;
(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY) = (7)
;
(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN) = (8)
;
(HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY) = (9)
;
(HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN) = (10)
;
(HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY) = (11)
;
(HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN) = (12)
;
(HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY) = (13)
;
(HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN) = (14)
;
(HOOKID_SUNRPC_SVC_REGISTER_ENTRY) = (33)
;
(HOOKID_SUNRPC_SVC_REGISTER_RETURN) = (34)
;
(HOOKID_SUNRPC_SVC_CREATE_ENTRY) = (35)
;
(HOOKID_SUNRPC_SVC_CREATE_RETURN) = (36)
;
(HOOKID_SUNRPC_SVC_DESTROY_ENTRY) = (37)
;
(HOOKID_SUNRPC_SVC_DESTROY_RETURN) = (38)
;
(HOOKID_SUNRPC_SVC_PROCESS_ENTRY) = (39)
;
(HOOKID_SUNRPC_SVC_PROCESS_RETURN) = (40)
;
(HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY) = (41)
;
(HOOKID_SUNRPC_SVC_AUTHORISE_RETURN) = (42)
;
(HOOKID_SUNRPC_SVC_RECV_ENTRY) = (43)
;
(HOOKID_SUNRPC_SVC_RECV_RETURN) = (44)
;
(HOOKID_SUNRPC_SVC_SEND_ENTRY) = (45)
;
(HOOKID_SUNRPC_SVC_SEND_RETURN) = (46)
;
(HOOKID_SUNRPC_SVC_DROP_ENTRY) = (47)
;
(HOOKID_SUNRPC_SVC_DROP_RETURN) = (48)
;
(HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY) = (65)
;
(HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN) = (66)
;
(HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY) = (67)
;
(HOOKID_SUNRPC_SCHED_EXECUTE_RETURN) = (68)
;
(HOOKID_SUNRPC_SCHED_DELAY_ENTRY) = (69)
;
(HOOKID_SUNRPC_SCHED_DELAY_RETURN) = (70)
;
(HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY) = (71)
;
(HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN) = (72)
;
(HOOKID_SWITCH_CPUFREQ) = (1)
;
(HOOKID_NFS_FOP_LLSEEK_ENTRY) = (1)
;
(HOOKID_NFS_FOP_LLSEEK_RETURN) = (2)
;
(HOOKID_NFS_FOP_READ_ENTRY) = (3)
;
(HOOKID_NFS_FOP_READ_RETURN) = (4)
;
(HOOKID_NFS_FOP_WRITE_ENTRY) = (5)
;
(HOOKID_NFS_FOP_WRITE_RETURN) = (6)
;
(HOOKID_NFS_FOP_AIOREAD_ENTRY) = (7)
;
(HOOKID_NFS_FOP_AIOREAD_RETURN) = (8)
;
(HOOKID_NFS_FOP_AIOWRITE_ENTRY) = (9)
;
(HOOKID_NFS_FOP_A
(HOOKID_IOSYSCALL_PWRITE64_ENTRY) = (15)
;
(HOOKID_IOSYSCALL_PWRITE64_RETURN) = (16)
;
(HOOKID_IOSYSCALL_READAHEAD_ENTRY) = (17)
;
(HOOKID_IOSYSCALL_READAHEAD_RETURN) = (18)
;
(HOOKID_IOSYSCALL_SENDFILE_ENTRY) = (19)
;
(HOOKID_IOSYSCALL_SENDFILE_RETURN) = (20)
;
(HOOKID_IOSYSCALL_LSEEK_ENTRY) = (21)
;
(HOOKID_IOSYSCALL_LSEEK_RETURN) = (22)
;
(HOOKID_IOSYSCALL_LLSEEK_ENTRY) = (23)
;
(HOOKID_IOSYSCALL_LLSEEK_RETURN) = (24)
;
(HOOKID_IOSYSCALL_SYNC_ENTRY) = (25)
;
(HOOKID_IOSYSCALL_SYNC_RETURN) = (26)
;
(HOOKID_IOSYSCALL_FSYNC_ENTRY) = (27)
;
(HOOKID_IOSYSCALL_FSYNC_RETURN) = (28)
;
(HOOKID_IOSYSCALL_FDATASYNC_ENTRY) = (29)
;
(HOOKID_IOSYSCALL_FDATASYNC_RETURN) = (30)
;
(HOOKID_IOSYSCALL_FLOCK_ENTRY) = (31)
;
(HOOKID_IOSYSCALL_FLOCK_RETURN) = (32)
;
(HOOKID_AIO_IO_SETUP_ENTRY) = (1)
;
(HOOKID_AIO_IO_SETUP_RETURN) = (2)
;
(HOOKID_AIO_IO_SUBMIT_ENTRY) = (3)
;
(HOOKID_AIO_IO_SUBMIT_RETURN) = (4)
;
(HOOKID_AIO_IO_SUBMIT_ONE_ENTRY) = (5)
;
(HOOKID_AIO_IO_SUBMIT_ONE_RETURN) = (6)
;
(HOOKID_AIO_IO_GETEVENTS_ENTRY) = (7)
;
(HOOKID_AIO_IO_GETEVENTS_RETURN) = (8)
;
(HOOKID_AIO_IO_DESTROY_ENTRY) = (9)
;
(HOOKID_AIO_IO_DESTROY_RETURN) = (10)
;
(HOOKID_AIO_IO_CANCEL_ENTRY) = (11)
;
(HOOKID_AIO_IO_CANCEL_RETURN) = (12)
;
(HOOKID_SIGNAL_SEND_ENTRY) = (1)
;
(HOOKID_SIGNAL_SEND_RETURN) = (2)
;
(HOOKID_SIGNAL_SYSKILL_ENTRY) = (3)
;
(HOOKID_SIGNAL_SYSKILL_RETURN) = (4)
;
(HOOKID_SIGNAL_SYSTGKILL_ENTRY) = (5)
;
(HOOKID_SIGNAL_SYSTGKILL_RETURN) = (6)
;
(HOOKID_SIGNAL_SYSTKILL_ENTRY) = (7)
;
(HOOKID_SIGNAL_SYSTKILL_RETURN) = (8)
;
(HOOKID_SIGNAL_PENDING_ENTRY) = (9)
;
(HOOKID_SIGNAL_PENDING_RETURN) = (10)
;
(HOOKID_SIGNAL_DOACTION_ENTRY) = (11)
;
(HOOKID_SIGNAL_DOACTION_RETURN) = (12)
;
(HOOKID_SIGNAL_PROC_MASK_ENTRY) = (13)
;
(HOOKID_SIGNAL_PROC_MASK_RETURN) = (14)
;
(HOOKID_SIGNAL_FLUSH_ENTRY) = (15)
;
(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY) = (1)
;
(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN) = (2)
;
(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY) = (3)
;
(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN) = (4)
;
(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY) = (5)
;
(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN) = (6)
;
(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY) = (7)
;
(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN) = (8)
;
(HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY) = (9)
;
(HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN) = (10)
;
(HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY) = (11)
;
(HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN) = (12)
;
(HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY) = (13)
;
(HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN) = (14)
;
(HOOKID_SUNRPC_SVC_REGISTER_ENTRY) = (33)
;
(HOOKID_SUNRPC_SVC_REGISTER_RETURN) = (34)
;
(HOOKID_SUNRPC_SVC_CREATE_ENTRY) = (35)
;
(HOOKID_SUNRPC_SVC_CREATE_RETURN) = (36)
;
(HOOKID_SUNRPC_SVC_DESTROY_ENTRY) = (37)
;
(HOOKID_SUNRPC_SVC_DESTROY_RETURN) = (38)
;
(HOOKID_SUNRPC_SVC_PROCESS_ENTRY) = (39)
;
(HOOKID_SUNRPC_SVC_PROCESS_RETURN) = (40)
;
(HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY) = (41)
;
(HOOKID_SUNRPC_SVC_AUTHORISE_RETURN) = (42)
;
(HOOKID_SUNRPC_SVC_RECV_ENTRY) = (43)
;
(HOOKID_SUNRPC_SVC_RECV_RETURN) = (44)
;
(HOOKID_SUNRPC_SVC_SEND_ENTRY) = (45)
;
(HOOKID_SUNRPC_SVC_SEND_RETURN) = (46)
;
(HOOKID_SUNRPC_SVC_DROP_ENTRY) = (47)
;
(HOOKID_SUNRPC_SVC_DROP_RETURN) = (48)
;
(HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY) = (65)
;
(HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN) = (66)
;
(HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY) = (67)
;
(HOOKID_SUNRPC_SCHED_EXECUTE_RETURN) = (68)
;
(HOOKID_SUNRPC_SCHED_DELAY_ENTRY) = (69)
;
(HOOKID_SUNRPC_SCHED_DELAY_RETURN) = (70)
;
(HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY) = (71)
;
(HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN) = (72)
;
(HOOKID_SWITCH_CPUFREQ) = (1)
;
(HOOKID_NFS_FOP_LLSEEK_ENTRY) = (1)
;
(HOOKID_NFS_FOP_LLSEEK_RETURN) = (2)
;
(HOOKID_NFS_FOP_READ_ENTRY) = (3)
;
(HOOKID_NFS_FOP_READ_RETURN) = (4)
;
(HOOKID_NFS_FOP_WRITE_ENTRY) = (5)
;
(HOOKID_NFS_FOP_WRITE_RETURN) = (6)
;
(HOOKID_NFS_FOP_AIOREAD_ENTRY) = (7)
;
(HOOKID_NFS_FOP_AIOREAD_RETURN) = (8)
;
(HOOKID_NFS_FOP_AIOWRITE_ENTRY) = (9)
;
IOWRITE_RETURN) = (10)
;
(HOOKID_NFS_FOP_MMAP_ENTRY) = (11)
;
(HOOKID_NFS_FOP_MMAP_RETURN) = (12)
;
(HOOKID_NFS_FOP_OPEN_ENTRY) = (13)
;
(HOOKID_NFS_FOP_OPEN_RETURN) = (14)
;
(HOOKID_NFS_FOP_FLUSH_ENTRY) = (15)
;
(HOOKID_NFS_FOP_FLUSH_RETURN) = (16)
;
(HOOKID_NFS_FOP_RELEASE_ENTRY) = (17)
;
(HOOKID_NFS_FOP_RELEASE_RETURN) = (18)
;
(HOOKID_NFS_FOP_FSYNC_ENTRY) = (19)
;
(HOOKID_NFS_FOP_FSYNC_RETURN) = (20)
;
(HOOKID_NFS_FOP_LOCK_ENTRY) = (21)
;
(HOOKID_NFS_FOP_LOCK_RETURN) = (22)
;
(HOOKID_NFS_FOP_SENDFILE_ENTRY) = (23)
;
(HOOKID_NFS_FOP_SENDFILE_RETURN) = (24)
;
(HOOKID_NFS_FOP_CHECKFLAGS_ENTRY) = (25)
;
(HOOKID_NFS_FOP_CHECKFLAGS_RETURN) = (26)
;
(HOOKID_NFS_AOP_READPAGE_ENTRY) = (27)
;
(HOOKID_NFS_AOP_READPAGE_RETURN) = (28)
;
(HOOKID_NFS_AOP_READPAGES_ENTRY) = (29)
;
(HOOKID_NFS_AOP_READPAGES_RETURN) = (30)
;
(HOOKID_NFS_AOP_WRITEPAGE_ENTRY) = (31)
;
(HOOKID_NFS_AOP_WRITEPAGE_RETURN) = (32)
;
(HOOKID_NFS_AOP_WRITEPAGES_ENTRY) = (33)
;
(HOOKID_NFS_AOP_WRITEPAGES_RETURN) = (34)
;
(HOOKID_NFS_AOP_RELEASEPAGE_ENTRY) = (35)
;
(HOOKID_NFS_AOP_RELEASEPAGE_RETURN) = (36)
;
(HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY) = (37)
;
(HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN) = (38)
;
(HOOKID_NFS_AOP_PREPAREWRITE_ENTRY) = (39)
;
(HOOKID_NFS_AOP_PREPAREWRITE_RETURN) = (40)
;
(HOOKID_NFS_AOP_COMMITWRITE_ENTRY) = (41)
;
(HOOKID_NFS_AOP_COMMITWRITE_RETURN) = (42)
;
(HOOKID_NFS_PROC_LOOKUP_ENTRY) = (43)
;
(HOOKID_NFS_PROC_LOOKUP_RETURN) = (44)
;
(HOOKID_NFS_PROC_READ_ENTRY) = (45)
;
(HOOKID_NFS_PROC_READ_RETURN) = (46)
;
(HOOKID_NFS_PROC_WRITE_ENTRY) = (47)
;
(HOOKID_NFS_PROC_WRITE_RETURN) = (48)
;
(HOOKID_NFS_PROC_COMMIT_ENTRY) = (49)
;
(HOOKID_NFS_PROC_COMMIT_RETURN) = (50)
;
(HOOKID_NFS_PROC_READSETUP_ENTRY) = (51)
;
(HOOKID_NFS_PROC_WRITESETUP_ENTRY) = (53)
;
(HOOKID_NFS_PROC_COMMITSETUP_ENTRY) = (55)
;
(HOOKID_NFS_PROC_READDONE_ENTRY) = (57)
;
(HOOKID_NFS_PROC_READDONE_RETURN) = (58)
;
(HOOKID_NFS_PROC_WRITEDONE_ENTRY) = (59)
;
(HOOKID_NFS_PROC_WRITEDONE_RETURN) = (60)
;
(HOOKID_NFS_PROC_COMMITDONE_ENTRY) = (61)
;
(HOOKID_NFS_PROC_COMMITDONE_RETURN) = (62)
;
(HOOKID_NFS_PROC_OPEN_ENTRY) = (63)
;
(HOOKID_NFS_PROC_OPEN_RETURN) = (64)
;
(HOOKID_NFS_PROC_RELEASE_ENTRY) = (65)
;
(HOOKID_NFS_PROC_RELEASE_RETURN) = (66)
;
(HOOKID_NFS_PROC_CREATE_ENTRY) = (67)
;
(HOOKID_NFS_PROC_CREATE_RETURN) = (68)
;
(HOOKID_NFS_PROC_RENAME_ENTRY) = (69)
;
(HOOKID_NFS_PROC_RENAME_RETURN) = (70)
;
(HOOKID_NFS_PROC_REMOVE_ENTRY) = (71)
;
(HOOKID_NFS_PROC_REMOVE_RETURN) = (72)
;
(HOOKID_NFSD_DISPATCH_ENTRY) = (1)
;
(HOOKID_NFSD_DISPATCH_RETURN) = (2)
;
(HOOKID_NFSD_OPEN_ENTRY) = (3)
;
(HOOKID_NFSD_OPEN_RETURN) = (4)
;
(HOOKID_NFSD_READ_ENTRY) = (5)
;
(HOOKID_NFSD_READ_RETURN) = (6)
;
(HOOKID_NFSD_WRITE_ENTRY) = (7)
;
(HOOKID_NFSD_WRITE_RETURN) = (8)
;
(HOOKID_NFSD_LOOKUP_ENTRY) = (9)
;
(HOOKID_NFSD_LOOKUP_RETURN) = (10)
;
(HOOKID_NFSD_COMMIT_ENTRY) = (11)
;
(HOOKID_NFSD_COMMIT_RETURN) = (12)
;
(HOOKID_NFSD_CREATE_ENTRY) = (13)
;
(HOOKID_NFSD_CREATE_RETURN) = (14)
;
(HOOKID_NFSD_CREATEV3_ENTRY) = (15)
;
(HOOKID_NFSD_CREATEV3_RETURN) = (16)
;
(HOOKID_NFSD_UNLINK_ENTRY) = (17)
;
(HOOKID_NFSD_UNLINK_RETURN) = (18)
;
(HOOKID_NFSD_RENAME_ENTRY) = (19)
;
(HOOKID_NFSD_RENAME_RETURN) = (20)
;
(HOOKID_NFSD_CLOSE_ENTRY) = (21)
;
(HOOKID_NFSD_CLOSE_RETURN) = (22)
;
(HOOKID_NFSD_PROC_LOOKUP_ENTRY) = (23)
;
(HOOKID_NFSD_PROC_LOOKUP_RETURN) = (24)
;
(HOOKID_NFSD_PROC_READ_ENTRY) = (25)
;
(HOOKID_NFSD_PROC_READ_RETURN) = (26)
;
(HOOKID_NFSD_PROC_WRITE_ENTRY) = (27)
;
(HOOKID_NFSD_PROC_WRITE_RETURN) = (28)
;
(HOOKID_NFSD_PROC_COMMIT_ENTRY) = (29)
;
(HOOKID_NFSD_PROC_COMMIT_RETURN) = (30)
;
(HOOKID_NFSD_PROC_COMPOUND_ENTRY) = (31)
;
(HOOKID_NFSD_PROC_COMPOUND_RETURN) = (32)
;
(HOOKID_NFSD_PROC_REMOVE_ENTRY) = (33)
;
(HOOKID_NFSD_PROC_REMOVE_RETURN) = (34)
;
(HOOKID_NFSD_PROC_RENAME_ENTRY) = (35)
;
(HOOKID_NFSD_PROC_RENAME_RETURN) = (36)
;
(HOOKID_NFSD_PROC_CREATE_ENTRY) = (37)
;
(HOOKID_NFSD_PROC_CREA
(HOOKID_NFS_FOP_AIOWRITE_RETURN) = (10)
;
(HOOKID_NFS_FOP_MMAP_ENTRY) = (11)
;
(HOOKID_NFS_FOP_MMAP_RETURN) = (12)
;
(HOOKID_NFS_FOP_OPEN_ENTRY) = (13)
;
(HOOKID_NFS_FOP_OPEN_RETURN) = (14)
;
(HOOKID_NFS_FOP_FLUSH_ENTRY) = (15)
;
(HOOKID_NFS_FOP_FLUSH_RETURN) = (16)
;
(HOOKID_NFS_FOP_RELEASE_ENTRY) = (17)
;
(HOOKID_NFS_FOP_RELEASE_RETURN) = (18)
;
(HOOKID_NFS_FOP_FSYNC_ENTRY) = (19)
;
(HOOKID_NFS_FOP_FSYNC_RETURN) = (20)
;
(HOOKID_NFS_FOP_LOCK_ENTRY) = (21)
;
(HOOKID_NFS_FOP_LOCK_RETURN) = (22)
;
(HOOKID_NFS_FOP_SENDFILE_ENTRY) = (23)
;
(HOOKID_NFS_FOP_SENDFILE_RETURN) = (24)
;
(HOOKID_NFS_FOP_CHECKFLAGS_ENTRY) = (25)
;
(HOOKID_NFS_FOP_CHECKFLAGS_RETURN) = (26)
;
(HOOKID_NFS_AOP_READPAGE_ENTRY) = (27)
;
(HOOKID_NFS_AOP_READPAGE_RETURN) = (28)
;
(HOOKID_NFS_AOP_READPAGES_ENTRY) = (29)
;
(HOOKID_NFS_AOP_READPAGES_RETURN) = (30)
;
(HOOKID_NFS_AOP_WRITEPAGE_ENTRY) = (31)
;
(HOOKID_NFS_AOP_WRITEPAGE_RETURN) = (32)
;
(HOOKID_NFS_AOP_WRITEPAGES_ENTRY) = (33)
;
(HOOKID_NFS_AOP_WRITEPAGES_RETURN) = (34)
;
(HOOKID_NFS_AOP_RELEASEPAGE_ENTRY) = (35)
;
(HOOKID_NFS_AOP_RELEASEPAGE_RETURN) = (36)
;
(HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY) = (37)
;
(HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN) = (38)
;
(HOOKID_NFS_AOP_PREPAREWRITE_ENTRY) = (39)
;
(HOOKID_NFS_AOP_PREPAREWRITE_RETURN) = (40)
;
(HOOKID_NFS_AOP_COMMITWRITE_ENTRY) = (41)
;
(HOOKID_NFS_AOP_COMMITWRITE_RETURN) = (42)
;
(HOOKID_NFS_PROC_LOOKUP_ENTRY) = (43)
;
(HOOKID_NFS_PROC_LOOKUP_RETURN) = (44)
;
(HOOKID_NFS_PROC_READ_ENTRY) = (45)
;
(HOOKID_NFS_PROC_READ_RETURN) = (46)
;
(HOOKID_NFS_PROC_WRITE_ENTRY) = (47)
;
(HOOKID_NFS_PROC_WRITE_RETURN) = (48)
;
(HOOKID_NFS_PROC_COMMIT_ENTRY) = (49)
;
(HOOKID_NFS_PROC_COMMIT_RETURN) = (50)
;
(HOOKID_NFS_PROC_READSETUP_ENTRY) = (51)
;
(HOOKID_NFS_PROC_WRITESETUP_ENTRY) = (53)
;
(HOOKID_NFS_PROC_COMMITSETUP_ENTRY) = (55)
;
(HOOKID_NFS_PROC_READDONE_ENTRY) = (57)
;
(HOOKID_NFS_PROC_READDONE_RETURN) = (58)
;
(HOOKID_NFS_PROC_WRITEDONE_ENTRY) = (59)
;
(HOOKID_NFS_PROC_WRITEDONE_RETURN) = (60)
;
(HOOKID_NFS_PROC_COMMITDONE_ENTRY) = (61)
;
(HOOKID_NFS_PROC_COMMITDONE_RETURN) = (62)
;
(HOOKID_NFS_PROC_OPEN_ENTRY) = (63)
;
(HOOKID_NFS_PROC_OPEN_RETURN) = (64)
;
(HOOKID_NFS_PROC_RELEASE_ENTRY) = (65)
;
(HOOKID_NFS_PROC_RELEASE_RETURN) = (66)
;
(HOOKID_NFS_PROC_CREATE_ENTRY) = (67)
;
(HOOKID_NFS_PROC_CREATE_RETURN) = (68)
;
(HOOKID_NFS_PROC_RENAME_ENTRY) = (69)
;
(HOOKID_NFS_PROC_RENAME_RETURN) = (70)
;
(HOOKID_NFS_PROC_REMOVE_ENTRY) = (71)
;
(HOOKID_NFS_PROC_REMOVE_RETURN) = (72)
;
(HOOKID_NFSD_DISPATCH_ENTRY) = (1)
;
(HOOKID_NFSD_DISPATCH_RETURN) = (2)
;
(HOOKID_NFSD_OPEN_ENTRY) = (3)
;
(HOOKID_NFSD_OPEN_RETURN) = (4)
;
(HOOKID_NFSD_READ_ENTRY) = (5)
;
(HOOKID_NFSD_READ_RETURN) = (6)
;
(HOOKID_NFSD_WRITE_ENTRY) = (7)
;
(HOOKID_NFSD_WRITE_RETURN) = (8)
;
(HOOKID_NFSD_LOOKUP_ENTRY) = (9)
;
(HOOKID_NFSD_LOOKUP_RETURN) = (10)
;
(HOOKID_NFSD_COMMIT_ENTRY) = (11)
;
(HOOKID_NFSD_COMMIT_RETURN) = (12)
;
(HOOKID_NFSD_CREATE_ENTRY) = (13)
;
(HOOKID_NFSD_CREATE_RETURN) = (14)
;
(HOOKID_NFSD_CREATEV3_ENTRY) = (15)
;
(HOOKID_NFSD_CREATEV3_RETURN) = (16)
;
(HOOKID_NFSD_UNLINK_ENTRY) = (17)
;
(HOOKID_NFSD_UNLINK_RETURN) = (18)
;
(HOOKID_NFSD_RENAME_ENTRY) = (19)
;
(HOOKID_NFSD_RENAME_RETURN) = (20)
;
(HOOKID_NFSD_CLOSE_ENTRY) = (21)
;
(HOOKID_NFSD_CLOSE_RETURN) = (22)
;
(HOOKID_NFSD_PROC_LOOKUP_ENTRY) = (23)
;
(HOOKID_NFSD_PROC_LOOKUP_RETURN) = (24)
;
(HOOKID_NFSD_PROC_READ_ENTRY) = (25)
;
(HOOKID_NFSD_PROC_READ_RETURN) = (26)
;
(HOOKID_NFSD_PROC_WRITE_ENTRY) = (27)
;
(HOOKID_NFSD_PROC_WRITE_RETURN) = (28)
;
(HOOKID_NFSD_PROC_COMMIT_ENTRY) = (29)
;
(HOOKID_NFSD_PROC_COMMIT_RETURN) = (30)
;
(HOOKID_NFSD_PROC_COMPOUND_ENTRY) = (31)
;
(HOOKID_NFSD_PROC_COMPOUND_RETURN) = (32)
;
(HOOKID_NFSD_PROC_REMOVE_ENTRY) = (33)
;
(HOOKID_NFSD_PROC_REMOVE_RETURN) = (34)
;
(HOOKID_NFSD_PROC_RENAME_ENTRY) = (35)
;
(HOOKID_NFSD_PROC_RENAME_RETURN) = (36)
;
(HOOKID_NFSD_PROC_CREATE_ENTRY) = (37)
;
TE_RETURN) = (38)
;
}
# file /usr/local/share/systemtap/tapset/LKET/ioscheduler.stp
%{
#include <linux/blkdev.h>
#include <linux/elevator.h>
%}probe addevent.ioscheduler = addevent.ioscheduler.elv_next_request, addevent.ioscheduler.elv_add_request, addevent.ioscheduler.elv_completed_request{
}
probe addevent.ioscheduler.elv_next_request = addevent.ioscheduler.elv_next_request.entry, addevent.ioscheduler.elv_next_request.return{
}
probe addevent.ioscheduler.elv_next_request.entry = _addevent.ioscheduler.elv_next_request.entry{
update_record()
}
probe _addevent.ioscheduler.elv_next_request.entry = ioscheduler.elv_next_request{
log_ioscheduler_tracedata_elv_next_entry(elevator_name)
}
probe addevent.ioscheduler.elv_next_request.return = _addevent.ioscheduler.elv_next_request.return{
update_record()
}
probe _addevent.ioscheduler.elv_next_request.return = ioscheduler.elv_next_request.return{
log_ioscheduler_tracedata_elv_next_return(disk_major, disk_minor, req, req_flags)
}
probe addevent.ioscheduler.elv_add_request = _addevent.ioscheduler.elv_add_request{
update_record()
}
probe _addevent.ioscheduler.elv_add_request = ioscheduler.elv_add_request{
log_ioscheduler_tracedata_others(HOOKID_IOSCHED_ADD_REQ, elevator_name, disk_major, disk_minor, req, req_flags)
}
probe addevent.ioscheduler.elv_completed_request = _addevent.ioscheduler.elv_completed_request{
update_record()
}
probe _addevent.ioscheduler.elv_completed_request = ioscheduler.elv_completed_request{
log_ioscheduler_tracedata_others(HOOKID_IOSCHED_ADD_REQ, elevator_name, disk_major, disk_minor, req, req_flags)
}
function log_ioscheduler_tracedata_others (var_id, elv_name, major, minor, rq, flag)
%{
/* elevator name|major|minor|request|request_flags */
_lket_trace(_GROUP_IOSCHED, THIS->var_id, "%0s%1b%1b%8b%8b",
THIS->elv_name, THIS->major, THIS->minor, THIS->rq, THIS->flag);
%}
function log_ioscheduler_tracedata_elv_next_entry (elv_name)
%{
_lket_trace(_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_ENTRY, "%0s", THIS->elv_name);
%}
function log_ioscheduler_tracedata_elv_next_return (major, minor, req, req_flags)
%{
_lket_trace(_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_RETURN, "%1b%1b%8b%8b",
THIS->major, THIS->minor, THIS->req, THIS->req_flags);
%}
# file /usr/local/share/systemtap/tapset/LKET/iosyscall.stp
probe addevent.iosyscall = addevent.iosyscall.entry, addevent.iosyscall.return{
}
probe addevent.iosyscall.entry = addevent.iosyscall.open.entry, addevent.iosyscall.close.entry, addevent.iosyscall.read.entry, addevent.iosyscall.write.entry, addevent.iosyscall.readv.entry, addevent.iosyscall.writev.entry, addevent.iosyscall.pread64.entry, addevent.iosyscall.pwrite64.entry, addevent.iosyscall.readahead.entry, addevent.iosyscall.sendfile.entry, addevent.iosyscall.lseek.entry, addevent.iosyscall.llseek.entry, addevent.iosyscall.sync.entry, addevent.iosyscall.fsync.entry, addevent.iosyscall.fdatasync.entry, addevent.iosyscall.flock.entry{
}
probe addevent.iosyscall.return = addevent.iosyscall.open.return, addevent.iosyscall.close.return, addevent.iosyscall.read.return, addevent.iosyscall.write.return, addevent.iosyscall.readv.return, addevent.iosyscall.writev.return, addevent.iosyscall.pread64.return, addevent.iosyscall.pwrite64.return, addevent.iosyscall.readahead.return, addevent.iosyscall.sendfile.return, addevent.iosyscall.lseek.return, addevent.iosyscall.llseek.return, addevent.iosyscall.sync.return, addevent.iosyscall.fsync.return, addevent.iosyscall.fdatasync.return, addevent.iosyscall.flock.return{
}
probe addevent.iosyscall.open = addevent.iosyscall.open.entry, addevent.iosyscall.open.return{
}
probe addevent.iosyscall.open.entry = _addevent.iosyscall.open.entry{
update_record()
}
probe _addevent.iosyscall.open.entry = syscall.open{
log_iosyscall_open(filename, flags, mode)
}
probe addevent.iosyscall.open.return = _addevent.iosyscall.open.return{
update_record()
}
probe _addevent.iosyscall.open.return = syscall.open.return{
log_iosyscall_return(HOOKID_IOSYSCALL_OPEN_RETURN, $return)
(HOOKID_NFSD_PROC_CREATE_RETURN) = (38)
;
}
# file /usr/local/share/systemtap/tapset/LKET/ioscheduler.stp
%{
#include <linux/blkdev.h>
#include <linux/elevator.h>
%}probe addevent.ioscheduler = addevent.ioscheduler.elv_next_request, addevent.ioscheduler.elv_add_request, addevent.ioscheduler.elv_completed_request{
}
probe addevent.ioscheduler.elv_next_request = addevent.ioscheduler.elv_next_request.entry, addevent.ioscheduler.elv_next_request.return{
}
probe addevent.ioscheduler.elv_next_request.entry = _addevent.ioscheduler.elv_next_request.entry{
update_record()
}
probe _addevent.ioscheduler.elv_next_request.entry = ioscheduler.elv_next_request{
log_ioscheduler_tracedata_elv_next_entry(elevator_name)
}
probe addevent.ioscheduler.elv_next_request.return = _addevent.ioscheduler.elv_next_request.return{
update_record()
}
probe _addevent.ioscheduler.elv_next_request.return = ioscheduler.elv_next_request.return{
log_ioscheduler_tracedata_elv_next_return(disk_major, disk_minor, req, req_flags)
}
probe addevent.ioscheduler.elv_add_request = _addevent.ioscheduler.elv_add_request{
update_record()
}
probe _addevent.ioscheduler.elv_add_request = ioscheduler.elv_add_request{
log_ioscheduler_tracedata_others(HOOKID_IOSCHED_ADD_REQ, elevator_name, disk_major, disk_minor, req, req_flags)
}
probe addevent.ioscheduler.elv_completed_request = _addevent.ioscheduler.elv_completed_request{
update_record()
}
probe _addevent.ioscheduler.elv_completed_request = ioscheduler.elv_completed_request{
log_ioscheduler_tracedata_others(HOOKID_IOSCHED_ADD_REQ, elevator_name, disk_major, disk_minor, req, req_flags)
}
function log_ioscheduler_tracedata_others (var_id, elv_name, major, minor, rq, flag)
%{
/* elevator name|major|minor|request|request_flags */
_lket_trace(_GROUP_IOSCHED, THIS->var_id, "%0s%1b%1b%8b%8b",
THIS->elv_name, THIS->major, THIS->minor, THIS->rq, THIS->flag);
%}
function log_ioscheduler_tracedata_elv_next_entry (elv_name)
%{
_lket_trace(_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_ENTRY, "%0s", THIS->elv_name);
%}
function log_ioscheduler_tracedata_elv_next_return (major, minor, req, req_flags)
%{
_lket_trace(_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_RETURN, "%1b%1b%8b%8b",
THIS->major, THIS->minor, THIS->req, THIS->req_flags);
%}
# file /usr/local/share/systemtap/tapset/LKET/iosyscall.stp
probe addevent.iosyscall = addevent.iosyscall.entry, addevent.iosyscall.return{
}
probe addevent.iosyscall.entry = addevent.iosyscall.open.entry, addevent.iosyscall.close.entry, addevent.iosyscall.read.entry, addevent.iosyscall.write.entry, addevent.iosyscall.readv.entry, addevent.iosyscall.writev.entry, addevent.iosyscall.pread64.entry, addevent.iosyscall.pwrite64.entry, addevent.iosyscall.readahead.entry, addevent.iosyscall.sendfile.entry, addevent.iosyscall.lseek.entry, addevent.iosyscall.llseek.entry, addevent.iosyscall.sync.entry, addevent.iosyscall.fsync.entry, addevent.iosyscall.fdatasync.entry, addevent.iosyscall.flock.entry{
}
probe addevent.iosyscall.return = addevent.iosyscall.open.return, addevent.iosyscall.close.return, addevent.iosyscall.read.return, addevent.iosyscall.write.return, addevent.iosyscall.readv.return, addevent.iosyscall.writev.return, addevent.iosyscall.pread64.return, addevent.iosyscall.pwrite64.return, addevent.iosyscall.readahead.return, addevent.iosyscall.sendfile.return, addevent.iosyscall.lseek.return, addevent.iosyscall.llseek.return, addevent.iosyscall.sync.return, addevent.iosyscall.fsync.return, addevent.iosyscall.fdatasync.return, addevent.iosyscall.flock.return{
}
probe addevent.iosyscall.open = addevent.iosyscall.open.entry, addevent.iosyscall.open.return{
}
probe addevent.iosyscall.open.entry = _addevent.iosyscall.open.entry{
update_record()
}
probe _addevent.iosyscall.open.entry = syscall.open{
log_iosyscall_open(filename, flags, mode)
}
probe addevent.iosyscall.open.return = _addevent.iosyscall.open.return{
update_record()
}
probe _addevent.iosyscall.open.return = syscall.open.return{
}
probe addevent.iosyscall.close = addevent.iosyscall.close.entry, addevent.iosyscall.close.return{
}
probe addevent.iosyscall.close.entry = _addevent.iosyscall.close.entry{
update_record()
}
probe _addevent.iosyscall.close.entry = syscall.close{
log_iosyscall_close(fd)
}
probe addevent.iosyscall.close.return = _addevent.iosyscall.close.return{
update_record()
}
probe _addevent.iosyscall.close.return = syscall.close.return{
log_iosyscall_return(HOOKID_IOSYSCALL_CLOSE_RETURN, $return)
}
probe addevent.iosyscall.read = addevent.iosyscall.read.entry, addevent.iosyscall.read.return{
}
probe addevent.iosyscall.read.entry = _addevent.iosyscall.read.entry{
update_record()
}
probe _addevent.iosyscall.read.entry = syscall.read{
log_iosyscall_read(fd, buf_uaddr, count)
}
probe addevent.iosyscall.read.return = _addevent.iosyscall.read.return{
update_record()
}
probe _addevent.iosyscall.read.return = syscall.read.return{
log_iosyscall_return(HOOKID_IOSYSCALL_READ_RETURN, $return)
}
probe addevent.iosyscall.write = addevent.iosyscall.write.entry, addevent.iosyscall.write.return{
}
probe addevent.iosyscall.write.entry = _addevent.iosyscall.write.entry{
update_record()
}
probe _addevent.iosyscall.write.entry = syscall.write{
log_iosyscall_write(fd, buf_uaddr, count)
}
probe addevent.iosyscall.write.return = _addevent.iosyscall.write.return{
update_record()
}
probe _addevent.iosyscall.write.return = syscall.write.return{
log_iosyscall_return(HOOKID_IOSYSCALL_WRITE_RETURN, $return)
}
probe addevent.iosyscall.readv = addevent.iosyscall.readv.entry, addevent.iosyscall.readv.return{
}
probe addevent.iosyscall.readv.entry = _addevent.iosyscall.readv.entry{
update_record()
}
probe _addevent.iosyscall.readv.entry = syscall.readv{
log_iosyscall_readv_writev(HOOKID_IOSYSCALL_READV_ENTRY, fd, vector_uaddr, count)
}
probe addevent.iosyscall.readv.return = _addevent.iosyscall.readv.return{
update_record()
}
probe _addevent.iosyscall.readv.return = syscall.readv.return{
log_iosyscall_return(HOOKID_IOSYSCALL_READV_RETURN, $return)
}
probe addevent.iosyscall.writev = addevent.iosyscall.writev.entry, addevent.iosyscall.writev.return{
}
probe addevent.iosyscall.writev.entry = _addevent.iosyscall.writev.entry{
update_record()
}
probe _addevent.iosyscall.writev.entry = syscall.writev{
log_iosyscall_readv_writev(HOOKID_IOSYSCALL_WRITEV_ENTRY, fd, vector_uaddr, count)
}
probe addevent.iosyscall.writev.return = _addevent.iosyscall.writev.return{
update_record()
}
probe _addevent.iosyscall.writev.return = syscall.writev.return{
log_iosyscall_return(HOOKID_IOSYSCALL_WRITEV_RETURN, $return)
}
probe addevent.iosyscall.pread64 = addevent.iosyscall.pread64.entry, addevent.iosyscall.pread64.return{
}
probe addevent.iosyscall.pread64.entry = _addevent.iosyscall.pread64.entry{
update_record()
}
probe _addevent.iosyscall.pread64.entry = syscall.pread64{
log_iosyscall_pread64_pwrite64(HOOKID_IOSYSCALL_PREAD64_ENTRY, fd, buf_uaddr, count, offset)
}
probe addevent.iosyscall.pread64.return = _addevent.iosyscall.pread64.return{
update_record()
}
probe _addevent.iosyscall.pread64.return = syscall.pread64.return{
log_iosyscall_return(HOOKID_IOSYSCALL_PREAD64_RETURN, $return)
}
probe addevent.iosyscall.pwrite64 = addevent.iosyscall.pwrite64.entry, addevent.iosyscall.pwrite64.return{
}
probe addevent.iosyscall.pwrite64.entry = _addevent.iosyscall.pwrite64.entry{
update_record()
}
probe _addevent.iosyscall.pwrite64.entry = syscall.pwrite64{
log_iosyscall_pread64_pwrite64(HOOKID_IOSYSCALL_PWRITE64_ENTRY, fd, buf_uaddr, count, offset)
;
}
probe addevent.iosyscall.pwrite64.return = _addevent.iosyscall.pwrite64.return{
update_record()
}
probe _addevent.iosyscall.pwrite64.return = syscall.pwrite64.return{
log_iosyscall_return(HOOKID_IOSYSCALL_PWRITE64_RETURN, $return)
}
probe addevent.iosyscall.readahead = addevent.iosyscall.readahead.entry, addevent.iosyscall.readahead.return{
}
probe addevent.iosyscall.readahead.entry = _addevent.iosyscall.readahead.entry{
update_record()
}
log_iosyscall_return(HOOKID_IOSYSCALL_OPEN_RETURN, $return)
}
probe addevent.iosyscall.close = addevent.iosyscall.close.entry, addevent.iosyscall.close.return{
}
probe addevent.iosyscall.close.entry = _addevent.iosyscall.close.entry{
update_record()
}
probe _addevent.iosyscall.close.entry = syscall.close{
log_iosyscall_close(fd)
}
probe addevent.iosyscall.close.return = _addevent.iosyscall.close.return{
update_record()
}
probe _addevent.iosyscall.close.return = syscall.close.return{
log_iosyscall_return(HOOKID_IOSYSCALL_CLOSE_RETURN, $return)
}
probe addevent.iosyscall.read = addevent.iosyscall.read.entry, addevent.iosyscall.read.return{
}
probe addevent.iosyscall.read.entry = _addevent.iosyscall.read.entry{
update_record()
}
probe _addevent.iosyscall.read.entry = syscall.read{
log_iosyscall_read(fd, buf_uaddr, count)
}
probe addevent.iosyscall.read.return = _addevent.iosyscall.read.return{
update_record()
}
probe _addevent.iosyscall.read.return = syscall.read.return{
log_iosyscall_return(HOOKID_IOSYSCALL_READ_RETURN, $return)
}
probe addevent.iosyscall.write = addevent.iosyscall.write.entry, addevent.iosyscall.write.return{
}
probe addevent.iosyscall.write.entry = _addevent.iosyscall.write.entry{
update_record()
}
probe _addevent.iosyscall.write.entry = syscall.write{
log_iosyscall_write(fd, buf_uaddr, count)
}
probe addevent.iosyscall.write.return = _addevent.iosyscall.write.return{
update_record()
}
probe _addevent.iosyscall.write.return = syscall.write.return{
log_iosyscall_return(HOOKID_IOSYSCALL_WRITE_RETURN, $return)
}
probe addevent.iosyscall.readv = addevent.iosyscall.readv.entry, addevent.iosyscall.readv.return{
}
probe addevent.iosyscall.readv.entry = _addevent.iosyscall.readv.entry{
update_record()
}
probe _addevent.iosyscall.readv.entry = syscall.readv{
log_iosyscall_readv_writev(HOOKID_IOSYSCALL_READV_ENTRY, fd, vector_uaddr, count)
}
probe addevent.iosyscall.readv.return = _addevent.iosyscall.readv.return{
update_record()
}
probe _addevent.iosyscall.readv.return = syscall.readv.return{
log_iosyscall_return(HOOKID_IOSYSCALL_READV_RETURN, $return)
}
probe addevent.iosyscall.writev = addevent.iosyscall.writev.entry, addevent.iosyscall.writev.return{
}
probe addevent.iosyscall.writev.entry = _addevent.iosyscall.writev.entry{
update_record()
}
probe _addevent.iosyscall.writev.entry = syscall.writev{
log_iosyscall_readv_writev(HOOKID_IOSYSCALL_WRITEV_ENTRY, fd, vector_uaddr, count)
}
probe addevent.iosyscall.writev.return = _addevent.iosyscall.writev.return{
update_record()
}
probe _addevent.iosyscall.writev.return = syscall.writev.return{
log_iosyscall_return(HOOKID_IOSYSCALL_WRITEV_RETURN, $return)
}
probe addevent.iosyscall.pread64 = addevent.iosyscall.pread64.entry, addevent.iosyscall.pread64.return{
}
probe addevent.iosyscall.pread64.entry = _addevent.iosyscall.pread64.entry{
update_record()
}
probe _addevent.iosyscall.pread64.entry = syscall.pread64{
log_iosyscall_pread64_pwrite64(HOOKID_IOSYSCALL_PREAD64_ENTRY, fd, buf_uaddr, count, offset)
}
probe addevent.iosyscall.pread64.return = _addevent.iosyscall.pread64.return{
update_record()
}
probe _addevent.iosyscall.pread64.return = syscall.pread64.return{
log_iosyscall_return(HOOKID_IOSYSCALL_PREAD64_RETURN, $return)
}
probe addevent.iosyscall.pwrite64 = addevent.iosyscall.pwrite64.entry, addevent.iosyscall.pwrite64.return{
}
probe addevent.iosyscall.pwrite64.entry = _addevent.iosyscall.pwrite64.entry{
update_record()
}
probe _addevent.iosyscall.pwrite64.entry = syscall.pwrite64{
log_iosyscall_pread64_pwrite64(HOOKID_IOSYSCALL_PWRITE64_ENTRY, fd, buf_uaddr, count, offset)
;
}
probe addevent.iosyscall.pwrite64.return = _addevent.iosyscall.pwrite64.return{
update_record()
}
probe _addevent.iosyscall.pwrite64.return = syscall.pwrite64.return{
log_iosyscall_return(HOOKID_IOSYSCALL_PWRITE64_RETURN, $return)
}
probe addevent.iosyscall.readahead = addevent.iosyscall.readahead.entry, addevent.iosyscall.readahead.return{
}
probe addevent.iosyscall.readahead.entry = _addevent.iosyscall.readahead.entry{
update_record()
}
probe _addevent.iosyscall.readahead.entry = syscall.readahead{
log_iosyscall_readahead(fd, offset, count)
}
probe addevent.iosyscall.readahead.return = _addevent.iosyscall.readahead.return{
update_record()
}
probe _addevent.iosyscall.readahead.return = syscall.readahead.return{
log_iosyscall_return(HOOKID_IOSYSCALL_READAHEAD_RETURN, $return)
}
probe addevent.iosyscall.sendfile = addevent.iosyscall.sendfile.entry, addevent.iosyscall.sendfile.return{
}
probe addevent.iosyscall.sendfile.entry = _addevent.iosyscall.sendfile.entry{
update_record()
}
probe _addevent.iosyscall.sendfile.entry = syscall.sendfile{
log_iosyscall_sendfile(out_fd, in_fd, offset_uaddr, count)
}
probe addevent.iosyscall.sendfile.return = _addevent.iosyscall.sendfile.return{
update_record()
}
probe _addevent.iosyscall.sendfile.return = syscall.sendfile.return{
log_iosyscall_return(HOOKID_IOSYSCALL_SENDFILE_RETURN, $return)
}
probe addevent.iosyscall.lseek = addevent.iosyscall.lseek.entry, addevent.iosyscall.lseek.return{
}
probe addevent.iosyscall.lseek.entry = _addevent.iosyscall.lseek.entry{
update_record()
}
probe _addevent.iosyscall.lseek.entry = syscall.lseek{
log_iosyscall_lseek(fildes, offset, whence)
}
probe addevent.iosyscall.lseek.return = _addevent.iosyscall.lseek.return{
update_record()
}
probe _addevent.iosyscall.lseek.return = syscall.lseek.return{
log_iosyscall_return(HOOKID_IOSYSCALL_LSEEK_RETURN, $return)
}
probe addevent.iosyscall.llseek = addevent.iosyscall.llseek.entry, addevent.iosyscall.llseek.return{
}
probe addevent.iosyscall.llseek.entry = _addevent.iosyscall.llseek.entry{
update_record()
}
probe _addevent.iosyscall.llseek.entry = syscall.llseek{
log_iosyscall_llseek(fd, offset_high, offset_low, result_uaddr, whence)
}
probe addevent.iosyscall.llseek.return = _addevent.iosyscall.llseek.return{
update_record()
}
probe _addevent.iosyscall.llseek.return = syscall.llseek.return{
log_iosyscall_return(HOOKID_IOSYSCALL_LLSEEK_RETURN, $return)
}
probe addevent.iosyscall.sync = addevent.iosyscall.sync.entry, addevent.iosyscall.sync.return{
}
probe addevent.iosyscall.sync.entry = _addevent.iosyscall.sync.entry{
update_record()
}
probe _addevent.iosyscall.sync.entry = syscall.sync{
log_iosyscall_sync()
}
probe addevent.iosyscall.sync.return = _addevent.iosyscall.sync.return{
update_record()
}
probe _addevent.iosyscall.sync.return = syscall.sync.return{
log_iosyscall_return(HOOKID_IOSYSCALL_SYNC_RETURN, $return)
}
probe addevent.iosyscall.fsync = addevent.iosyscall.fsync.entry, addevent.iosyscall.fsync.return{
}
probe addevent.iosyscall.fsync.entry = _addevent.iosyscall.fsync.entry{
update_record()
}
probe _addevent.iosyscall.fsync.entry = syscall.fsync{
log_iosyscall_fsync(HOOKID_IOSYSCALL_FSYNC_ENTRY, fd)
}
probe addevent.iosyscall.fsync.return = _addevent.iosyscall.fsync.return{
update_record()
}
probe _addevent.iosyscall.fsync.return = syscall.fsync.return{
log_iosyscall_return(HOOKID_IOSYSCALL_FSYNC_RETURN, $return)
}
probe addevent.iosyscall.fdatasync = addevent.iosyscall.fdatasync.entry, addevent.iosyscall.fdatasync.return{
}
probe addevent.iosyscall.fdatasync.entry = _addevent.iosyscall.fdatasync.entry{
update_record()
}
probe _addevent.iosyscall.fdatasync.entry = syscall.fdatasync{
log_iosyscall_fsync(HOOKID_IOSYSCALL_FDATASYNC_ENTRY, fd)
}
probe addevent.iosyscall.fdatasync.return = _addevent.iosyscall.fdatasync.return{
update_record()
}
probe _addevent.iosyscall.fdatasync.return = syscall.fdatasync.return{
log_iosyscall_return(HOOKID_IOSYSCALL_FDATASYNC_RETURN, $return)
}
probe addevent.iosyscall.flock = addevent.iosyscall.flock.entry, addevent.iosyscall.flock.return{
}
probe addevent.iosyscall.flock.entry = _addevent.iosyscall.flock.entry{
update_record()
}
probe _addevent.iosyscall.flock.entry = syscall.flock{
log_iosyscall_flock(fd, operation)
}
probe addevent.iosyscall.flock.return = _addevent.iosyscall.flock.return{
update_record()
}
probe _addevent.iosyscall.flock.return = syscall.flock.return{
log_iosyscall_return(HOOK
probe _addevent.iosyscall.readahead.entry = syscall.readahead{
log_iosyscall_readahead(fd, offset, count)
}
probe addevent.iosyscall.readahead.return = _addevent.iosyscall.readahead.return{
update_record()
}
probe _addevent.iosyscall.readahead.return = syscall.readahead.return{
log_iosyscall_return(HOOKID_IOSYSCALL_READAHEAD_RETURN, $return)
}
probe addevent.iosyscall.sendfile = addevent.iosyscall.sendfile.entry, addevent.iosyscall.sendfile.return{
}
probe addevent.iosyscall.sendfile.entry = _addevent.iosyscall.sendfile.entry{
update_record()
}
probe _addevent.iosyscall.sendfile.entry = syscall.sendfile{
log_iosyscall_sendfile(out_fd, in_fd, offset_uaddr, count)
}
probe addevent.iosyscall.sendfile.return = _addevent.iosyscall.sendfile.return{
update_record()
}
probe _addevent.iosyscall.sendfile.return = syscall.sendfile.return{
log_iosyscall_return(HOOKID_IOSYSCALL_SENDFILE_RETURN, $return)
}
probe addevent.iosyscall.lseek = addevent.iosyscall.lseek.entry, addevent.iosyscall.lseek.return{
}
probe addevent.iosyscall.lseek.entry = _addevent.iosyscall.lseek.entry{
update_record()
}
probe _addevent.iosyscall.lseek.entry = syscall.lseek{
log_iosyscall_lseek(fildes, offset, whence)
}
probe addevent.iosyscall.lseek.return = _addevent.iosyscall.lseek.return{
update_record()
}
probe _addevent.iosyscall.lseek.return = syscall.lseek.return{
log_iosyscall_return(HOOKID_IOSYSCALL_LSEEK_RETURN, $return)
}
probe addevent.iosyscall.llseek = addevent.iosyscall.llseek.entry, addevent.iosyscall.llseek.return{
}
probe addevent.iosyscall.llseek.entry = _addevent.iosyscall.llseek.entry{
update_record()
}
probe _addevent.iosyscall.llseek.entry = syscall.llseek{
log_iosyscall_llseek(fd, offset_high, offset_low, result_uaddr, whence)
}
probe addevent.iosyscall.llseek.return = _addevent.iosyscall.llseek.return{
update_record()
}
probe _addevent.iosyscall.llseek.return = syscall.llseek.return{
log_iosyscall_return(HOOKID_IOSYSCALL_LLSEEK_RETURN, $return)
}
probe addevent.iosyscall.sync = addevent.iosyscall.sync.entry, addevent.iosyscall.sync.return{
}
probe addevent.iosyscall.sync.entry = _addevent.iosyscall.sync.entry{
update_record()
}
probe _addevent.iosyscall.sync.entry = syscall.sync{
log_iosyscall_sync()
}
probe addevent.iosyscall.sync.return = _addevent.iosyscall.sync.return{
update_record()
}
probe _addevent.iosyscall.sync.return = syscall.sync.return{
log_iosyscall_return(HOOKID_IOSYSCALL_SYNC_RETURN, $return)
}
probe addevent.iosyscall.fsync = addevent.iosyscall.fsync.entry, addevent.iosyscall.fsync.return{
}
probe addevent.iosyscall.fsync.entry = _addevent.iosyscall.fsync.entry{
update_record()
}
probe _addevent.iosyscall.fsync.entry = syscall.fsync{
log_iosyscall_fsync(HOOKID_IOSYSCALL_FSYNC_ENTRY, fd)
}
probe addevent.iosyscall.fsync.return = _addevent.iosyscall.fsync.return{
update_record()
}
probe _addevent.iosyscall.fsync.return = syscall.fsync.return{
log_iosyscall_return(HOOKID_IOSYSCALL_FSYNC_RETURN, $return)
}
probe addevent.iosyscall.fdatasync = addevent.iosyscall.fdatasync.entry, addevent.iosyscall.fdatasync.return{
}
probe addevent.iosyscall.fdatasync.entry = _addevent.iosyscall.fdatasync.entry{
update_record()
}
probe _addevent.iosyscall.fdatasync.entry = syscall.fdatasync{
log_iosyscall_fsync(HOOKID_IOSYSCALL_FDATASYNC_ENTRY, fd)
}
probe addevent.iosyscall.fdatasync.return = _addevent.iosyscall.fdatasync.return{
update_record()
}
probe _addevent.iosyscall.fdatasync.return = syscall.fdatasync.return{
log_iosyscall_return(HOOKID_IOSYSCALL_FDATASYNC_RETURN, $return)
}
probe addevent.iosyscall.flock = addevent.iosyscall.flock.entry, addevent.iosyscall.flock.return{
}
probe addevent.iosyscall.flock.entry = _addevent.iosyscall.flock.entry{
update_record()
}
probe _addevent.iosyscall.flock.entry = syscall.flock{
log_iosyscall_flock(fd, operation)
}
probe addevent.iosyscall.flock.return = _addevent.iosyscall.flock.return{
update_record()
}
probe _addevent.iosyscall.flock.return = syscall.flock.return{
ID_IOSYSCALL_FLOCK_RETURN, $return)
}
function log_iosyscall_open (filename, flags, mode)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_OPEN_ENTRY,
"%0s%4b%4b", THIS->filename, THIS->flags, THIS->mode);
%}
function log_iosyscall_return (hookid, ret_val)
%{
_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b", THIS->ret_val);
%}
function log_iosyscall_close (fd)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_CLOSE_ENTRY, "%8b", THIS->fd);
%}
function log_iosyscall_read (fd, buf_uaddr, count)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READ_ENTRY, "%8b%8b%8b",
THIS->fd, THIS->buf_uaddr, THIS->count);
%}
function log_iosyscall_write (fd, buf_uaddr, count)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITE_ENTRY, "%8b%8b%8b",
THIS->fd, THIS->buf_uaddr, THIS->count);
%}
function log_iosyscall_readv_writev (hookid, fd, vector_uaddr, count)
%{
_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b%8b%8b",
THIS->fd, THIS->vector_uaddr, THIS->count);
%}
function log_iosyscall_pread64_pwrite64 (hookid, fd, buf_uaddr, count, offset)
%{
_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b%8b%8b%8b",
THIS->fd, THIS->buf_uaddr, THIS->count, THIS->offset);
%}
function log_iosyscall_readahead (fd, offset, count)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READAHEAD_ENTRY,
"%8b%8b%8b", THIS->fd, THIS->offset, THIS->count);
%}
function log_iosyscall_sendfile (out_fd, in_fd, offset_uaddr, count)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SENDFILE_ENTRY, "%8b%8b%8b%8b",
THIS->out_fd, THIS->in_fd, THIS->offset_uaddr, THIS->count);
%}
function log_iosyscall_lseek (fd, offset, whence)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LSEEK_ENTRY,
"%8b%8b%1b", THIS->fd, THIS->offset, THIS->whence);
%}
function log_iosyscall_llseek (fd, offset_high, offset_low, result_uaddr, whence)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LLSEEK_ENTRY,
"%8b%8b%8b%8b%1b", THIS->fd, THIS->offset_high,
THIS->offset_low, THIS->result_uaddr, THIS->whence);
%}
function log_iosyscall_sync ()
%{
int GroupID = _GROUP_IOSYSCALL;
int hookID = _HOOKID_IOSYSCALL_SYNC_ENTRY;
struct timeval tv;
do_gettimeofday(&tv);
#if defined(ASCII_TRACE)
_stp_printf("%d%d%d%d%d%d%d%d", _GROUP_IOSYSCALL,
_HOOKID_IOSYSCALL_SYNC_ENTRY, tv.tv_sec, tv.tv_usec,
current->tgid, current->parent->pid, current->pid,
current->thread_info->cpu);
#else
if(timing_method == TIMING_GETCYCLES) {
_stp_printf("%2b%2n%8b%8b", (_FMT_)0,
(_FMT_)get_cycles(),
(_FMT_)((int64_t)current->pid << 32 |
(int32_t)GroupID << 24 | (int32_t)hookID << 16 |
(int16_t)current->thread_info->cpu << 8));
}
else if(timing_method == TIMING_GETTIMEOFDAY) {
struct timeval tv;
do_gettimeofday (&tv);
_stp_printf("%2b%2n%8b%8b", (_FMT_)0,
(_FMT_)(tv.tv_sec*1000000LL + tv.tv_usec),
(_FMT_)((int64_t)current->pid << 32 |
(int32_t)GroupID << 24 | (int32_t)hookID << 16 |
(int16_t)current->thread_info->cpu << 8));
}
else {
_stp_printf("%2b%2n%8b%8b", (_FMT_)0,
(_FMT_)pfn_schedclock(),
(_FMT_)((int64_t)current->pid << 32 |
(int32_t)GroupID << 24 | (int32_t)hookID << 16 |
(int16_t)current->thread_info->cpu << 8));
}
#endif
%}
function log_iosyscall_fsync (hookid, fd)
%{
_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b", THIS->fd);
%}
function log_iosyscall_flock (fd, operation)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FLOCK_ENTRY,
"%8b%4b", THIS->fd, THIS->operation);
%}
# file /usr/local/share/systemtap/tapset/LKET/lket_trace.stp
%{
#include <linux/cpufreq.h>
log_iosyscall_return(HOOKID_IOSYSCALL_FLOCK_RETURN, $return)
}
function log_iosyscall_open (filename, flags, mode)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_OPEN_ENTRY,
"%0s%4b%4b", THIS->filename, THIS->flags, THIS->mode);
%}
function log_iosyscall_return (hookid, ret_val)
%{
_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b", THIS->ret_val);
%}
function log_iosyscall_close (fd)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_CLOSE_ENTRY, "%8b", THIS->fd);
%}
function log_iosyscall_read (fd, buf_uaddr, count)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READ_ENTRY, "%8b%8b%8b",
THIS->fd, THIS->buf_uaddr, THIS->count);
%}
function log_iosyscall_write (fd, buf_uaddr, count)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITE_ENTRY, "%8b%8b%8b",
THIS->fd, THIS->buf_uaddr, THIS->count);
%}
function log_iosyscall_readv_writev (hookid, fd, vector_uaddr, count)
%{
_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b%8b%8b",
THIS->fd, THIS->vector_uaddr, THIS->count);
%}
function log_iosyscall_pread64_pwrite64 (hookid, fd, buf_uaddr, count, offset)
%{
_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b%8b%8b%8b",
THIS->fd, THIS->buf_uaddr, THIS->count, THIS->offset);
%}
function log_iosyscall_readahead (fd, offset, count)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READAHEAD_ENTRY,
"%8b%8b%8b", THIS->fd, THIS->offset, THIS->count);
%}
function log_iosyscall_sendfile (out_fd, in_fd, offset_uaddr, count)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SENDFILE_ENTRY, "%8b%8b%8b%8b",
THIS->out_fd, THIS->in_fd, THIS->offset_uaddr, THIS->count);
%}
function log_iosyscall_lseek (fd, offset, whence)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LSEEK_ENTRY,
"%8b%8b%1b", THIS->fd, THIS->offset, THIS->whence);
%}
function log_iosyscall_llseek (fd, offset_high, offset_low, result_uaddr, whence)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LLSEEK_ENTRY,
"%8b%8b%8b%8b%1b", THIS->fd, THIS->offset_high,
THIS->offset_low, THIS->result_uaddr, THIS->whence);
%}
function log_iosyscall_sync ()
%{
int GroupID = _GROUP_IOSYSCALL;
int hookID = _HOOKID_IOSYSCALL_SYNC_ENTRY;
struct timeval tv;
do_gettimeofday(&tv);
#if defined(ASCII_TRACE)
_stp_printf("%d%d%d%d%d%d%d%d", _GROUP_IOSYSCALL,
_HOOKID_IOSYSCALL_SYNC_ENTRY, tv.tv_sec, tv.tv_usec,
current->tgid, current->parent->pid, current->pid,
current->thread_info->cpu);
#else
if(timing_method == TIMING_GETCYCLES) {
_stp_printf("%2b%2n%8b%8b", (_FMT_)0,
(_FMT_)get_cycles(),
(_FMT_)((int64_t)current->pid << 32 |
(int32_t)GroupID << 24 | (int32_t)hookID << 16 |
(int16_t)current->thread_info->cpu << 8));
}
else if(timing_method == TIMING_GETTIMEOFDAY) {
struct timeval tv;
do_gettimeofday (&tv);
_stp_printf("%2b%2n%8b%8b", (_FMT_)0,
(_FMT_)(tv.tv_sec*1000000LL + tv.tv_usec),
(_FMT_)((int64_t)current->pid << 32 |
(int32_t)GroupID << 24 | (int32_t)hookID << 16 |
(int16_t)current->thread_info->cpu << 8));
}
else {
_stp_printf("%2b%2n%8b%8b", (_FMT_)0,
(_FMT_)pfn_schedclock(),
(_FMT_)((int64_t)current->pid << 32 |
(int32_t)GroupID << 24 | (int32_t)hookID << 16 |
(int16_t)current->thread_info->cpu << 8));
}
#endif
%}
function log_iosyscall_fsync (hookid, fd)
%{
_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b", THIS->fd);
%}
function log_iosyscall_flock (fd, operation)
%{
_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FLOCK_ENTRY,
"%8b%4b", THIS->fd, THIS->operation);
%}
# file /usr/local/share/systemtap/tapset/LKET/lket_trace.stp
%{
#include <linux/cpufreq.h>
#if defined(ASCII_TRACE)
#ifndef _FMT_
#define _FMT_ unsigned int
#endif
#else
#ifndef _FMT_
#define _FMT_ int64_t
#endif
#endif
#ifndef TIMING_GETCYCLES
#define TIMING_GETCYCLES 0x01
#endif
#ifndef TIMING_GETTIMEOFDAY
#define TIMING_GETTIMEOFDAY 0x02
#endif
#ifndef TIMING_SCHEDCLOCK
#define TIMING_SCHEDCLOCK 0x03
#endif
extern int _GROUP_CPUFREQ;
extern int _HOOKID_SWITCH_CPUFREQ;
extern long timing_method;
#ifndef _PFN_SCHEDCLOCK_TYPE
#define _PFN_SCHEDCLOCK_TYPE
typedef unsigned long long (* pfn_schedclock_type)(void);
#endif
extern pfn_schedclock_type pfn_schedclock;
%}%{
#ifndef __LKET_TRACE__
#define __LKET_TRACE__
#define LKET_PKT_BT 2
#define MAX_FMT_LEN 128
char new_sysfmt[MAX_FMT_LEN] = "\n%d|%d|%d|%d|%d|%d|%d|%d";
#define NEW_SYSFMT_START 24
void fmt_change(char *oldfmt, char *newfmt, int newfmt_start)
{
char *old_ptr, *new_ptr;
old_ptr = oldfmt;
new_ptr = newfmt + newfmt_start;
while(*old_ptr != 0 && (new_ptr - newfmt) < MAX_FMT_LEN) {
if(*old_ptr != '%') {
*new_ptr++ = *old_ptr++;
continue;
} else {
*new_ptr++ = '|'; /* delimier to make it readable */
*new_ptr++ = *old_ptr++;
while( *old_ptr == 'L' || *old_ptr == 'l'
|| isdigit(*old_ptr) ) {
*new_ptr++ = *old_ptr++;
}
if( *old_ptr == 'b') {
if(isdigit(*(old_ptr-1))) {
if(*(old_ptr-1) == '1' ||
*(old_ptr-1) == '2' ||
*(old_ptr-1) == '3' ||
*(old_ptr-1) == '4') {
new_ptr--;
} else if(*(old_ptr-1) == '8') {
*--new_ptr='l';
*++new_ptr='l';
new_ptr++;
}
}
*new_ptr++ = 'd';
old_ptr++;
}
else if ( *old_ptr == 's') {
if(isdigit(*(old_ptr-1)) && *(old_ptr-1)=='0')
new_ptr--;
*new_ptr++ = 's';
old_ptr++;
} else
*new_ptr++ = *old_ptr++;
}
}
*new_ptr=0;
}
/* trace data in ASCII format
Format of the common prefix of the trace data:
groupid|subhookid|sec|usec|tgid|ppid|pid|cpuid|
*/
#if defined(ASCII_TRACE)
#define _lket_trace(GroupID, hookID, fmt, args...) do { \
struct timeval tv; \
do_gettimeofday (&tv); \
fmt_change(fmt, new_sysfmt, NEW_SYSFMT_START); \
_stp_printf(new_sysfmt, \
(_FMT_)GroupID, (_FMT_)hookID, (_FMT_)tv.tv_sec, (_FMT_)tv.tv_usec,\
(_FMT_)current->tgid, (_FMT_)current->parent->tgid,\
(_FMT_)current->pid, (_FMT_)current->thread_info->cpu, args);\
} while(0)
#else //binary trace
static inline int this_event_len(void)
{
return 0;
}
/* we use 2 bytes to store the length. */
#define _lket_trace(GroupID, hookID, fmt, args...) do { \
if(timing_method == TIMING_GETCYCLES) { \
_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \
(_FMT_)get_cycles(), \
(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\
(_FMT_)((int64_t)current->parent->tgid << 32 | \
(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \
(int16_t)current->thread_info->cpu << 8), \
args); \
} \
else if(timing_method == TIMING_GETTIMEOFDAY) { \
struct timeval tv; \
do_gettimeofday (&tv); \
_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \
(_FMT_)(tv.tv_sec*1000000LL + tv.tv_usec), \
(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\
(_FMT_)((int64_t)current->parent->tgid << 32 | \
(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \
(int16_t)current->thread_info->cpu << 8), \
args); \
} \
else { \
_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \
(_FMT_)pfn_schedclock(), \
(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\
(_FMT_)((int64_t)current->parent->tgid << 32 | \
(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \
(int16_t)current->thread_info->cpu << 8), \
args); \
} \
} while(0)
#endif
#endif
%}%{
#ifdef CONFIG_CPU_FREQ
static int __lket_time_cpufreq_callback(struct notifier_block *self,
unsigned long state, void *vfreqs)
{
int cpu;
unsigned long flags;
struct cpufreq_freqs *freqs;
unsigned int freq_mhz;
stp_time_t *time;
#if defined(ASCII_TRACE)
#ifndef _FMT_
#define _FMT_ unsigned int
#endif
#else
#ifndef _FMT_
#define _FMT_ int64_t
#endif
#endif
#ifndef TIMING_GETCYCLES
#define TIMING_GETCYCLES 0x01
#endif
#ifndef TIMING_GETTIMEOFDAY
#define TIMING_GETTIMEOFDAY 0x02
#endif
#ifndef TIMING_SCHEDCLOCK
#define TIMING_SCHEDCLOCK 0x03
#endif
extern int _GROUP_CPUFREQ;
extern int _HOOKID_SWITCH_CPUFREQ;
extern long timing_method;
#ifndef _PFN_SCHEDCLOCK_TYPE
#define _PFN_SCHEDCLOCK_TYPE
typedef unsigned long long (* pfn_schedclock_type)(void);
#endif
extern pfn_schedclock_type pfn_schedclock;
%}%{
#ifndef __LKET_TRACE__
#define __LKET_TRACE__
#define LKET_PKT_BT 2
#define MAX_FMT_LEN 128
char new_sysfmt[MAX_FMT_LEN] = "\n%d|%d|%d|%d|%d|%d|%d|%d";
#define NEW_SYSFMT_START 24
void fmt_change(char *oldfmt, char *newfmt, int newfmt_start)
{
char *old_ptr, *new_ptr;
old_ptr = oldfmt;
new_ptr = newfmt + newfmt_start;
while(*old_ptr != 0 && (new_ptr - newfmt) < MAX_FMT_LEN) {
if(*old_ptr != '%') {
*new_ptr++ = *old_ptr++;
continue;
} else {
*new_ptr++ = '|'; /* delimier to make it readable */
*new_ptr++ = *old_ptr++;
while( *old_ptr == 'L' || *old_ptr == 'l'
|| isdigit(*old_ptr) ) {
*new_ptr++ = *old_ptr++;
}
if( *old_ptr == 'b') {
if(isdigit(*(old_ptr-1))) {
if(*(old_ptr-1) == '1' ||
*(old_ptr-1) == '2' ||
*(old_ptr-1) == '3' ||
*(old_ptr-1) == '4') {
new_ptr--;
} else if(*(old_ptr-1) == '8') {
*--new_ptr='l';
*++new_ptr='l';
new_ptr++;
}
}
*new_ptr++ = 'd';
old_ptr++;
}
else if ( *old_ptr == 's') {
if(isdigit(*(old_ptr-1)) && *(old_ptr-1)=='0')
new_ptr--;
*new_ptr++ = 's';
old_ptr++;
} else
*new_ptr++ = *old_ptr++;
}
}
*new_ptr=0;
}
/* trace data in ASCII format
Format of the common prefix of the trace data:
groupid|subhookid|sec|usec|tgid|ppid|pid|cpuid|
*/
#if defined(ASCII_TRACE)
#define _lket_trace(GroupID, hookID, fmt, args...) do { \
struct timeval tv; \
do_gettimeofday (&tv); \
fmt_change(fmt, new_sysfmt, NEW_SYSFMT_START); \
_stp_printf(new_sysfmt, \
(_FMT_)GroupID, (_FMT_)hookID, (_FMT_)tv.tv_sec, (_FMT_)tv.tv_usec,\
(_FMT_)current->tgid, (_FMT_)current->parent->tgid,\
(_FMT_)current->pid, (_FMT_)current->thread_info->cpu, args);\
} while(0)
#else //binary trace
static inline int this_event_len(void)
{
return 0;
}
/* we use 2 bytes to store the length. */
#define _lket_trace(GroupID, hookID, fmt, args...) do { \
if(timing_method == TIMING_GETCYCLES) { \
_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \
(_FMT_)get_cycles(), \
(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\
(_FMT_)((int64_t)current->parent->tgid << 32 | \
(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \
(int16_t)current->thread_info->cpu << 8), \
args); \
} \
else if(timing_method == TIMING_GETTIMEOFDAY) { \
struct timeval tv; \
do_gettimeofday (&tv); \
_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \
(_FMT_)(tv.tv_sec*1000000LL + tv.tv_usec), \
(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\
(_FMT_)((int64_t)current->parent->tgid << 32 | \
(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \
(int16_t)current->thread_info->cpu << 8), \
args); \
} \
else { \
_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \
(_FMT_)pfn_schedclock(), \
(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\
(_FMT_)((int64_t)current->parent->tgid << 32 | \
(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \
(int16_t)current->thread_info->cpu << 8), \
args); \
} \
} while(0)
#endif
#endif
%}%{
#ifdef CONFIG_CPU_FREQ
static int __lket_time_cpufreq_callback(struct notifier_block *self,
unsigned long state, void *vfreqs)
{
int cpu;
unsigned long flags;
struct cpufreq_freqs *freqs;
unsigned int freq_mhz;
stp_time_t *time;
switch (state) {
case CPUFREQ_POSTCHANGE:
case CPUFREQ_RESUMECHANGE:
_lket_trace(_GROUP_CPUFREQ, _HOOKID_SWITCH_CPUFREQ,
"%8b", __stp_estimate_cpufreq());
break;
}
return NOTIFY_OK;
}
#endif
%}function lket_trace_header_init ()
%{
/* header info for binary format*/
#if !defined(ASCII_TRACE)
#define MAGIC_NUMBER 0xAEFCDB6B
#define LKET_TRACE_VER_MAJOR 0x01
#define LKET_TRACE_VER_MINOR 0x01 /* used for user customization */
#define LITTLE_ENDIAN 0x01
#define BIG_ENDIAN 0x02
#define BITS_WIDTH 64 /* 32-bit or 64-bit environment*/
_stp_printf("%4b%2n%1b%1b%1b%1b%1b%4b", (_FMT_)MAGIC_NUMBER,
(_FMT_)LKET_TRACE_VER_MAJOR, (_FMT_)LKET_TRACE_VER_MINOR,
(_FMT_)BIG_ENDIAN, (_FMT_)timing_method,
(_FMT_)BITS_WIDTH, (_FMT_)__stp_estimate_cpufreq());
_stp_print_flush();
#endif
%}
function lket_trace_init ()
{
lket_trace_header_init()
}
function update_record ()
%{
#if !defined(ASCII_TRACE)
_stp_pbuf *pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
char *total_length = &(pb->buf[0]);
*(int16_t *)total_length = pb->len - 4;
#endif
%}
# file /usr/local/share/systemtap/tapset/LKET/netdev.stp
%{
#include <linux/netdevice.h>
%}probe addevent.netdev = addevent.netdev.receive, addevent.netdev.transmit{
}
probe addevent.netdev.receive = _addevent.netdev.receive{
update_record()
}
probe _addevent.netdev.receive = netdev.receive{
log_netdev_extra(HOOKID_NETDEV_RECEIVE, dev_name, length, protocol, truesize)
}
probe addevent.netdev.transmit = _addevent.netdev.transmit{
update_record()
}
probe _addevent.netdev.transmit = netdev.transmit{
log_netdev_extra(HOOKID_NETDEV_TRANSMIT, dev_name, length, protocol, truesize)
}
function log_netdev_extra (var_id, dev_name, len, protocol, truesize)
%{
/* dev_name | Length of actual data | protocol | Buffer size
skb->protocol is:
0800 IP
8100 802.1Q VLAN
0001 802.3
0002 AX.25
0004 802.2
8035 RARP
0005 SNAP
0805 X.25
0806 ARP
8137 IPX
0009 Localtalk
86DD IPv6
*/
_lket_trace(_GROUP_NETDEV, THIS->var_id, "%0s%4b%2b%4b", THIS->dev_name,
THIS->len, THIS->protocol, THIS->truesize);
%}
# file /usr/local/share/systemtap/tapset/LKET/nfs.stp
%{
void getdevice(char * ,int * ,int *);
%}probe addevent.nfs = addevent.nfs.entry, addevent.nfs.return{
}
probe addevent.nfs.entry = addevent.nfs.fop.entry, addevent.nfs.aop.entry, addevent.nfs.proc.entry{
}
probe addevent.nfs.return = addevent.nfs.fop.return, addevent.nfs.aop.return, addevent.nfs.proc.return{
}
probe addevent.nfs.fop = addevent.nfs.fop.entry, addevent.nfs.fop.return{
}
probe addevent.nfs.fop.entry = addevent.nfs.fop.llseek.entry, addevent.nfs.fop.read.entry, addevent.nfs.fop.write.entry, addevent.nfs.fop.aio_read.entry, addevent.nfs.fop.aio_write.entry, addevent.nfs.fop.mmap.entry, addevent.nfs.fop.open.entry, addevent.nfs.fop.flush.entry, addevent.nfs.fop.release.entry, addevent.nfs.fop.fsync.entry, addevent.nfs.fop.lock.entry, addevent.nfs.fop.sendfile.entry, addevent.nfs.fop.check_flags.entry{
}
probe addevent.nfs.fop.return = addevent.nfs.fop.llseek.return, addevent.nfs.fop.read.return, addevent.nfs.fop.write.return, addevent.nfs.fop.aio_read.return, addevent.nfs.fop.aio_write.return, addevent.nfs.fop.mmap.return, addevent.nfs.fop.open.return, addevent.nfs.fop.flush.return, addevent.nfs.fop.release.return, addevent.nfs.fop.fsync.return, addevent.nfs.fop.lock.return, addevent.nfs.fop.sendfile.return{
}
probe addevent.nfs.fop.llseek.entry = _addevent.nfs.fop.llseek.entry{
update_record()
}
probe _addevent.nfs.fop.llseek.entry = nfs.fop.llseek{
log_fop_llseek(s_id, fileid, offset, origin)
}
probe addevent.nfs.fop.llseek.return = _addevent.nfs.fop.llseek.return{
update_record()
}
probe _addevent.nfs.fop.llseek.return = nfs.fop.llseek.return{
log_nfs_return(HOOKID_NFS_FOP_LLSEEK_RETURN, $return)
}
probe addevent.nfs.fop.read.entry = _addevent.nfs.fop.read.entry{
update_record()
switch (state) {
case CPUFREQ_POSTCHANGE:
case CPUFREQ_RESUMECHANGE:
_lket_trace(_GROUP_CPUFREQ, _HOOKID_SWITCH_CPUFREQ,
"%8b", __stp_estimate_cpufreq());
break;
}
return NOTIFY_OK;
}
#endif
%}function lket_trace_header_init ()
%{
/* header info for binary format*/
#if !defined(ASCII_TRACE)
#define MAGIC_NUMBER 0xAEFCDB6B
#define LKET_TRACE_VER_MAJOR 0x01
#define LKET_TRACE_VER_MINOR 0x01 /* used for user customization */
#define LITTLE_ENDIAN 0x01
#define BIG_ENDIAN 0x02
#define BITS_WIDTH 64 /* 32-bit or 64-bit environment*/
_stp_printf("%4b%2n%1b%1b%1b%1b%1b%4b", (_FMT_)MAGIC_NUMBER,
(_FMT_)LKET_TRACE_VER_MAJOR, (_FMT_)LKET_TRACE_VER_MINOR,
(_FMT_)BIG_ENDIAN, (_FMT_)timing_method,
(_FMT_)BITS_WIDTH, (_FMT_)__stp_estimate_cpufreq());
_stp_print_flush();
#endif
%}
function lket_trace_init ()
{
lket_trace_header_init()
}
function update_record ()
%{
#if !defined(ASCII_TRACE)
_stp_pbuf *pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
char *total_length = &(pb->buf[0]);
*(int16_t *)total_length = pb->len - 4;
#endif
%}
# file /usr/local/share/systemtap/tapset/LKET/netdev.stp
%{
#include <linux/netdevice.h>
%}probe addevent.netdev = addevent.netdev.receive, addevent.netdev.transmit{
}
probe addevent.netdev.receive = _addevent.netdev.receive{
update_record()
}
probe _addevent.netdev.receive = netdev.receive{
log_netdev_extra(HOOKID_NETDEV_RECEIVE, dev_name, length, protocol, truesize)
}
probe addevent.netdev.transmit = _addevent.netdev.transmit{
update_record()
}
probe _addevent.netdev.transmit = netdev.transmit{
log_netdev_extra(HOOKID_NETDEV_TRANSMIT, dev_name, length, protocol, truesize)
}
function log_netdev_extra (var_id, dev_name, len, protocol, truesize)
%{
/* dev_name | Length of actual data | protocol | Buffer size
skb->protocol is:
0800 IP
8100 802.1Q VLAN
0001 802.3
0002 AX.25
0004 802.2
8035 RARP
0005 SNAP
0805 X.25
0806 ARP
8137 IPX
0009 Localtalk
86DD IPv6
*/
_lket_trace(_GROUP_NETDEV, THIS->var_id, "%0s%4b%2b%4b", THIS->dev_name,
THIS->len, THIS->protocol, THIS->truesize);
%}
# file /usr/local/share/systemtap/tapset/LKET/nfs.stp
%{
void getdevice(char * ,int * ,int *);
%}probe addevent.nfs = addevent.nfs.entry, addevent.nfs.return{
}
probe addevent.nfs.entry = addevent.nfs.fop.entry, addevent.nfs.aop.entry, addevent.nfs.proc.entry{
}
probe addevent.nfs.return = addevent.nfs.fop.return, addevent.nfs.aop.return, addevent.nfs.proc.return{
}
probe addevent.nfs.fop = addevent.nfs.fop.entry, addevent.nfs.fop.return{
}
probe addevent.nfs.fop.entry = addevent.nfs.fop.llseek.entry, addevent.nfs.fop.read.entry, addevent.nfs.fop.write.entry, addevent.nfs.fop.aio_read.entry, addevent.nfs.fop.aio_write.entry, addevent.nfs.fop.mmap.entry, addevent.nfs.fop.open.entry, addevent.nfs.fop.flush.entry, addevent.nfs.fop.release.entry, addevent.nfs.fop.fsync.entry, addevent.nfs.fop.lock.entry, addevent.nfs.fop.sendfile.entry, addevent.nfs.fop.check_flags.entry{
}
probe addevent.nfs.fop.return = addevent.nfs.fop.llseek.return, addevent.nfs.fop.read.return, addevent.nfs.fop.write.return, addevent.nfs.fop.aio_read.return, addevent.nfs.fop.aio_write.return, addevent.nfs.fop.mmap.return, addevent.nfs.fop.open.return, addevent.nfs.fop.flush.return, addevent.nfs.fop.release.return, addevent.nfs.fop.fsync.return, addevent.nfs.fop.lock.return, addevent.nfs.fop.sendfile.return{
}
probe addevent.nfs.fop.llseek.entry = _addevent.nfs.fop.llseek.entry{
update_record()
}
probe _addevent.nfs.fop.llseek.entry = nfs.fop.llseek{
log_fop_llseek(s_id, fileid, offset, origin)
}
probe addevent.nfs.fop.llseek.return = _addevent.nfs.fop.llseek.return{
update_record()
}
probe _addevent.nfs.fop.llseek.return = nfs.fop.llseek.return{
log_nfs_return(HOOKID_NFS_FOP_LLSEEK_RETURN, $return)
}
probe addevent.nfs.fop.read.entry = _addevent.nfs.fop.read.entry{
update_record()
}
probe _addevent.nfs.fop.read.entry = nfs.fop.read{
(filesystem) = (__file_fsname($filp))
if ((filesystem) == ("nfs")) log_fop_rw(HOOKID_NFS_FOP_READ_ENTRY, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.read.return = _addevent.nfs.fop.read.return{
update_record()
}
probe _addevent.nfs.fop.read.return = nfs.fop.read.return{
}
probe addevent.nfs.fop.write.entry = _addevent.nfs.fop.write.entry{
update_record()
}
probe _addevent.nfs.fop.write.entry = nfs.fop.write{
(filesystem) = (__file_fsname($filp))
if ((filesystem) == ("nfs")) log_fop_rw(HOOKID_NFS_FOP_WRITE_ENTRY, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.write.return = _addevent.nfs.fop.write.return{
update_record()
}
probe _addevent.nfs.fop.write.return = nfs.fop.write.return{
}
probe addevent.nfs.fop.aio_read.entry = _addevent.nfs.fop.aio_read.entry{
update_record()
}
probe _addevent.nfs.fop.aio_read.entry = nfs.fop.aio_read{
log_fop_rw(HOOKID_NFS_FOP_AIOREAD_ENTRY, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.aio_read.return = _addevent.nfs.fop.aio_read.return{
update_record()
}
probe _addevent.nfs.fop.aio_read.return = nfs.fop.aio_read.return{
log_nfs_return(HOOKID_NFS_FOP_AIOREAD_RETURN, $return)
}
probe addevent.nfs.fop.aio_write.entry = _addevent.nfs.fop.aio_write.entry{
update_record()
}
probe _addevent.nfs.fop.aio_write.entry = nfs.fop.aio_write{
log_fop_rw(HOOKID_NFS_FOP_AIOWRITE, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.aio_write.return = _addevent.nfs.fop.aio_write.return{
update_record()
}
probe _addevent.nfs.fop.aio_write.return = nfs.fop.aio_write.return{
log_nfs_return(HOOKID_NFS_FOP_AIOWRITE_RETURN, $return)
}
probe addevent.nfs.fop.mmap.entry = _addevent.nfs.fop.mmap.entry{
update_record()
}
probe _addevent.nfs.fop.mmap.entry = nfs.fop.mmap{
log_fop_mmap(s_id, fileid, vm_start, vm_end, vm_flags)
}
probe addevent.nfs.fop.mmap.return = _addevent.nfs.fop.mmap.return{
update_record()
}
probe _addevent.nfs.fop.mmap.return = nfs.fop.mmap.return{
log_nfs_return(HOOKID_NFS_FOP_MMAP_RETURN, $return)
}
probe addevent.nfs.fop.open.entry = _addevent.nfs.fop.open.entry{
update_record()
}
probe _addevent.nfs.fop.open.entry = nfs.fop.open{
log_fop_open(s_id, fileid, flag, filename)
}
probe addevent.nfs.fop.open.return = _addevent.nfs.fop.open.return{
update_record()
}
probe _addevent.nfs.fop.open.return = nfs.fop.open.return{
log_nfs_return(HOOKID_NFS_FOP_OPEN_RETURN, $return)
}
probe addevent.nfs.fop.flush.entry = _addevent.nfs.fop.flush.entry{
update_record()
}
probe _addevent.nfs.fop.flush.entry = nfs.fop.flush{
log_fop_flush(s_id, fileid, ndirty)
}
probe addevent.nfs.fop.flush.return = _addevent.nfs.fop.flush.return{
update_record()
}
probe _addevent.nfs.fop.flush.return = nfs.fop.flush.return{
log_nfs_return(HOOKID_NFS_FOP_FLUSH_RETURN, $return)
}
probe addevent.nfs.fop.release.entry = _addevent.nfs.fop.release.entry{
update_record()
}
probe _addevent.nfs.fop.release.entry = nfs.fop.release{
log_fop_release(s_id, fileid, mode)
}
probe addevent.nfs.fop.release.return = _addevent.nfs.fop.release.return{
update_record()
}
probe _addevent.nfs.fop.release.return = nfs.fop.release.return{
log_nfs_return(HOOKID_NFS_FOP_RELEASE_RETURN, $return)
}
probe addevent.nfs.fop.fsync.entry = _addevent.nfs.fop.fsync.entry{
update_record()
}
probe _addevent.nfs.fop.fsync.entry = nfs.fop.fsync{
log_fop_fsync(s_id, fileid, ndirty)
}
probe addevent.nfs.fop.fsync.return = _addevent.nfs.fop.fsync.return{
update_record()
}
probe _addevent.nfs.fop.fsync.return = nfs.fop.fsync.return{
log_nfs_return(HOOKID_NFS_FOP_FSYNC_RETURN, $return)
}
probe addevent.nfs.fop.lock.entry = _addevent.nfs.fop.lock.entry{
update_record()
}
probe _addevent.nfs.fop.lock.entry = nfs.fop.lock{
log_fop_lock(s_id, fileid, fl_start, fl_end, fl_type, fl_flag, cmd)
}
probe addevent.nfs.fop.lock.return = _addevent.nfs.fop.lock.return{
update_record()
}
probe _addevent.nfs.fop.lock.return = nfs.fop.lock.return{
log_nfs_return(HOOKID_NFS_FOP_LOCK_RETURN, $r
}
probe _addevent.nfs.fop.read.entry = nfs.fop.read{
(filesystem) = (__file_fsname($filp))
if ((filesystem) == ("nfs")) log_fop_rw(HOOKID_NFS_FOP_READ_ENTRY, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.read.return = _addevent.nfs.fop.read.return{
update_record()
}
probe _addevent.nfs.fop.read.return = nfs.fop.read.return{
}
probe addevent.nfs.fop.write.entry = _addevent.nfs.fop.write.entry{
update_record()
}
probe _addevent.nfs.fop.write.entry = nfs.fop.write{
(filesystem) = (__file_fsname($filp))
if ((filesystem) == ("nfs")) log_fop_rw(HOOKID_NFS_FOP_WRITE_ENTRY, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.write.return = _addevent.nfs.fop.write.return{
update_record()
}
probe _addevent.nfs.fop.write.return = nfs.fop.write.return{
}
probe addevent.nfs.fop.aio_read.entry = _addevent.nfs.fop.aio_read.entry{
update_record()
}
probe _addevent.nfs.fop.aio_read.entry = nfs.fop.aio_read{
log_fop_rw(HOOKID_NFS_FOP_AIOREAD_ENTRY, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.aio_read.return = _addevent.nfs.fop.aio_read.return{
update_record()
}
probe _addevent.nfs.fop.aio_read.return = nfs.fop.aio_read.return{
log_nfs_return(HOOKID_NFS_FOP_AIOREAD_RETURN, $return)
}
probe addevent.nfs.fop.aio_write.entry = _addevent.nfs.fop.aio_write.entry{
update_record()
}
probe _addevent.nfs.fop.aio_write.entry = nfs.fop.aio_write{
log_fop_rw(HOOKID_NFS_FOP_AIOWRITE, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.aio_write.return = _addevent.nfs.fop.aio_write.return{
update_record()
}
probe _addevent.nfs.fop.aio_write.return = nfs.fop.aio_write.return{
log_nfs_return(HOOKID_NFS_FOP_AIOWRITE_RETURN, $return)
}
probe addevent.nfs.fop.mmap.entry = _addevent.nfs.fop.mmap.entry{
update_record()
}
probe _addevent.nfs.fop.mmap.entry = nfs.fop.mmap{
log_fop_mmap(s_id, fileid, vm_start, vm_end, vm_flags)
}
probe addevent.nfs.fop.mmap.return = _addevent.nfs.fop.mmap.return{
update_record()
}
probe _addevent.nfs.fop.mmap.return = nfs.fop.mmap.return{
log_nfs_return(HOOKID_NFS_FOP_MMAP_RETURN, $return)
}
probe addevent.nfs.fop.open.entry = _addevent.nfs.fop.open.entry{
update_record()
}
probe _addevent.nfs.fop.open.entry = nfs.fop.open{
log_fop_open(s_id, fileid, flag, filename)
}
probe addevent.nfs.fop.open.return = _addevent.nfs.fop.open.return{
update_record()
}
probe _addevent.nfs.fop.open.return = nfs.fop.open.return{
log_nfs_return(HOOKID_NFS_FOP_OPEN_RETURN, $return)
}
probe addevent.nfs.fop.flush.entry = _addevent.nfs.fop.flush.entry{
update_record()
}
probe _addevent.nfs.fop.flush.entry = nfs.fop.flush{
log_fop_flush(s_id, fileid, ndirty)
}
probe addevent.nfs.fop.flush.return = _addevent.nfs.fop.flush.return{
update_record()
}
probe _addevent.nfs.fop.flush.return = nfs.fop.flush.return{
log_nfs_return(HOOKID_NFS_FOP_FLUSH_RETURN, $return)
}
probe addevent.nfs.fop.release.entry = _addevent.nfs.fop.release.entry{
update_record()
}
probe _addevent.nfs.fop.release.entry = nfs.fop.release{
log_fop_release(s_id, fileid, mode)
}
probe addevent.nfs.fop.release.return = _addevent.nfs.fop.release.return{
update_record()
}
probe _addevent.nfs.fop.release.return = nfs.fop.release.return{
log_nfs_return(HOOKID_NFS_FOP_RELEASE_RETURN, $return)
}
probe addevent.nfs.fop.fsync.entry = _addevent.nfs.fop.fsync.entry{
update_record()
}
probe _addevent.nfs.fop.fsync.entry = nfs.fop.fsync{
log_fop_fsync(s_id, fileid, ndirty)
}
probe addevent.nfs.fop.fsync.return = _addevent.nfs.fop.fsync.return{
update_record()
}
probe _addevent.nfs.fop.fsync.return = nfs.fop.fsync.return{
log_nfs_return(HOOKID_NFS_FOP_FSYNC_RETURN, $return)
}
probe addevent.nfs.fop.lock.entry = _addevent.nfs.fop.lock.entry{
update_record()
}
probe _addevent.nfs.fop.lock.entry = nfs.fop.lock{
log_fop_lock(s_id, fileid, fl_start, fl_end, fl_type, fl_flag, cmd)
}
probe addevent.nfs.fop.lock.return = _addevent.nfs.fop.lock.return{
update_record()
}
probe _addevent.nfs.fop.lock.return = nfs.fop.lock.return{
eturn)
}
probe addevent.nfs.fop.sendfile.entry = _addevent.nfs.fop.sendfile.entry{
update_record()
}
probe _addevent.nfs.fop.sendfile.entry = nfs.fop.sendfile{
log_fop_sendfile(s_id, fileid, count, ppos)
}
probe addevent.nfs.fop.sendfile.return = _addevent.nfs.fop.sendfile.return{
update_record()
}
probe _addevent.nfs.fop.sendfile.return = nfs.fop.sendfile.return{
log_nfs_return(HOOKID_NFS_FOP_SENDFILE_RETURN, $return)
}
probe addevent.nfs.fop.check_flags.entry = _addevent.nfs.fop.check_flags.entry{
update_record()
}
probe _addevent.nfs.fop.check_flags.entry = nfs.fop.check_flags{
log_fop_check_flags(flag)
}
probe addevent.nfs.aop = addevent.nfs.aop.entry, addevent.nfs.aop.return{
}
probe addevent.nfs.aop.entry = addevent.nfs.aop.readpage.entry, addevent.nfs.aop.readpages.entry, addevent.nfs.aop.writepage.entry, addevent.nfs.aop.writepages.entry, addevent.nfs.aop.release_page.entry?, addevent.nfs.aop.set_page_dirty.entry, addevent.nfs.aop.prepare_write.entry, addevent.nfs.aop.commit_write.entry{
}
probe addevent.nfs.aop.return = addevent.nfs.aop.readpage.return, addevent.nfs.aop.readpages.return, addevent.nfs.aop.writepage.return, addevent.nfs.aop.writepages.return, addevent.nfs.aop.release_page.return?, addevent.nfs.aop.set_page_dirty.return, addevent.nfs.aop.prepare_write.return, addevent.nfs.aop.commit_write.return{
}
probe addevent.nfs.aop.readpages.entry = _addevent.nfs.aop.readpages.entry{
update_record()
}
probe _addevent.nfs.aop.readpages.entry = nfs.aop.readpages{
log_aop_readpages(fileid, rpages, nr_pages)
}
probe addevent.nfs.aop.readpages.return = _addevent.nfs.aop.readpages.return{
update_record()
}
probe _addevent.nfs.aop.readpages.return = nfs.aop.readpages.return{
log_nfs_return(HOOKID_NFS_AOP_READPAGES_RETURN, $return)
}
probe addevent.nfs.aop.readpage.entry = _addevent.nfs.aop.readpage.entry{
update_record()
}
probe _addevent.nfs.aop.readpage.entry = nfs.aop.readpage{
log_aop_readpage(fileid, rsize, __page, page_index)
}
probe addevent.nfs.aop.readpage.return = _addevent.nfs.aop.readpage.return{
update_record()
}
probe _addevent.nfs.aop.readpage.return = nfs.aop.readpage.return{
log_nfs_return(HOOKID_NFS_AOP_READPAGE_RETURN, $return)
}
probe addevent.nfs.aop.writepage.entry = _addevent.nfs.aop.writepage.entry{
update_record()
}
probe _addevent.nfs.aop.writepage.entry = nfs.aop.writepage{
log_aop_writepage(fileid, wsize, __page, page_index)
}
probe addevent.nfs.aop.writepage.return = _addevent.nfs.aop.writepage.return{
update_record()
}
probe _addevent.nfs.aop.writepage.return = nfs.aop.writepage.return{
log_nfs_return(HOOKID_NFS_AOP_WRITEPAGE_RETURN, $return)
}
probe addevent.nfs.aop.writepages.entry = _addevent.nfs.aop.writepages.entry{
update_record()
}
probe _addevent.nfs.aop.writepages.entry = nfs.aop.writepages{
log_aop_writepages(fileid, wpages, nr_to_write)
}
probe addevent.nfs.aop.writepages.return = _addevent.nfs.aop.writepages.return{
update_record()
}
probe _addevent.nfs.aop.writepages.return = nfs.aop.writepages.return{
log_nfs_return(HOOKID_NFS_AOP_WRITEPAGES_RETURN, $return)
}
probe addevent.nfs.aop.prepare_write.entry = _addevent.nfs.aop.prepare_write.entry{
update_record()
}
probe _addevent.nfs.aop.prepare_write.entry = nfs.aop.prepare_write{
log_aop_prepare_write(fileid, __page, page_index)
}
probe addevent.nfs.aop.prepare_write.return = _addevent.nfs.aop.prepare_write.return{
update_record()
}
probe _addevent.nfs.aop.prepare_write.return = nfs.aop.prepare_write.return{
log_nfs_return(HOOKID_NFS_AOP_PREPAREWRITE_RETURN, $return)
}
probe addevent.nfs.aop.commit_write.entry = _addevent.nfs.aop.commit_write.entry{
update_record()
}
probe _addevent.nfs.aop.commit_write.entry = nfs.aop.commit_write{
log_aop_commit_write(fileid, __page, page_index, offset, count)
}
probe addevent.nfs.aop.commit_write.return = _addevent.nfs.aop.commit_write.return{
update_record()
}
probe _addevent.nfs.aop.commit_write.return = nfs.aop.commit_write.return{
log_nfs_return(HOOKID_NFS_AOP_COMMITWRITE_RETURN, $return)
log_nfs_return(HOOKID_NFS_FOP_LOCK_RETURN, $return)
}
probe addevent.nfs.fop.sendfile.entry = _addevent.nfs.fop.sendfile.entry{
update_record()
}
probe _addevent.nfs.fop.sendfile.entry = nfs.fop.sendfile{
log_fop_sendfile(s_id, fileid, count, ppos)
}
probe addevent.nfs.fop.sendfile.return = _addevent.nfs.fop.sendfile.return{
update_record()
}
probe _addevent.nfs.fop.sendfile.return = nfs.fop.sendfile.return{
log_nfs_return(HOOKID_NFS_FOP_SENDFILE_RETURN, $return)
}
probe addevent.nfs.fop.check_flags.entry = _addevent.nfs.fop.check_flags.entry{
update_record()
}
probe _addevent.nfs.fop.check_flags.entry = nfs.fop.check_flags{
log_fop_check_flags(flag)
}
probe addevent.nfs.aop = addevent.nfs.aop.entry, addevent.nfs.aop.return{
}
probe addevent.nfs.aop.entry = addevent.nfs.aop.readpage.entry, addevent.nfs.aop.readpages.entry, addevent.nfs.aop.writepage.entry, addevent.nfs.aop.writepages.entry, addevent.nfs.aop.release_page.entry?, addevent.nfs.aop.set_page_dirty.entry, addevent.nfs.aop.prepare_write.entry, addevent.nfs.aop.commit_write.entry{
}
probe addevent.nfs.aop.return = addevent.nfs.aop.readpage.return, addevent.nfs.aop.readpages.return, addevent.nfs.aop.writepage.return, addevent.nfs.aop.writepages.return, addevent.nfs.aop.release_page.return?, addevent.nfs.aop.set_page_dirty.return, addevent.nfs.aop.prepare_write.return, addevent.nfs.aop.commit_write.return{
}
probe addevent.nfs.aop.readpages.entry = _addevent.nfs.aop.readpages.entry{
update_record()
}
probe _addevent.nfs.aop.readpages.entry = nfs.aop.readpages{
log_aop_readpages(fileid, rpages, nr_pages)
}
probe addevent.nfs.aop.readpages.return = _addevent.nfs.aop.readpages.return{
update_record()
}
probe _addevent.nfs.aop.readpages.return = nfs.aop.readpages.return{
log_nfs_return(HOOKID_NFS_AOP_READPAGES_RETURN, $return)
}
probe addevent.nfs.aop.readpage.entry = _addevent.nfs.aop.readpage.entry{
update_record()
}
probe _addevent.nfs.aop.readpage.entry = nfs.aop.readpage{
log_aop_readpage(fileid, rsize, __page, page_index)
}
probe addevent.nfs.aop.readpage.return = _addevent.nfs.aop.readpage.return{
update_record()
}
probe _addevent.nfs.aop.readpage.return = nfs.aop.readpage.return{
log_nfs_return(HOOKID_NFS_AOP_READPAGE_RETURN, $return)
}
probe addevent.nfs.aop.writepage.entry = _addevent.nfs.aop.writepage.entry{
update_record()
}
probe _addevent.nfs.aop.writepage.entry = nfs.aop.writepage{
log_aop_writepage(fileid, wsize, __page, page_index)
}
probe addevent.nfs.aop.writepage.return = _addevent.nfs.aop.writepage.return{
update_record()
}
probe _addevent.nfs.aop.writepage.return = nfs.aop.writepage.return{
log_nfs_return(HOOKID_NFS_AOP_WRITEPAGE_RETURN, $return)
}
probe addevent.nfs.aop.writepages.entry = _addevent.nfs.aop.writepages.entry{
update_record()
}
probe _addevent.nfs.aop.writepages.entry = nfs.aop.writepages{
log_aop_writepages(fileid, wpages, nr_to_write)
}
probe addevent.nfs.aop.writepages.return = _addevent.nfs.aop.writepages.return{
update_record()
}
probe _addevent.nfs.aop.writepages.return = nfs.aop.writepages.return{
log_nfs_return(HOOKID_NFS_AOP_WRITEPAGES_RETURN, $return)
}
probe addevent.nfs.aop.prepare_write.entry = _addevent.nfs.aop.prepare_write.entry{
update_record()
}
probe _addevent.nfs.aop.prepare_write.entry = nfs.aop.prepare_write{
log_aop_prepare_write(fileid, __page, page_index)
}
probe addevent.nfs.aop.prepare_write.return = _addevent.nfs.aop.prepare_write.return{
update_record()
}
probe _addevent.nfs.aop.prepare_write.return = nfs.aop.prepare_write.return{
log_nfs_return(HOOKID_NFS_AOP_PREPAREWRITE_RETURN, $return)
}
probe addevent.nfs.aop.commit_write.entry = _addevent.nfs.aop.commit_write.entry{
update_record()
}
probe _addevent.nfs.aop.commit_write.entry = nfs.aop.commit_write{
log_aop_commit_write(fileid, __page, page_index, offset, count)
}
probe addevent.nfs.aop.commit_write.return = _addevent.nfs.aop.commit_write.return{
update_record()
}
probe _addevent.nfs.aop.commit_write.return = nfs.aop.commit_write.return{
}
probe addevent.nfs.aop.set_page_dirty.entry = _addevent.nfs.aop.set_page_dirty.entry{
update_record()
}
probe _addevent.nfs.aop.set_page_dirty.entry = nfs.aop.set_page_dirty{
log_aop_set_page_dirty(__page, page_flag)
}
probe addevent.nfs.aop.set_page_dirty.return = _addevent.nfs.aop.set_page_dirty.return{
update_record()
}
probe _addevent.nfs.aop.set_page_dirty.return = nfs.aop.set_page_dirty.return{
log_nfs_return(HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN, $return)
}
probe addevent.nfs.aop.release_page.entry = _addevent.nfs.aop.release_page.entry{
update_record()
}
probe _addevent.nfs.aop.release_page.entry = nfs.aop.release_page{
log_aop_release_page(__page, page_index)
}
probe addevent.nfs.aop.release_page.return = _addevent.nfs.aop.release_page.return{
update_record()
}
probe _addevent.nfs.aop.release_page.return = nfs.aop.release_page.return{
log_nfs_return(HOOKID_NFS_AOP_RELEASEPAGE_RETURN, $return)
}
probe never{
printf("%d", GROUP_NFS)
}
function __file_fsname (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL)
|| (file->f_dentry == NULL)
|| (file->f_dentry->d_inode == NULL))
strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
strlcpy(THIS->__retvalue, file->f_dentry->d_inode->i_sb->s_type->name, MAXSTRINGLEN);
}
%}
function log_nfs_return (hookid, ret_val)
%{
_lket_trace(_GROUP_NFS,THIS->hookid,"%4b",THIS->ret_val);
%}
function log_fop_llseek (s_id, ino, offset, origin)
%{ /*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LLSEEK_ENTRY,"%1b%1b%8b%8b%1b",(_FMT_)major,(_FMT_)minor,
THIS->ino,THIS->offset,THIS->origin);
%}
function log_fop_rw (hookid, s_id, ino, buf, len, pos)
%{ /*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,THIS->hookid,"%1b%1b%8b%8b%8b%8b",(_FMT_)major,(_FMT_)minor,
THIS->ino,THIS->buf,THIS->len,THIS->pos);
%}
function log_fop_mmap (s_id, ino, vm_start, vm_end, vm_flags)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_MMAP_ENTRY,"%1b%1b%8b%8b%8b%4b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->vm_start,
THIS->vm_end,THIS->vm_flags);
%}
function log_fop_open (s_id, ino, flag, filename)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_OPEN_ENTRY,"%1b%1b%8b%4b%0s",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->flag,THIS->filename);
%}
function log_fop_flush (s_id, ino, ndirty)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FLUSH_ENTRY,"%1b%1b%8b%4b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty);
%}
function log_fop_release (s_id, ino, mode)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_RELEASE_ENTRY,"%1b%1b%8b%2b",
(_FMT_)major,(_FMT_)minor,
THIS->ino,THIS->mode);
%}
function log_fop_fsync (s_id, ino, ndirty)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FSYNC_ENTRY,"%1b%1b%8b%4b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty);
%}
function log_fop_lock (s_id, ino, fl_start, fl_end, fl_type, fl_flag, cmd)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LOCK_ENTRY,"%1b%1b%8b%8b%8b%1b%1b%4b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->fl_start,THIS->fl_end,
THIS->fl_type,THIS->fl_flag,THIS->cmd);
%}
function log_fop_sendfile (s_id, ino, count, ppos)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major
log_nfs_return(HOOKID_NFS_AOP_COMMITWRITE_RETURN, $return)
}
probe addevent.nfs.aop.set_page_dirty.entry = _addevent.nfs.aop.set_page_dirty.entry{
update_record()
}
probe _addevent.nfs.aop.set_page_dirty.entry = nfs.aop.set_page_dirty{
log_aop_set_page_dirty(__page, page_flag)
}
probe addevent.nfs.aop.set_page_dirty.return = _addevent.nfs.aop.set_page_dirty.return{
update_record()
}
probe _addevent.nfs.aop.set_page_dirty.return = nfs.aop.set_page_dirty.return{
log_nfs_return(HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN, $return)
}
probe addevent.nfs.aop.release_page.entry = _addevent.nfs.aop.release_page.entry{
update_record()
}
probe _addevent.nfs.aop.release_page.entry = nfs.aop.release_page{
log_aop_release_page(__page, page_index)
}
probe addevent.nfs.aop.release_page.return = _addevent.nfs.aop.release_page.return{
update_record()
}
probe _addevent.nfs.aop.release_page.return = nfs.aop.release_page.return{
log_nfs_return(HOOKID_NFS_AOP_RELEASEPAGE_RETURN, $return)
}
probe never{
printf("%d", GROUP_NFS)
}
function __file_fsname (file)
%{ /* pure */
struct file *file = (struct file *)(long)THIS->file;
if ((file == NULL)
|| (file->f_dentry == NULL)
|| (file->f_dentry->d_inode == NULL))
strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);
else {
strlcpy(THIS->__retvalue, file->f_dentry->d_inode->i_sb->s_type->name, MAXSTRINGLEN);
}
%}
function log_nfs_return (hookid, ret_val)
%{
_lket_trace(_GROUP_NFS,THIS->hookid,"%4b",THIS->ret_val);
%}
function log_fop_llseek (s_id, ino, offset, origin)
%{ /*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LLSEEK_ENTRY,"%1b%1b%8b%8b%1b",(_FMT_)major,(_FMT_)minor,
THIS->ino,THIS->offset,THIS->origin);
%}
function log_fop_rw (hookid, s_id, ino, buf, len, pos)
%{ /*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,THIS->hookid,"%1b%1b%8b%8b%8b%8b",(_FMT_)major,(_FMT_)minor,
THIS->ino,THIS->buf,THIS->len,THIS->pos);
%}
function log_fop_mmap (s_id, ino, vm_start, vm_end, vm_flags)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_MMAP_ENTRY,"%1b%1b%8b%8b%8b%4b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->vm_start,
THIS->vm_end,THIS->vm_flags);
%}
function log_fop_open (s_id, ino, flag, filename)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_OPEN_ENTRY,"%1b%1b%8b%4b%0s",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->flag,THIS->filename);
%}
function log_fop_flush (s_id, ino, ndirty)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FLUSH_ENTRY,"%1b%1b%8b%4b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty);
%}
function log_fop_release (s_id, ino, mode)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_RELEASE_ENTRY,"%1b%1b%8b%2b",
(_FMT_)major,(_FMT_)minor,
THIS->ino,THIS->mode);
%}
function log_fop_fsync (s_id, ino, ndirty)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FSYNC_ENTRY,"%1b%1b%8b%4b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty);
%}
function log_fop_lock (s_id, ino, fl_start, fl_end, fl_type, fl_flag, cmd)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LOCK_ENTRY,"%1b%1b%8b%8b%8b%1b%1b%4b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->fl_start,THIS->fl_end,
THIS->fl_type,THIS->fl_flag,THIS->cmd);
%}
function log_fop_sendfile (s_id, ino, count, ppos)
%{/*pure*/
char * s_id = (char *)((long)THIS->s_id);
,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_SENDFILE_ENTRY,"%1b%1b%8b%8b%8b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->count,THIS->ppos);
%}
function log_fop_check_flags (flag)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_CHECKFLAGS_ENTRY,"%4b",THIS->flag);
%}
function log_aop_readpages (ino, rpages, nr_pages)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGES_ENTRY,"%8b%4b%4b",
THIS->ino,THIS->rpages,THIS->nr_pages);
%}
function log_aop_readpage (ino, rsize, __page, page_index)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGE_ENTRY,"%8b%4b%8b%8b",
THIS->ino,THIS->rsize,THIS->__page,THIS->page_index);
%}
function log_aop_writepage (ino, wsize, __page, page_index)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGE_ENTRY,"%8b%4b%8b%8b",
THIS->ino,THIS->wsize,THIS->__page,THIS->page_index);
%}
function log_aop_writepages (ino, wpages, nr_to_write)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGES_ENTRY,"%8b%4b%8b",
THIS->ino,THIS->wpages,THIS->nr_to_write);
%}
function log_aop_prepare_write (ino, __page, page_index)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_PREPAREWRITE_ENTRY,"%8b%8b%8b",
THIS->ino,THIS->__page,THIS->page_index);
%}
function log_aop_commit_write (ino, __page, page_index, offset, count)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_COMMITWRITE_ENTRY,"%8b%8b%8b%4b%4b",
THIS->ino,THIS->__page, THIS->page_index,THIS->offset,THIS->count);
%}
function log_aop_set_page_dirty (__page, page_flag)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY,"%8b%1b",
THIS->__page,THIS->page_flag);
%}
function log_aop_release_page (__page, page_index)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_RELEASEPAGE_ENTRY,"%8b%8b",
THIS->__page,THIS->page_index);
%}
# file /usr/local/share/systemtap/tapset/LKET/nfs_proc.stp
%{
#include <linux/nfs_fs.h>
void getdevice(char *sid,int * major,int* min)
{
char c;
char * minor, *p;
int i = 0;
c = ':';
minor = strchr(sid,c);
minor++;
p = sid;
c = *p;
p++;
while(c != ':')
{
if(c > '0' || c < '9')
i = i << 4 | (c - 48);
else if (c > 'a' || c < 'f')
i = i<< 4 | (c-87);
c = *p;
p++;
}
*major = i;
p = minor;
c = *minor;
p++;
while(c != 0)
{
if(c > '0' || c < '9')
i = i << 4 | (c - 48);
else if (c > 'a' || c < 'f')
i = i<< 4 | (c-87);
c = *p;
p++;
}
*min = i;
}
%}probe addevent.nfs.proc = addevent.nfs.proc.entry, addevent.nfs.proc.return{
}
probe addevent.nfs.proc.entry = addevent.nfs.proc.lookup.entry, addevent.nfs.proc.read.entry, addevent.nfs.proc.write.entry, addevent.nfs.proc.commit.entry, addevent.nfs.proc.read_setup.entry, addevent.nfs.proc.write_setup.entry, addevent.nfs.proc.commit_setup.entry, addevent.nfs.proc.read_done.entry, addevent.nfs.proc.write_done.entry, addevent.nfs.proc.commit_done.entry, addevent.nfs.proc.open.entry, addevent.nfs.proc.release.entry, addevent.nfs.proc.create.entry, addevent.nfs.proc.rename.entry, addevent.nfs.proc.remove.entry{
}
probe addevent.nfs.proc.return = addevent.nfs.proc.lookup.return, addevent.nfs.proc.read.return, addevent.nfs.proc.write.return, addevent.nfs.proc.commit.return, addevent.nfs.proc.read_done.return, addevent.nfs.proc.write_done.return, addevent.nfs.proc.commit_done.return, addevent.nfs.proc.open.return, addevent.nfs.proc.release.return, addevent.nfs.proc.create.return, addevent.nfs.proc.rename.return, addevent.nfs.proc.remove.return{
}
probe addevent.nfs.proc.lookup.entry = _addevent.nfs.proc.lookup.entry{
update_record()
}
probe _addevent.nfs.proc.lookup.entry = nfs.proc.lookup{
log_proc_lookup(version, $dir, filename)
}
probe addevent.nfs.proc.lookup.return = _addevent.nfs.proc.lookup.return{
update_record()
}
probe _addevent.nfs.proc.lookup.return = nfs.proc.lookup.return{
log_nfs_return(HOOKID_NFS_PROC_LOOKUP_RETURN, $return)
}
probe addevent.nfs.proc.read.entry = _addevent.nfs.proc.read.entry{
update_record()
}
probe _addeven
int major,minor;
getdevice(s_id,&major,&minor);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_SENDFILE_ENTRY,"%1b%1b%8b%8b%8b",
(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->count,THIS->ppos);
%}
function log_fop_check_flags (flag)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_CHECKFLAGS_ENTRY,"%4b",THIS->flag);
%}
function log_aop_readpages (ino, rpages, nr_pages)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGES_ENTRY,"%8b%4b%4b",
THIS->ino,THIS->rpages,THIS->nr_pages);
%}
function log_aop_readpage (ino, rsize, __page, page_index)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGE_ENTRY,"%8b%4b%8b%8b",
THIS->ino,THIS->rsize,THIS->__page,THIS->page_index);
%}
function log_aop_writepage (ino, wsize, __page, page_index)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGE_ENTRY,"%8b%4b%8b%8b",
THIS->ino,THIS->wsize,THIS->__page,THIS->page_index);
%}
function log_aop_writepages (ino, wpages, nr_to_write)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGES_ENTRY,"%8b%4b%8b",
THIS->ino,THIS->wpages,THIS->nr_to_write);
%}
function log_aop_prepare_write (ino, __page, page_index)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_PREPAREWRITE_ENTRY,"%8b%8b%8b",
THIS->ino,THIS->__page,THIS->page_index);
%}
function log_aop_commit_write (ino, __page, page_index, offset, count)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_COMMITWRITE_ENTRY,"%8b%8b%8b%4b%4b",
THIS->ino,THIS->__page, THIS->page_index,THIS->offset,THIS->count);
%}
function log_aop_set_page_dirty (__page, page_flag)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY,"%8b%1b",
THIS->__page,THIS->page_flag);
%}
function log_aop_release_page (__page, page_index)
%{/*pure*/
_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_RELEASEPAGE_ENTRY,"%8b%8b",
THIS->__page,THIS->page_index);
%}
# file /usr/local/share/systemtap/tapset/LKET/nfs_proc.stp
%{
#include <linux/nfs_fs.h>
void getdevice(char *sid,int * major,int* min)
{
char c;
char * minor, *p;
int i = 0;
c = ':';
minor = strchr(sid,c);
minor++;
p = sid;
c = *p;
p++;
while(c != ':')
{
if(c > '0' || c < '9')
i = i << 4 | (c - 48);
else if (c > 'a' || c < 'f')
i = i<< 4 | (c-87);
c = *p;
p++;
}
*major = i;
p = minor;
c = *minor;
p++;
while(c != 0)
{
if(c > '0' || c < '9')
i = i << 4 | (c - 48);
else if (c > 'a' || c < 'f')
i = i<< 4 | (c-87);
c = *p;
p++;
}
*min = i;
}
%}probe addevent.nfs.proc = addevent.nfs.proc.entry, addevent.nfs.proc.return{
}
probe addevent.nfs.proc.entry = addevent.nfs.proc.lookup.entry, addevent.nfs.proc.read.entry, addevent.nfs.proc.write.entry, addevent.nfs.proc.commit.entry, addevent.nfs.proc.read_setup.entry, addevent.nfs.proc.write_setup.entry, addevent.nfs.proc.commit_setup.entry, addevent.nfs.proc.read_done.entry, addevent.nfs.proc.write_done.entry, addevent.nfs.proc.commit_done.entry, addevent.nfs.proc.open.entry, addevent.nfs.proc.release.entry, addevent.nfs.proc.create.entry, addevent.nfs.proc.rename.entry, addevent.nfs.proc.remove.entry{
}
probe addevent.nfs.proc.return = addevent.nfs.proc.lookup.return, addevent.nfs.proc.read.return, addevent.nfs.proc.write.return, addevent.nfs.proc.commit.return, addevent.nfs.proc.read_done.return, addevent.nfs.proc.write_done.return, addevent.nfs.proc.commit_done.return, addevent.nfs.proc.open.return, addevent.nfs.proc.release.return, addevent.nfs.proc.create.return, addevent.nfs.proc.rename.return, addevent.nfs.proc.remove.return{
}
probe addevent.nfs.proc.lookup.entry = _addevent.nfs.proc.lookup.entry{
update_record()
}
probe _addevent.nfs.proc.lookup.entry = nfs.proc.lookup{
log_proc_lookup(version, $dir, filename)
}
probe addevent.nfs.proc.lookup.return = _addevent.nfs.proc.lookup.return{
update_record()
}
probe _addevent.nfs.proc.lookup.return = nfs.proc.lookup.return{
log_nfs_return(HOOKID_NFS_PROC_LOOKUP_RETURN, $return)
}
probe addevent.nfs.proc.read.entry = _addevent.nfs.proc.read.entry{
update_record()
}
t.nfs.proc.read.entry = nfs.proc.read{
log_proc_read(version, $rdata, count, offset)
}
probe addevent.nfs.proc.read.return = _addevent.nfs.proc.read.return{
update_record()
}
probe _addevent.nfs.proc.read.return = nfs.proc.read.return{
log_nfs_return(HOOKID_NFS_PROC_READ_RETURN, $return)
}
probe addevent.nfs.proc.write.entry = _addevent.nfs.proc.write.entry{
update_record()
}
probe _addevent.nfs.proc.write.entry = nfs.proc.write{
log_proc_write(version, $wdata, count, offset)
}
probe addevent.nfs.proc.write.return = _addevent.nfs.proc.write.return{
update_record()
}
probe _addevent.nfs.proc.write.return = nfs.proc.write.return{
log_nfs_return(HOOKID_NFS_PROC_WRITE_RETURN, $return)
}
probe addevent.nfs.proc.commit.entry = _addevent.nfs.proc.commit.entry{
update_record()
}
probe _addevent.nfs.proc.commit.entry = nfs.proc.commit{
log_proc_commit(version, $cdata, count, offset)
}
probe addevent.nfs.proc.commit.return = _addevent.nfs.proc.commit.return{
update_record()
}
probe _addevent.nfs.proc.commit.return = nfs.proc.commit.return{
log_nfs_return(HOOKID_NFS_PROC_COMMIT_RETURN, $return)
}
probe addevent.nfs.proc.read_setup.entry = _addevent.nfs.proc.read_setup.entry{
update_record()
}
probe _addevent.nfs.proc.read_setup.entry = nfs.proc.read_setup{
log_proc_read_setup(version, $data, count, offset)
}
probe addevent.nfs.proc.write_setup.entry = _addevent.nfs.proc.write_setup.entry{
update_record()
}
probe _addevent.nfs.proc.write_setup.entry = nfs.proc.write_setup{
log_proc_write_setup(version, $data, count, offset, how)
}
probe addevent.nfs.proc.commit_setup.entry = _addevent.nfs.proc.commit_setup.entry{
update_record()
}
probe _addevent.nfs.proc.commit_setup.entry = nfs.proc.commit_setup{
log_proc_commit_setup(version, $data, count, offset)
}
probe addevent.nfs.proc.read_done.entry = _addevent.nfs.proc.read_done.entry{
update_record()
}
probe _addevent.nfs.proc.read_done.entry = nfs.proc.read_done{
log_proc_read_done(version, $data, count, status)
}
probe addevent.nfs.proc.read_done.return = _addevent.nfs.proc.read_done.return{
update_record()
}
probe _addevent.nfs.proc.read_done.return = nfs.proc.read_done.return{
log_nfs_return(HOOKID_NFS_PROC_READDONE_RETURN, $return)
}
probe addevent.nfs.proc.write_done.entry = _addevent.nfs.proc.write_done.entry{
update_record()
}
probe _addevent.nfs.proc.write_done.entry = nfs.proc.write_done{
log_proc_write_done(version, $data, count, status)
}
probe addevent.nfs.proc.write_done.return = _addevent.nfs.proc.write_done.return{
update_record()
}
probe _addevent.nfs.proc.write_done.return = nfs.proc.write_done.return{
log_nfs_return(HOOKID_NFS_PROC_WRITEDONE_RETURN, $return)
}
probe addevent.nfs.proc.commit_done.entry = _addevent.nfs.proc.commit_done.entry{
update_record()
}
probe _addevent.nfs.proc.commit_done.entry = nfs.proc.commit_done{
log_proc_commit_done(version, $data, count, status)
}
probe addevent.nfs.proc.commit_done.return = _addevent.nfs.proc.commit_done.return{
update_record()
}
probe _addevent.nfs.proc.commit_done.return = nfs.proc.commit_done.return{
log_nfs_return(HOOKID_NFS_PROC_COMMITDONE_RETURN, $return)
}
probe addevent.nfs.proc.open.entry = _addevent.nfs.proc.open.entry{
update_record()
}
probe _addevent.nfs.proc.open.entry = nfs.proc.open{
log_proc_open(version, $inode, filename, flag, mode)
}
probe addevent.nfs.proc.open.return = _addevent.nfs.proc.open.return{
update_record()
}
probe _addevent.nfs.proc.open.return = nfs.proc.open.return{
log_nfs_return(HOOKID_NFS_PROC_OPEN_RETURN, $return)
}
probe addevent.nfs.proc.release.entry = _addevent.nfs.proc.release.entry{
update_record()
}
probe _addevent.nfs.proc.release.entry = nfs.proc.release{
log_proc_release(version, $inode, filename, flag, mode)
}
probe addevent.nfs.proc.release.return = _addevent.nfs.proc.release.return{
update_record()
}
probe _addevent.nfs.proc.release.return = nfs.proc.release.return{
log_nfs_return(HOOKID_NFS_PROC_RELEASE_RETURN, $return)
}
probe addevent.nfs.proc.create.entry = _
probe _addevent.nfs.proc.read.entry = nfs.proc.read{
log_proc_read(version, $rdata, count, offset)
}
probe addevent.nfs.proc.read.return = _addevent.nfs.proc.read.return{
update_record()
}
probe _addevent.nfs.proc.read.return = nfs.proc.read.return{
log_nfs_return(HOOKID_NFS_PROC_READ_RETURN, $return)
}
probe addevent.nfs.proc.write.entry = _addevent.nfs.proc.write.entry{
update_record()
}
probe _addevent.nfs.proc.write.entry = nfs.proc.write{
log_proc_write(version, $wdata, count, offset)
}
probe addevent.nfs.proc.write.return = _addevent.nfs.proc.write.return{
update_record()
}
probe _addevent.nfs.proc.write.return = nfs.proc.write.return{
log_nfs_return(HOOKID_NFS_PROC_WRITE_RETURN, $return)
}
probe addevent.nfs.proc.commit.entry = _addevent.nfs.proc.commit.entry{
update_record()
}
probe _addevent.nfs.proc.commit.entry = nfs.proc.commit{
log_proc_commit(version, $cdata, count, offset)
}
probe addevent.nfs.proc.commit.return = _addevent.nfs.proc.commit.return{
update_record()
}
probe _addevent.nfs.proc.commit.return = nfs.proc.commit.return{
log_nfs_return(HOOKID_NFS_PROC_COMMIT_RETURN, $return)
}
probe addevent.nfs.proc.read_setup.entry = _addevent.nfs.proc.read_setup.entry{
update_record()
}
probe _addevent.nfs.proc.read_setup.entry = nfs.proc.read_setup{
log_proc_read_setup(version, $data, count, offset)
}
probe addevent.nfs.proc.write_setup.entry = _addevent.nfs.proc.write_setup.entry{
update_record()
}
probe _addevent.nfs.proc.write_setup.entry = nfs.proc.write_setup{
log_proc_write_setup(version, $data, count, offset, how)
}
probe addevent.nfs.proc.commit_setup.entry = _addevent.nfs.proc.commit_setup.entry{
update_record()
}
probe _addevent.nfs.proc.commit_setup.entry = nfs.proc.commit_setup{
log_proc_commit_setup(version, $data, count, offset)
}
probe addevent.nfs.proc.read_done.entry = _addevent.nfs.proc.read_done.entry{
update_record()
}
probe _addevent.nfs.proc.read_done.entry = nfs.proc.read_done{
log_proc_read_done(version, $data, count, status)
}
probe addevent.nfs.proc.read_done.return = _addevent.nfs.proc.read_done.return{
update_record()
}
probe _addevent.nfs.proc.read_done.return = nfs.proc.read_done.return{
log_nfs_return(HOOKID_NFS_PROC_READDONE_RETURN, $return)
}
probe addevent.nfs.proc.write_done.entry = _addevent.nfs.proc.write_done.entry{
update_record()
}
probe _addevent.nfs.proc.write_done.entry = nfs.proc.write_done{
log_proc_write_done(version, $data, count, status)
}
probe addevent.nfs.proc.write_done.return = _addevent.nfs.proc.write_done.return{
update_record()
}
probe _addevent.nfs.proc.write_done.return = nfs.proc.write_done.return{
log_nfs_return(HOOKID_NFS_PROC_WRITEDONE_RETURN, $return)
}
probe addevent.nfs.proc.commit_done.entry = _addevent.nfs.proc.commit_done.entry{
update_record()
}
probe _addevent.nfs.proc.commit_done.entry = nfs.proc.commit_done{
log_proc_commit_done(version, $data, count, status)
}
probe addevent.nfs.proc.commit_done.return = _addevent.nfs.proc.commit_done.return{
update_record()
}
probe _addevent.nfs.proc.commit_done.return = nfs.proc.commit_done.return{
log_nfs_return(HOOKID_NFS_PROC_COMMITDONE_RETURN, $return)
}
probe addevent.nfs.proc.open.entry = _addevent.nfs.proc.open.entry{
update_record()
}
probe _addevent.nfs.proc.open.entry = nfs.proc.open{
log_proc_open(version, $inode, filename, flag, mode)
}
probe addevent.nfs.proc.open.return = _addevent.nfs.proc.open.return{
update_record()
}
probe _addevent.nfs.proc.open.return = nfs.proc.open.return{
log_nfs_return(HOOKID_NFS_PROC_OPEN_RETURN, $return)
}
probe addevent.nfs.proc.release.entry = _addevent.nfs.proc.release.entry{
update_record()
}
probe _addevent.nfs.proc.release.entry = nfs.proc.release{
log_proc_release(version, $inode, filename, flag, mode)
}
probe addevent.nfs.proc.release.return = _addevent.nfs.proc.release.return{
update_record()
}
probe _addevent.nfs.proc.release.return = nfs.proc.release.return{
log_nfs_return(HOOKID_NFS_PROC_RELEASE_RETURN, $return)
}
addevent.nfs.proc.create.entry{
update_record()
}
probe _addevent.nfs.proc.create.entry = nfs.proc.create{
log_proc_create(version, $dir, filename, mode)
}
probe addevent.nfs.proc.create.return = _addevent.nfs.proc.create.return{
update_record()
}
probe _addevent.nfs.proc.create.return = nfs.proc.create.return{
log_nfs_return(HOOKID_NFS_PROC_CREATE_RETURN, $return)
}
probe addevent.nfs.proc.remove.entry = _addevent.nfs.proc.remove.entry{
update_record()
}
probe _addevent.nfs.proc.remove.entry = nfs.proc.remove{
log_proc_remove(version, $dir, filename)
}
probe addevent.nfs.proc.remove.return = _addevent.nfs.proc.remove.return{
update_record()
}
probe _addevent.nfs.proc.remove.return = nfs.proc.remove.return{
log_nfs_return(HOOKID_NFS_PROC_REMOVE_RETURN, $return)
}
probe addevent.nfs.proc.rename.entry = _addevent.nfs.proc.rename.entry{
update_record()
}
probe _addevent.nfs.proc.rename.entry = nfs.proc.rename{
log_proc_rename(version, $old_dir, old_name, $new_dir, new_name)
}
probe addevent.nfs.proc.rename.return = _addevent.nfs.proc.rename.return{
update_record()
}
probe _addevent.nfs.proc.rename.return = nfs.proc.rename.return{
log_nfs_return(HOOKID_NFS_PROC_RENAME_RETURN, $return)
}
probe never{
printf("%d", GROUP_NFS)
}
function log_proc_lookup (version, dir, filename)
%{
struct inode * dir = (struct inode * )((long)THIS->dir);
struct super_block * sb = dir->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_LOOKUP_ENTRY,"%1b%1b%8b%1b%0s",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(dir),THIS->version,THIS->filename);
%}
function log_proc_read (version, rdata, count, offset)
%{
struct nfs_read_data* rdata = (struct nfs_read_data* )((long)THIS->rdata);
struct inode *inode = rdata->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READ_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_write (version, wdata, count, offset)
%{
struct nfs_write_data* wdata = (struct nfs_write_data* )((long)THIS->wdata);
struct inode *inode = wdata->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITE_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_commit (version, cdata, count, offset)
%{
struct nfs_write_data* cdata = (struct nfs_write_data* )((long)THIS->cdata);
struct inode *inode = cdata->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMIT_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_read_setup (version, data, count, offset)
%{
struct nfs_read_data* data = (struct nfs_read_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READSETUP_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_write_setup (version, data, count, offset, how)
%{
struct nfs_write_data* data = (struct nfs_write_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITESETUP_ENTRY,"%1b%1b%8b%1b%1b%4b%8b",
(_FMT_)major_device,(_FMT_
probe addevent.nfs.proc.create.entry = _addevent.nfs.proc.create.entry{
update_record()
}
probe _addevent.nfs.proc.create.entry = nfs.proc.create{
log_proc_create(version, $dir, filename, mode)
}
probe addevent.nfs.proc.create.return = _addevent.nfs.proc.create.return{
update_record()
}
probe _addevent.nfs.proc.create.return = nfs.proc.create.return{
log_nfs_return(HOOKID_NFS_PROC_CREATE_RETURN, $return)
}
probe addevent.nfs.proc.remove.entry = _addevent.nfs.proc.remove.entry{
update_record()
}
probe _addevent.nfs.proc.remove.entry = nfs.proc.remove{
log_proc_remove(version, $dir, filename)
}
probe addevent.nfs.proc.remove.return = _addevent.nfs.proc.remove.return{
update_record()
}
probe _addevent.nfs.proc.remove.return = nfs.proc.remove.return{
log_nfs_return(HOOKID_NFS_PROC_REMOVE_RETURN, $return)
}
probe addevent.nfs.proc.rename.entry = _addevent.nfs.proc.rename.entry{
update_record()
}
probe _addevent.nfs.proc.rename.entry = nfs.proc.rename{
log_proc_rename(version, $old_dir, old_name, $new_dir, new_name)
}
probe addevent.nfs.proc.rename.return = _addevent.nfs.proc.rename.return{
update_record()
}
probe _addevent.nfs.proc.rename.return = nfs.proc.rename.return{
log_nfs_return(HOOKID_NFS_PROC_RENAME_RETURN, $return)
}
probe never{
printf("%d", GROUP_NFS)
}
function log_proc_lookup (version, dir, filename)
%{
struct inode * dir = (struct inode * )((long)THIS->dir);
struct super_block * sb = dir->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_LOOKUP_ENTRY,"%1b%1b%8b%1b%0s",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(dir),THIS->version,THIS->filename);
%}
function log_proc_read (version, rdata, count, offset)
%{
struct nfs_read_data* rdata = (struct nfs_read_data* )((long)THIS->rdata);
struct inode *inode = rdata->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READ_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_write (version, wdata, count, offset)
%{
struct nfs_write_data* wdata = (struct nfs_write_data* )((long)THIS->wdata);
struct inode *inode = wdata->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITE_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_commit (version, cdata, count, offset)
%{
struct nfs_write_data* cdata = (struct nfs_write_data* )((long)THIS->cdata);
struct inode *inode = cdata->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMIT_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_read_setup (version, data, count, offset)
%{
struct nfs_read_data* data = (struct nfs_read_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READSETUP_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_write_setup (version, data, count, offset, how)
%{
struct nfs_write_data* data = (struct nfs_write_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITESETUP_ENTRY,"%1b%1b%8b%1b%1b%4b%8b",
)minor_device,
NFS_FILEID(inode),THIS->version,THIS->how,THIS->count,THIS->offset);
%}
function log_proc_commit_setup (version, data, count, offset)
%{
struct nfs_write_data* data = (struct nfs_write_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMITSETUP_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_read_done (version, data, count, status)
%{
struct nfs_read_data* data = (struct nfs_read_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);
%}
function log_proc_write_done (version, data, count, status)
%{
struct nfs_write_data* data = (struct nfs_write_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITEDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);
%}
function log_proc_commit_done (version, data, count, status)
%{
struct nfs_write_data* data = (struct nfs_write_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMITDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);
%}
function log_proc_open (version, inode, filename, flag, mode)
%{
struct inode *inode = (struct inode *)((long)THIS->inode);
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_OPEN_ENTRY,"%1b%1b%8b%1b%0s%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->filename,THIS->flag,THIS->mode);
%}
function log_proc_release (version, inode, filename, flag, mode)
%{
struct inode *inode = (struct inode *)((long)THIS->inode);
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_RELEASE_ENTRY,"%1b%1b%8b%1b%0s%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->filename,THIS->flag,THIS->mode);
%}
function log_proc_create (version, inode, filename, mode)
%{
struct inode *inode = (struct inode *)((long)THIS->inode);
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_CREATE_ENTRY,"%1b%1b%8b%1b%0s%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->filename,THIS->mode);
%}
function log_proc_remove (version, inode, filename)
%{
struct inode *inode = (struct inode *)((long)THIS->inode);
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_REMOVE_ENTRY,"%1b%1b%8b%1b%0s",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->filename);
%}
function log_proc_rename (version, old_dir, old_name, new_dir, new_name)
%{
struct inode *old_dir= (struct inode *)((long)THIS->old_dir);
struct inode *new_dir= (struct inode *)((long)THIS->new_dir);
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->how,THIS->count,THIS->offset);
%}
function log_proc_commit_setup (version, data, count, offset)
%{
struct nfs_write_data* data = (struct nfs_write_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMITSETUP_ENTRY,"%1b%1b%8b%1b%4b%8b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_read_done (version, data, count, status)
%{
struct nfs_read_data* data = (struct nfs_read_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);
%}
function log_proc_write_done (version, data, count, status)
%{
struct nfs_write_data* data = (struct nfs_write_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITEDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);
%}
function log_proc_commit_done (version, data, count, status)
%{
struct nfs_write_data* data = (struct nfs_write_data* )((long)THIS->data);
struct inode *inode = data->inode;
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMITDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);
%}
function log_proc_open (version, inode, filename, flag, mode)
%{
struct inode *inode = (struct inode *)((long)THIS->inode);
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_OPEN_ENTRY,"%1b%1b%8b%1b%0s%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->filename,THIS->flag,THIS->mode);
%}
function log_proc_release (version, inode, filename, flag, mode)
%{
struct inode *inode = (struct inode *)((long)THIS->inode);
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_RELEASE_ENTRY,"%1b%1b%8b%1b%0s%4b%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->filename,THIS->flag,THIS->mode);
%}
function log_proc_create (version, inode, filename, mode)
%{
struct inode *inode = (struct inode *)((long)THIS->inode);
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_CREATE_ENTRY,"%1b%1b%8b%1b%0s%4b",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->filename,THIS->mode);
%}
function log_proc_remove (version, inode, filename)
%{
struct inode *inode = (struct inode *)((long)THIS->inode);
struct super_block * sb = inode->i_sb;
int major_device,minor_device;
getdevice(sb->s_id,&major_device,&minor_device);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_REMOVE_ENTRY,"%1b%1b%8b%1b%0s",
(_FMT_)major_device,(_FMT_)minor_device,
NFS_FILEID(inode),THIS->version,THIS->filename);
%}
function log_proc_rename (version, old_dir, old_name, new_dir, new_name)
%{
struct inode *old_dir= (struct inode *)((long)THIS->old_dir);
struct inode *new_dir= (struct inode *)((long)THIS->new_dir);
struct super_block * old_sb = old_dir->i_sb;
struct super_block * new_sb = new_dir->i_sb;
int major_old,minor_old,major_new,minor_new;
getdevice(old_sb->s_id,&major_old,&minor_old);
getdevice(new_sb->s_id,&major_new,&minor_new);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_RENAME_ENTRY,"%1b%1b%1b%8b%0s%1b%1b%8b%0s",
THIS->version,(_FMT_)major_old,(_FMT_)minor_old,NFS_FILEID(old_dir),
THIS->old_name,(_FMT_)major_new,(_FMT_)minor_new,NFS_FILEID(new_dir),
THIS->new_name);
%}
# file /usr/local/share/systemtap/tapset/LKET/nfsd.stp
%{
#include <linux/sunrpc/svc.h>
#include <linux/nfsd/nfsfh.h>
%}%{
void decode_fh(struct knfsd_fh *fh,__u64 * i_ino)
{
int i;
for(i = 0;i < 3;i++)
{
i_ino[i] = fh->fh_base.fh_pad[2*i];
i_ino[i] = i_ino[i] << 32 |fh->fh_base.fh_pad[2*i + 1 ];
}
}
%}probe addevent.nfsd = addevent.nfsd.entry, addevent.nfsd.return{
}
probe addevent.nfsd.entry = addevent.nfsd.op.entry, addevent.nfsd.proc.entry{
}
probe addevent.nfsd.return = addevent.nfsd.op.return, addevent.nfsd.proc.return{
}
probe addevent.nfsd.op = addevent.nfsd.op.entry, addevent.nfsd.op.return{
}
probe addevent.nfsd.op.entry = addevent.nfsd.dispatch.entry, addevent.nfsd.open.entry, addevent.nfsd.read.entry, addevent.nfsd.write.entry, addevent.nfsd.lookup.entry, addevent.nfsd.commit.entry, addevent.nfsd.create.entry, addevent.nfsd.createv3.entry, addevent.nfsd.unlink.entry, addevent.nfsd.rename.entry, addevent.nfsd.close.entry{
}
probe addevent.nfsd.op.return = addevent.nfsd.dispatch.return, addevent.nfsd.open.return, addevent.nfsd.read.return, addevent.nfsd.write.return, addevent.nfsd.lookup.return, addevent.nfsd.commit.return, addevent.nfsd.create.return, addevent.nfsd.createv3.return, addevent.nfsd.unlink.return, addevent.nfsd.rename.return, addevent.nfsd.close.return{
}
probe addevent.nfsd.dispatch.entry = _addevent.nfsd.dispatch.entry{
update_record()
}
probe _addevent.nfsd.dispatch.entry = nfsd.dispatch{
log_nfsd_dispatch(client_ip, proto, version, xid, prog, proc)
}
probe addevent.nfsd.dispatch.return = _addevent.nfs.dispatch.return{
update_record()
}
probe _addevent.nfs.dispatch.return = nfsd.dispatch.return{
log_nfs_return(HOOKID_NFSD_DISPATCH_RETURN, $return)
}
probe addevent.nfsd.lookup.entry = _addevent.nfsd.lookup.entry{
update_record()
}
probe _addevent.nfsd.lookup.entry = nfsd.lookup{
log_nfsd_lookup($fhp, filename)
}
probe addevent.nfsd.lookup.return = _addevent.nfsd.lookup.return{
update_record()
}
probe _addevent.nfsd.lookup.return = nfsd.lookup.return{
log_nfs_return(HOOKID_NFSD_LOOKUP_RETURN, $return)
}
probe addevent.nfsd.create.entry = _addevent.nfsd.create.entry{
update_record()
}
probe _addevent.nfsd.create.entry = nfsd.create{
log_nfsd_create($fhp, filename, type, iap_valid, iap_mode)
}
probe addevent.nfsd.create.return = _addevent.nfsd.create.return{
update_record()
}
probe _addevent.nfsd.create.return = nfsd.create.return{
log_nfs_return(HOOKID_NFSD_CREATE_RETURN, $return)
}
probe addevent.nfsd.createv3.entry = _addevent.nfsd.createv3.entry{
update_record()
}
probe _addevent.nfsd.createv3.entry = nfsd.createv3{
log_nfsd_createv3($fhp, filename, createmode, iap_valid, iap_mode)
}
probe addevent.nfsd.createv3.return = _addevent.nfsd.createv3.return{
update_record()
}
probe _addevent.nfsd.createv3.return = nfsd.createv3.return{
log_nfs_return(HOOKID_NFSD_CREATEV3_RETURN, $return)
}
probe addevent.nfsd.unlink.entry = _addevent.nfsd.unlink.entry{
update_record()
}
probe _addevent.nfsd.unlink.entry = nfsd.unlink{
log_nfsd_unlink($fhp, filename, type)
}
probe addevent.nfsd.unlink.return = _addevent.nfsd.unlink.return{
update_record()
}
probe _addevent.nfsd.unlink.return = nfsd.unlink.return{
log_nfs_return(HOOKID_NFSD_UNLINK_RETURN, $return)
}
probe addevent.nfsd.rename.entry = _addevent.nfsd.rename.entry{
update_record()
}
probe _addevent.nfsd.rename.entry = nfsd.rename{
log_nfsd_rename($ffhp, filename, $tfhp, tname)
}
probe addevent.nfsd.rename.return = _addevent.nfsd.rename.r
struct super_block * old_sb = old_dir->i_sb;
struct super_block * new_sb = new_dir->i_sb;
int major_old,minor_old,major_new,minor_new;
getdevice(old_sb->s_id,&major_old,&minor_old);
getdevice(new_sb->s_id,&major_new,&minor_new);
_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_RENAME_ENTRY,"%1b%1b%1b%8b%0s%1b%1b%8b%0s",
THIS->version,(_FMT_)major_old,(_FMT_)minor_old,NFS_FILEID(old_dir),
THIS->old_name,(_FMT_)major_new,(_FMT_)minor_new,NFS_FILEID(new_dir),
THIS->new_name);
%}
# file /usr/local/share/systemtap/tapset/LKET/nfsd.stp
%{
#include <linux/sunrpc/svc.h>
#include <linux/nfsd/nfsfh.h>
%}%{
void decode_fh(struct knfsd_fh *fh,__u64 * i_ino)
{
int i;
for(i = 0;i < 3;i++)
{
i_ino[i] = fh->fh_base.fh_pad[2*i];
i_ino[i] = i_ino[i] << 32 |fh->fh_base.fh_pad[2*i + 1 ];
}
}
%}probe addevent.nfsd = addevent.nfsd.entry, addevent.nfsd.return{
}
probe addevent.nfsd.entry = addevent.nfsd.op.entry, addevent.nfsd.proc.entry{
}
probe addevent.nfsd.return = addevent.nfsd.op.return, addevent.nfsd.proc.return{
}
probe addevent.nfsd.op = addevent.nfsd.op.entry, addevent.nfsd.op.return{
}
probe addevent.nfsd.op.entry = addevent.nfsd.dispatch.entry, addevent.nfsd.open.entry, addevent.nfsd.read.entry, addevent.nfsd.write.entry, addevent.nfsd.lookup.entry, addevent.nfsd.commit.entry, addevent.nfsd.create.entry, addevent.nfsd.createv3.entry, addevent.nfsd.unlink.entry, addevent.nfsd.rename.entry, addevent.nfsd.close.entry{
}
probe addevent.nfsd.op.return = addevent.nfsd.dispatch.return, addevent.nfsd.open.return, addevent.nfsd.read.return, addevent.nfsd.write.return, addevent.nfsd.lookup.return, addevent.nfsd.commit.return, addevent.nfsd.create.return, addevent.nfsd.createv3.return, addevent.nfsd.unlink.return, addevent.nfsd.rename.return, addevent.nfsd.close.return{
}
probe addevent.nfsd.dispatch.entry = _addevent.nfsd.dispatch.entry{
update_record()
}
probe _addevent.nfsd.dispatch.entry = nfsd.dispatch{
log_nfsd_dispatch(client_ip, proto, version, xid, prog, proc)
}
probe addevent.nfsd.dispatch.return = _addevent.nfs.dispatch.return{
update_record()
}
probe _addevent.nfs.dispatch.return = nfsd.dispatch.return{
log_nfs_return(HOOKID_NFSD_DISPATCH_RETURN, $return)
}
probe addevent.nfsd.lookup.entry = _addevent.nfsd.lookup.entry{
update_record()
}
probe _addevent.nfsd.lookup.entry = nfsd.lookup{
log_nfsd_lookup($fhp, filename)
}
probe addevent.nfsd.lookup.return = _addevent.nfsd.lookup.return{
update_record()
}
probe _addevent.nfsd.lookup.return = nfsd.lookup.return{
log_nfs_return(HOOKID_NFSD_LOOKUP_RETURN, $return)
}
probe addevent.nfsd.create.entry = _addevent.nfsd.create.entry{
update_record()
}
probe _addevent.nfsd.create.entry = nfsd.create{
log_nfsd_create($fhp, filename, type, iap_valid, iap_mode)
}
probe addevent.nfsd.create.return = _addevent.nfsd.create.return{
update_record()
}
probe _addevent.nfsd.create.return = nfsd.create.return{
log_nfs_return(HOOKID_NFSD_CREATE_RETURN, $return)
}
probe addevent.nfsd.createv3.entry = _addevent.nfsd.createv3.entry{
update_record()
}
probe _addevent.nfsd.createv3.entry = nfsd.createv3{
log_nfsd_createv3($fhp, filename, createmode, iap_valid, iap_mode)
}
probe addevent.nfsd.createv3.return = _addevent.nfsd.createv3.return{
update_record()
}
probe _addevent.nfsd.createv3.return = nfsd.createv3.return{
log_nfs_return(HOOKID_NFSD_CREATEV3_RETURN, $return)
}
probe addevent.nfsd.unlink.entry = _addevent.nfsd.unlink.entry{
update_record()
}
probe _addevent.nfsd.unlink.entry = nfsd.unlink{
log_nfsd_unlink($fhp, filename, type)
}
probe addevent.nfsd.unlink.return = _addevent.nfsd.unlink.return{
update_record()
}
probe _addevent.nfsd.unlink.return = nfsd.unlink.return{
log_nfs_return(HOOKID_NFSD_UNLINK_RETURN, $return)
}
probe addevent.nfsd.rename.entry = _addevent.nfsd.rename.entry{
update_record()
}
probe _addevent.nfsd.rename.entry = nfsd.rename{
log_nfsd_rename($ffhp, filename, $tfhp, tname)
}
eturn{
update_record()
}
probe _addevent.nfsd.rename.return = nfsd.rename.return{
log_nfs_return(HOOKID_NFSD_RENAME_RETURN, $return)
}
probe addevent.nfsd.open.entry = _addevent.nfsd.open.entry{
update_record()
}
probe _addevent.nfsd.open.entry = nfsd.open{
log_nfsd_open($fhp, type, access)
}
probe addevent.nfsd.open.return = _addevent.nfsd.open.return{
update_record()
}
probe _addevent.nfsd.open.return = nfsd.open.return{
log_nfs_return(HOOKID_NFSD_OPEN_RETURN, $return)
}
probe addevent.nfsd.close.entry = _addevent.nfsd.close.entry{
update_record()
}
probe _addevent.nfsd.close.entry = nfsd.close{
log_nfsd_close(filename)
}
probe addevent.nfsd.close.return = _addevent.nfsd.close.return{
update_record()
}
probe _addevent.nfsd.close.return = nfsd.close.return{
}
probe addevent.nfsd.read.entry = _addevent.nfsd.read.entry{
update_record()
}
probe _addevent.nfsd.read.entry = nfsd.read{
log_nfsd_read($fhp, count, offset, $vec, vlen)
}
probe addevent.nfsd.read.return = _addevent.nfsd.read.return{
update_record()
}
probe _addevent.nfsd.read.return = nfsd.read.return{
log_nfs_return(HOOKID_NFSD_READ_RETURN, $return)
}
probe addevent.nfsd.write.entry = _addevent.nfsd.write.entry{
update_record()
}
probe _addevent.nfsd.write.entry = nfsd.write{
log_nfsd_write($fhp, count, offset, $vec, vlen)
}
probe addevent.nfsd.write.return = _addevent.nfsd.write.return{
update_record()
}
probe _addevent.nfsd.write.return = nfsd.write.return{
log_nfs_return(HOOKID_NFSD_WRITE_RETURN, $return)
}
probe addevent.nfsd.commit.entry = _addevent.nfsd.commit.entry{
update_record()
}
probe _addevent.nfsd.commit.entry = nfsd.commit{
log_nfsd_commit($fhp, count, offset)
}
probe addevent.nfsd.commit.return = _addevent.nfsd.commit.return{
update_record()
}
probe _addevent.nfsd.commit.return = nfsd.commit.return{
log_nfs_return(HOOKID_NFSD_COMMIT_RETURN, $return)
}
probe addevent.nfsd.proc = addevent.nfsd.proc.entry, addevent.nfsd.proc.return{
}
probe addevent.nfsd.proc.entry = addevent.nfsd.proc.lookup.entry, addevent.nfsd.proc.read.entry, addevent.nfsd.proc.write.entry, addevent.nfsd.proc.commit.entry, addevent.nfsd.proc.compound.entry, addevent.nfsd.proc.remove.entry, addevent.nfsd.proc.rename.entry, addevent.nfsd.proc.create.entry{
}
probe addevent.nfsd.proc.return = addevent.nfsd.proc.lookup.return, addevent.nfsd.proc.read.return, addevent.nfsd.proc.write.return, addevent.nfsd.proc.commit.return, addevent.nfsd.proc.compound.return, addevent.nfsd.proc.remove.return, addevent.nfsd.proc.rename.return, addevent.nfsd.proc.create.return{
}
probe addevent.nfsd.proc.lookup.entry = _addevent.nfsd.proc.lookup.entry{
update_record()
}
probe _addevent.nfsd.proc.lookup.entry = nfsd.proc.lookup{
log_nfsd_proc_lookup(fh, version, filename)
}
probe addevent.nfsd.proc.lookup.return = _addevent.nfsd.proc.lookup.return{
update_record()
}
probe _addevent.nfsd.proc.lookup.return = nfsd.proc.lookup.return{
log_nfs_return(HOOKID_NFSD_PROC_LOOKUP_RETURN, $return)
}
probe addevent.nfsd.proc.read.entry = _addevent.nfsd.proc.read.entry{
update_record()
}
probe _addevent.nfsd.proc.read.entry = nfsd.proc.read{
log_nfsd_proc_read(fh, version, count, offset, vec, vlen)
}
probe addevent.nfsd.proc.read.return = _addevent.nfsd.proc.read.return{
update_record()
}
probe _addevent.nfsd.proc.read.return = nfsd.proc.read.return{
log_nfs_return(HOOKID_NFSD_PROC_READ_RETURN, $return)
}
probe addevent.nfsd.proc.write.entry = _addevent.nfsd.proc.write.entry{
update_record()
}
probe _addevent.nfsd.proc.write.entry = nfsd.proc.write{
log_nfsd_proc_write(fh, version, count, offset, vec, vlen)
}
probe addevent.nfsd.proc.write.return = _addevent.nfsd.proc.write.return{
update_record()
}
probe _addevent.nfsd.proc.write.return = nfsd.proc.write.return{
log_nfs_return(HOOKID_NFSD_PROC_WRITE_RETURN, $return)
}
probe addevent.nfsd.proc.commit.entry = _addevent.nfsd.proc.commit.entry{
update_record()
}
probe _addevent.nfsd.proc.commit.entry = nfsd.proc.commit{
log_nfsd_proc_commit(fh, version, count
probe addevent.nfsd.rename.return = _addevent.nfsd.rename.return{
update_record()
}
probe _addevent.nfsd.rename.return = nfsd.rename.return{
log_nfs_return(HOOKID_NFSD_RENAME_RETURN, $return)
}
probe addevent.nfsd.open.entry = _addevent.nfsd.open.entry{
update_record()
}
probe _addevent.nfsd.open.entry = nfsd.open{
log_nfsd_open($fhp, type, access)
}
probe addevent.nfsd.open.return = _addevent.nfsd.open.return{
update_record()
}
probe _addevent.nfsd.open.return = nfsd.open.return{
log_nfs_return(HOOKID_NFSD_OPEN_RETURN, $return)
}
probe addevent.nfsd.close.entry = _addevent.nfsd.close.entry{
update_record()
}
probe _addevent.nfsd.close.entry = nfsd.close{
log_nfsd_close(filename)
}
probe addevent.nfsd.close.return = _addevent.nfsd.close.return{
update_record()
}
probe _addevent.nfsd.close.return = nfsd.close.return{
}
probe addevent.nfsd.read.entry = _addevent.nfsd.read.entry{
update_record()
}
probe _addevent.nfsd.read.entry = nfsd.read{
log_nfsd_read($fhp, count, offset, $vec, vlen)
}
probe addevent.nfsd.read.return = _addevent.nfsd.read.return{
update_record()
}
probe _addevent.nfsd.read.return = nfsd.read.return{
log_nfs_return(HOOKID_NFSD_READ_RETURN, $return)
}
probe addevent.nfsd.write.entry = _addevent.nfsd.write.entry{
update_record()
}
probe _addevent.nfsd.write.entry = nfsd.write{
log_nfsd_write($fhp, count, offset, $vec, vlen)
}
probe addevent.nfsd.write.return = _addevent.nfsd.write.return{
update_record()
}
probe _addevent.nfsd.write.return = nfsd.write.return{
log_nfs_return(HOOKID_NFSD_WRITE_RETURN, $return)
}
probe addevent.nfsd.commit.entry = _addevent.nfsd.commit.entry{
update_record()
}
probe _addevent.nfsd.commit.entry = nfsd.commit{
log_nfsd_commit($fhp, count, offset)
}
probe addevent.nfsd.commit.return = _addevent.nfsd.commit.return{
update_record()
}
probe _addevent.nfsd.commit.return = nfsd.commit.return{
log_nfs_return(HOOKID_NFSD_COMMIT_RETURN, $return)
}
probe addevent.nfsd.proc = addevent.nfsd.proc.entry, addevent.nfsd.proc.return{
}
probe addevent.nfsd.proc.entry = addevent.nfsd.proc.lookup.entry, addevent.nfsd.proc.read.entry, addevent.nfsd.proc.write.entry, addevent.nfsd.proc.commit.entry, addevent.nfsd.proc.compound.entry, addevent.nfsd.proc.remove.entry, addevent.nfsd.proc.rename.entry, addevent.nfsd.proc.create.entry{
}
probe addevent.nfsd.proc.return = addevent.nfsd.proc.lookup.return, addevent.nfsd.proc.read.return, addevent.nfsd.proc.write.return, addevent.nfsd.proc.commit.return, addevent.nfsd.proc.compound.return, addevent.nfsd.proc.remove.return, addevent.nfsd.proc.rename.return, addevent.nfsd.proc.create.return{
}
probe addevent.nfsd.proc.lookup.entry = _addevent.nfsd.proc.lookup.entry{
update_record()
}
probe _addevent.nfsd.proc.lookup.entry = nfsd.proc.lookup{
log_nfsd_proc_lookup(fh, version, filename)
}
probe addevent.nfsd.proc.lookup.return = _addevent.nfsd.proc.lookup.return{
update_record()
}
probe _addevent.nfsd.proc.lookup.return = nfsd.proc.lookup.return{
log_nfs_return(HOOKID_NFSD_PROC_LOOKUP_RETURN, $return)
}
probe addevent.nfsd.proc.read.entry = _addevent.nfsd.proc.read.entry{
update_record()
}
probe _addevent.nfsd.proc.read.entry = nfsd.proc.read{
log_nfsd_proc_read(fh, version, count, offset, vec, vlen)
}
probe addevent.nfsd.proc.read.return = _addevent.nfsd.proc.read.return{
update_record()
}
probe _addevent.nfsd.proc.read.return = nfsd.proc.read.return{
log_nfs_return(HOOKID_NFSD_PROC_READ_RETURN, $return)
}
probe addevent.nfsd.proc.write.entry = _addevent.nfsd.proc.write.entry{
update_record()
}
probe _addevent.nfsd.proc.write.entry = nfsd.proc.write{
log_nfsd_proc_write(fh, version, count, offset, vec, vlen)
}
probe addevent.nfsd.proc.write.return = _addevent.nfsd.proc.write.return{
update_record()
}
probe _addevent.nfsd.proc.write.return = nfsd.proc.write.return{
log_nfs_return(HOOKID_NFSD_PROC_WRITE_RETURN, $return)
}
probe addevent.nfsd.proc.commit.entry = _addevent.nfsd.proc.commit.entry{
update_record()
}
probe _addevent.nfsd.proc.commit.entry = nfsd.proc.commit{
, offset)
}
probe addevent.nfsd.proc.commit.return = _addevent.nfsd.proc.commit.return{
update_record()
}
probe _addevent.nfsd.proc.commit.return = nfsd.proc.commit.return{
log_nfs_return(HOOKID_NFSD_PROC_COMMIT_RETURN, $return)
}
probe addevent.nfsd.proc.compound.entry = _addevent.nfsd.proc.compound.entry{
update_record()
}
probe _addevent.nfsd.proc.compound.entry = nfsd.proc.compound{
log_nfsd_proc_compound(num)
}
probe addevent.nfsd.proc.compound.return = _addevent.nfsd.proc.compound.return{
update_record()
}
probe _addevent.nfsd.proc.compound.return = nfsd.proc.compound.return{
log_nfs_return(HOOKID_NFSD_PROC_COMPOUND_RETURN, $return)
}
probe addevent.nfsd.proc.remove.entry = _addevent.nfsd.proc.remove.entry{
update_record()
}
probe _addevent.nfsd.proc.remove.entry = nfsd.proc.remove{
log_nfsd_proc_remove(fh, version, filename)
}
probe addevent.nfsd.proc.remove.return = _addevent.nfsd.proc.remove.return{
update_record()
}
probe _addevent.nfsd.proc.remove.return = nfsd.proc.remove.return{
log_nfs_return(HOOKID_NFSD_PROC_REMOVE_RETURN, $return)
}
probe addevent.nfsd.proc.rename.entry = _addevent.nfsd.proc.rename.entry{
update_record()
}
probe _addevent.nfsd.proc.rename.entry = nfsd.proc.rename{
log_nfsd_proc_rename(fh, version, filename, tfh, tname)
}
probe addevent.nfsd.proc.rename.return = _addevent.nfsd.proc.rename.return{
update_record()
}
probe _addevent.nfsd.proc.rename.return = nfsd.proc.rename.return{
log_nfs_return(HOOKID_NFSD_PROC_RENAME_RETURN, $return)
}
probe addevent.nfsd.proc.create.entry = _addevent.nfsd.proc.create.entry{
update_record()
}
probe _addevent.nfsd.proc.create.entry = nfsd.proc.create{
log_nfsd_proc_create(fh, version, filename)
}
probe addevent.nfsd.proc.create.return = _addevent.nfsd.proc.create.return{
update_record()
}
probe _addevent.nfsd.proc.create.return = nfsd.proc.create.return{
log_nfs_return(HOOKID_NFSD_PROC_CREATE_RETURN, $return)
}
probe never{
printf("%d\\n", GROUP_PROCESS)
}
function log_nfsd_dispatch (client_ip, proto, version, xid, prog, proc)
%{
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_DISPATCH_ENTRY,"%1b%1b%4b%4b%4b",
THIS->proto,THIS->version,THIS->xid,THIS->proc,THIS->client_ip);
%}
function log_nfsd_lookup (fhp, filename)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_LOOKUP_ENTRY,"%1b%8b%8b%8b%0s",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename);
%}
function log_nfsd_create (fhp, filename, type, iap_valid, iap_mode)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CREATE_ENTRY,"%1b%8b%8b%8b%0s%4b%2b%4b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename,
THIS->type,THIS->iap_valid,THIS->iap_mode);
%}
function log_nfsd_createv3 (fhp, filename, createmode, iap_valid, iap_mode)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CREATEV3_ENTRY,"%1b%8b%8b%8b%0s%1b%2b%4b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename,
THIS->createmode,THIS->iap_valid,THIS->iap_mode);
%}
function log_nfsd_unlink (fhp, filename, type)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_UNLINK_ENTRY,"%1b%8b%8b%8b%0s%4b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->filename,THIS->type);
%}
function log_nfsd_rename (fhp, filename, tfhp, tname)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct svc_fh * tfhp = (struct svc_fh*)((long)THIS->tfhp);
__u64 old_ino[3],i_ino[3];
decode_fh(&fhp->fh_handle,old_ino);
decode_fh(&tfhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_RENA
log_nfsd_proc_commit(fh, version, count, offset)
}
probe addevent.nfsd.proc.commit.return = _addevent.nfsd.proc.commit.return{
update_record()
}
probe _addevent.nfsd.proc.commit.return = nfsd.proc.commit.return{
log_nfs_return(HOOKID_NFSD_PROC_COMMIT_RETURN, $return)
}
probe addevent.nfsd.proc.compound.entry = _addevent.nfsd.proc.compound.entry{
update_record()
}
probe _addevent.nfsd.proc.compound.entry = nfsd.proc.compound{
log_nfsd_proc_compound(num)
}
probe addevent.nfsd.proc.compound.return = _addevent.nfsd.proc.compound.return{
update_record()
}
probe _addevent.nfsd.proc.compound.return = nfsd.proc.compound.return{
log_nfs_return(HOOKID_NFSD_PROC_COMPOUND_RETURN, $return)
}
probe addevent.nfsd.proc.remove.entry = _addevent.nfsd.proc.remove.entry{
update_record()
}
probe _addevent.nfsd.proc.remove.entry = nfsd.proc.remove{
log_nfsd_proc_remove(fh, version, filename)
}
probe addevent.nfsd.proc.remove.return = _addevent.nfsd.proc.remove.return{
update_record()
}
probe _addevent.nfsd.proc.remove.return = nfsd.proc.remove.return{
log_nfs_return(HOOKID_NFSD_PROC_REMOVE_RETURN, $return)
}
probe addevent.nfsd.proc.rename.entry = _addevent.nfsd.proc.rename.entry{
update_record()
}
probe _addevent.nfsd.proc.rename.entry = nfsd.proc.rename{
log_nfsd_proc_rename(fh, version, filename, tfh, tname)
}
probe addevent.nfsd.proc.rename.return = _addevent.nfsd.proc.rename.return{
update_record()
}
probe _addevent.nfsd.proc.rename.return = nfsd.proc.rename.return{
log_nfs_return(HOOKID_NFSD_PROC_RENAME_RETURN, $return)
}
probe addevent.nfsd.proc.create.entry = _addevent.nfsd.proc.create.entry{
update_record()
}
probe _addevent.nfsd.proc.create.entry = nfsd.proc.create{
log_nfsd_proc_create(fh, version, filename)
}
probe addevent.nfsd.proc.create.return = _addevent.nfsd.proc.create.return{
update_record()
}
probe _addevent.nfsd.proc.create.return = nfsd.proc.create.return{
log_nfs_return(HOOKID_NFSD_PROC_CREATE_RETURN, $return)
}
probe never{
printf("%d\\n", GROUP_PROCESS)
}
function log_nfsd_dispatch (client_ip, proto, version, xid, prog, proc)
%{
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_DISPATCH_ENTRY,"%1b%1b%4b%4b%4b",
THIS->proto,THIS->version,THIS->xid,THIS->proc,THIS->client_ip);
%}
function log_nfsd_lookup (fhp, filename)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_LOOKUP_ENTRY,"%1b%8b%8b%8b%0s",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename);
%}
function log_nfsd_create (fhp, filename, type, iap_valid, iap_mode)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CREATE_ENTRY,"%1b%8b%8b%8b%0s%4b%2b%4b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename,
THIS->type,THIS->iap_valid,THIS->iap_mode);
%}
function log_nfsd_createv3 (fhp, filename, createmode, iap_valid, iap_mode)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CREATEV3_ENTRY,"%1b%8b%8b%8b%0s%1b%2b%4b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename,
THIS->createmode,THIS->iap_valid,THIS->iap_mode);
%}
function log_nfsd_unlink (fhp, filename, type)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_UNLINK_ENTRY,"%1b%8b%8b%8b%0s%4b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->filename,THIS->type);
%}
function log_nfsd_rename (fhp, filename, tfhp, tname)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct svc_fh * tfhp = (struct svc_fh*)((long)THIS->tfhp);
__u64 old_ino[3],i_ino[3];
decode_fh(&fhp->fh_handle,old_ino);
decode_fh(&tfhp->fh_handle,i_ino);
ME_ENTRY,"%1b%8b%8b%8b%0s%1b%8b%8b%8b%0s",
(_FMT_)fhp->fh_handle.fh_size,old_ino[0],old_ino[1],old_ino[2],
THIS->filename, (_FMT_)tfhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->tname);
%}
function log_nfsd_open (fhp, type, access)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_OPEN_ENTRY,"%1b%8b%8b%8b%4b%1b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->type,THIS->access);
%}
function log_nfsd_close (filename)
%{ /*pure*/
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CLOSE_ENTRY,"%0s",THIS->filename);
%}
function log_nfsd_read (fhp, count, offset, vec, vlen)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct kvec * vec = (struct kvec *)((long)THIS->vec);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_READ_ENTRY,"%1b%8b%8b%8b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_write (fhp, count, offset, vec, vlen)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct kvec * vec = (struct kvec *)((long)THIS->vec);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_WRITE_ENTRY,"%1b%8b%8b%8b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_commit (fhp, count, offset)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_COMMIT_ENTRY,"%1b%8b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->count,THIS->offset);
%}
function log_nfsd_proc_lookup (fh, version, filename)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fh);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_LOOKUP_ENTRY,"%1b%8b%8b%8b%1b%0s",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->version,THIS->filename);
%}
function log_nfsd_proc_read (fhp, version, count, offset, vec, vlen)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct kvec * vec = (struct kvec *)((long)THIS->vec);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_READ_ENTRY,"%1b%8b%8b%8b%1b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_proc_write (fhp, version, count, offset, vec, vlen)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct kvec * vec = (struct kvec *)((long)THIS->vec);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_WRITE_ENTRY,"%1b%8b%8b%8b%1b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_proc_commit (fhp, version, count, offset)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_COMMIT_ENTRY,"%1b%8b%8b%8b%1b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
THIS->count,THIS->offset);
%}
function log_nfsd_proc_compound (num)
%{ /*pure*/
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_COMPOUND_ENTRY,"%4b", THIS->num);
%}
function log_nfsd_proc_remove (fhp, version, filename)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_REMOVE_ENTRY,"%1b%8b%8b%8b%1b%0s",
(_FMT_)fhp->fh_handle.fh_size,i_ino[
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_RENAME_ENTRY,"%1b%8b%8b%8b%0s%1b%8b%8b%8b%0s",
(_FMT_)fhp->fh_handle.fh_size,old_ino[0],old_ino[1],old_ino[2],
THIS->filename, (_FMT_)tfhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->tname);
%}
function log_nfsd_open (fhp, type, access)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_OPEN_ENTRY,"%1b%8b%8b%8b%4b%1b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->type,THIS->access);
%}
function log_nfsd_close (filename)
%{ /*pure*/
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CLOSE_ENTRY,"%0s",THIS->filename);
%}
function log_nfsd_read (fhp, count, offset, vec, vlen)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct kvec * vec = (struct kvec *)((long)THIS->vec);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_READ_ENTRY,"%1b%8b%8b%8b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_write (fhp, count, offset, vec, vlen)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct kvec * vec = (struct kvec *)((long)THIS->vec);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_WRITE_ENTRY,"%1b%8b%8b%8b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_commit (fhp, count, offset)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_COMMIT_ENTRY,"%1b%8b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->count,THIS->offset);
%}
function log_nfsd_proc_lookup (fh, version, filename)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fh);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_LOOKUP_ENTRY,"%1b%8b%8b%8b%1b%0s",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->version,THIS->filename);
%}
function log_nfsd_proc_read (fhp, version, count, offset, vec, vlen)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct kvec * vec = (struct kvec *)((long)THIS->vec);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_READ_ENTRY,"%1b%8b%8b%8b%1b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_proc_write (fhp, version, count, offset, vec, vlen)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct kvec * vec = (struct kvec *)((long)THIS->vec);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_WRITE_ENTRY,"%1b%8b%8b%8b%1b%8b%8b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_proc_commit (fhp, version, count, offset)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_COMMIT_ENTRY,"%1b%8b%8b%8b%1b%8b%8b",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
THIS->count,THIS->offset);
%}
function log_nfsd_proc_compound (num)
%{ /*pure*/
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_COMPOUND_ENTRY,"%4b", THIS->num);
%}
function log_nfsd_proc_remove (fhp, version, filename)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_REMOVE_ENTRY,"%1b%8b%8b%8b%1b%0s",
0],i_ino[1],i_ino[2],THIS->version,
THIS->filename);
%}
function log_nfsd_proc_rename (fhp, version, filename, tfh, tname)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct svc_fh * tfhp = (struct svc_fh*)((long)THIS->tfh);
__u64 i_ino[3],o_ino[3];
decode_fh(&fhp->fh_handle,o_ino);
decode_fh(&tfhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_RENAME_ENTRY,"%1b%1b%8b%8b%8b%0s%1b%8b%8b%8b%0s",
THIS->version,(_FMT_)fhp->fh_handle.fh_size,o_ino[0],o_ino[1],o_ino[2],
THIS->filename, (_FMT_)tfhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->tname);
%}
function log_nfsd_proc_create (fhp, version, filename)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_CREATE_ENTRY,"%1b%8b%8b%8b%1b%0s",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->version,THIS->filename);
%}
# file /usr/local/share/systemtap/tapset/LKET/pagefault.stp
probe addevent.pagefault = _addevent.pagefault{
update_record()
}
probe _addevent.pagefault = vm.pagefault{
log_pagefault_tracedata($address, $write_access)
}
function log_pagefault_tracedata (var_addr, var_rwflag)
%{
_lket_trace(_GROUP_PAGEFAULT, _HOOKID_PAGEFAULT, "%8b%1b",
THIS->var_addr, (_FMT_)((THIS->var_rwflag)?1:0));
%}
# file /usr/local/share/systemtap/tapset/LKET/process.stp
probe addevent.process = addevent.process.exit{
}
probe addevent.process.exit = addevent.process.exit.entry{
}
probe addevent.process.exit.entry = _addevent.process.exit.entry{
update_record()
}
probe _addevent.process.exit.entry = process.exit{
log_process_exit(code)
}
probe lket_internal.process = lket_internal.process.execve, lket_internal.process.fork{
}
probe lket_internal.process.execve = _lket_internal.process.execve{
update_record()
}
probe _lket_internal.process.execve = process.exec{
if ((stoptrace_exec) == (1)) next
;
log_execve_tracedata($filename)
}
probe lket_internal.process.fork = _lket_internal.process.fork{
update_record()
}
probe _lket_internal.process.fork = process.create{
if ((stoptrace_fork) == (1)) next
;
log_fork_tracedata($return)
}
probe lket_internal.process{
}
function log_execve_tracedata (var)
%{
long tmp=(long)THIS->var;
_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_EXECVE, "%4b%4b%4b%0s",
(_FMT_)current->pid, (_FMT_)current->tgid,
(_FMT_)current->parent->tgid, (char *)tmp);
%}
function log_fork_tracedata (task)
%{
/*
pid_t pid = (pid_t)THIS->var;
_lket_trace(_GROUP_PROCESS, THIS->var_id, "%4b", (_FMT_)pid);
*/
struct task_struct *task = (struct task_struct *)((long)THIS->task);
_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_FORK, "%4b%4b%4b", (_FMT_)task->pid,
(_FMT_)task->tgid, (_FMT_)task->parent->tgid);
%}
function process_snapshot ()
%{
struct task_struct *tsk;
struct list_head *cur, *head;
_stp_pbuf *pb;
int cpu = smp_processor_id();
char *total_length;
head = &(current->tasks);
/* iterate all the processes, and record the pid and process
name for each entry */
for_each_process(tsk) {
_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_SNAPSHOT, "%4b%4b%4b%0s",
(_FMT_)tsk->pid, (_FMT_)tsk->tgid, (_FMT_)tsk->parent->tgid, tsk->comm);
#if !defined(ASCII_TRACE)
pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
total_length = &(pb->buf[0]);
*(int16_t *)total_length = pb->len - 4;
#endif
_stp_print_flush();
}
%}
function log_process_exit (code)
%{
_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_EXIT_ENTRY,
"%8b", THIS->code);
%}
# file /usr/local/share/systemtap/tapset/LKET/register_event.stp
%{
#define _MAXGROUPID 0xFF
#define _MAXHOOKID 0xFF
int get_fmtcode(char *fmt)
{
if(strncmp(fmt, "INT8", 4) != 0 &&
strncmp(fmt, "INT16", 5) != 0 &&
strncmp(fmt, "INT32", 5) != 0 &&
strncmp(fmt, "INT64", 5) != 0 &&
strncmp(fmt, "STRING", 6) != 0)
return -1;
else
return 0;
}
void _register_event(int grpid, int h
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
THIS->filename);
%}
function log_nfsd_proc_rename (fhp, version, filename, tfh, tname)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
struct svc_fh * tfhp = (struct svc_fh*)((long)THIS->tfh);
__u64 i_ino[3],o_ino[3];
decode_fh(&fhp->fh_handle,o_ino);
decode_fh(&tfhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_RENAME_ENTRY,"%1b%1b%8b%8b%8b%0s%1b%8b%8b%8b%0s",
THIS->version,(_FMT_)fhp->fh_handle.fh_size,o_ino[0],o_ino[1],o_ino[2],
THIS->filename, (_FMT_)tfhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->tname);
%}
function log_nfsd_proc_create (fhp, version, filename)
%{ /*pure*/
struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
__u64 i_ino[3];
decode_fh(&fhp->fh_handle,i_ino);
_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_CREATE_ENTRY,"%1b%8b%8b%8b%1b%0s",
(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
THIS->version,THIS->filename);
%}
# file /usr/local/share/systemtap/tapset/LKET/pagefault.stp
probe addevent.pagefault = _addevent.pagefault{
update_record()
}
probe _addevent.pagefault = vm.pagefault{
log_pagefault_tracedata($address, $write_access)
}
function log_pagefault_tracedata (var_addr, var_rwflag)
%{
_lket_trace(_GROUP_PAGEFAULT, _HOOKID_PAGEFAULT, "%8b%1b",
THIS->var_addr, (_FMT_)((THIS->var_rwflag)?1:0));
%}
# file /usr/local/share/systemtap/tapset/LKET/process.stp
probe addevent.process = addevent.process.exit{
}
probe addevent.process.exit = addevent.process.exit.entry{
}
probe addevent.process.exit.entry = _addevent.process.exit.entry{
update_record()
}
probe _addevent.process.exit.entry = process.exit{
log_process_exit(code)
}
probe lket_internal.process = lket_internal.process.execve, lket_internal.process.fork{
}
probe lket_internal.process.execve = _lket_internal.process.execve{
update_record()
}
probe _lket_internal.process.execve = process.exec{
if ((stoptrace_exec) == (1)) next
;
log_execve_tracedata($filename)
}
probe lket_internal.process.fork = _lket_internal.process.fork{
update_record()
}
probe _lket_internal.process.fork = process.create{
if ((stoptrace_fork) == (1)) next
;
log_fork_tracedata($return)
}
probe lket_internal.process{
}
function log_execve_tracedata (var)
%{
long tmp=(long)THIS->var;
_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_EXECVE, "%4b%4b%4b%0s",
(_FMT_)current->pid, (_FMT_)current->tgid,
(_FMT_)current->parent->tgid, (char *)tmp);
%}
function log_fork_tracedata (task)
%{
/*
pid_t pid = (pid_t)THIS->var;
_lket_trace(_GROUP_PROCESS, THIS->var_id, "%4b", (_FMT_)pid);
*/
struct task_struct *task = (struct task_struct *)((long)THIS->task);
_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_FORK, "%4b%4b%4b", (_FMT_)task->pid,
(_FMT_)task->tgid, (_FMT_)task->parent->tgid);
%}
function process_snapshot ()
%{
struct task_struct *tsk;
struct list_head *cur, *head;
_stp_pbuf *pb;
int cpu = smp_processor_id();
char *total_length;
head = &(current->tasks);
/* iterate all the processes, and record the pid and process
name for each entry */
for_each_process(tsk) {
_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_SNAPSHOT, "%4b%4b%4b%0s",
(_FMT_)tsk->pid, (_FMT_)tsk->tgid, (_FMT_)tsk->parent->tgid, tsk->comm);
#if !defined(ASCII_TRACE)
pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
total_length = &(pb->buf[0]);
*(int16_t *)total_length = pb->len - 4;
#endif
_stp_print_flush();
}
%}
function log_process_exit (code)
%{
_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_EXIT_ENTRY,
"%8b", THIS->code);
%}
# file /usr/local/share/systemtap/tapset/LKET/register_event.stp
%{
#define _MAXGROUPID 0xFF
#define _MAXHOOKID 0xFF
int get_fmtcode(char *fmt)
{
if(strncmp(fmt, "INT8", 4) != 0 &&
strncmp(fmt, "INT16", 5) != 0 &&
strncmp(fmt, "INT32", 5) != 0 &&
strncmp(fmt, "INT64", 5) != 0 &&
strncmp(fmt, "STRING", 6) != 0)
return -1;
else
return 0;
}
ookid, int evt_type, char *fmt, char *names)
{
char in_fmt[512], in_name[512];
char *p_in_fmt, *p_in_name;
char *_fmt, *name;
_stp_pbuf * pb;
int cpu = smp_processor_id();
char *total_length;
p_in_fmt = in_fmt;
p_in_name = in_name;
if(!strncmp(fmt,"",1) && !strncmp(names,"",1)) {
_lket_trace(_GROUP_REGEVT,evt_type,"%1b%1b",(_FMT_)grpid, (_FMT_)hookid);
goto reg_epilogue;
}
if( grpid <= 0 || grpid > _MAXGROUPID ||
hookid <= 0 || hookid > _MAXHOOKID) {
_stp_warn("register_event: wrong groupid/hookid, type: %d, grp:%d, hkid:%d\n",
evt_type, grpid, hookid);
_stp_exit();
}
strncpy(in_fmt, fmt, 512);
strncpy(in_name, names, 512);
_fmt = strsep(&p_in_fmt, ":");
name = strsep(&p_in_name, ":");
while(_fmt!=NULL && name!=NULL) {
if(get_fmtcode(_fmt) == -1) {
_stp_warn("error in fmt string\n");
_stp_exit();
}
_fmt = strsep(&p_in_fmt, ":");
name = strsep(&p_in_name, ":");
}
if(_fmt!=NULL || name != NULL) {
_stp_warn("unpaired types/names, grpid:%d, hookid:%d\n",
grpid, hookid);
_stp_exit();
}
_lket_trace(_GROUP_REGEVT, evt_type, "%1b%1b%0s%0s", (_FMT_)grpid,
(_FMT_)hookid, fmt, names);
reg_epilogue:
#if !defined(ASCII_TRACE)
pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
total_length = &(pb->buf[0]);
*(int16_t *)total_length = pb->len - 4;
#endif
_stp_print_flush();
}
void _register_evt_desc(int grpid, int hookid, int evt_type, char *desc)
{
_stp_pbuf * pb;
char *total_length;
int cpu = smp_processor_id();
if(!strncmp(desc,"",1)) {
_stp_warn("empty event description for grpid:%d, hookid:%d\n",
grpid, hookid);
_stp_exit();
}
if( grpid <= 0 || grpid > _MAXGROUPID ||
hookid <= 0 || hookid > _MAXHOOKID) {
_stp_warn("_register_evt_desc: wrong groupid/hookid, type: %d, event: %s, grp:%d, hkid:%d\n",
evt_type, desc, grpid, hookid);
_stp_exit();
_stp_exit();
}
_lket_trace(_GROUP_REGEVT, evt_type, "%1b%1b%0s", (_FMT_)grpid, (_FMT_)hookid, desc);
#if !defined(ASCII_TRACE)
pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
total_length = &(pb->buf[0]);
*(int16_t *)total_length = pb->len - 4;
#endif
_stp_print_flush();
}
void _register_sys_event (char *event_desc, int grpid, int hookid, char *fmt, char *field_name)
{
_register_evt_desc(grpid, hookid, _HOOKID_REGEVTDESC, event_desc);
_register_event(grpid, hookid, _HOOKID_REGSYSEVT, fmt, field_name);
}
%}global usr_field_name
global usr_evt_fmt
global have_userevent
probe register_event = begin{
(have_userevent) = (1)
hookid_init()
}
function dummy_c_function ()
%{
%}
function register_user_event (grpid, hookid, fmt, field_name)
{
(usr_evt_fmt[grpid, hookid]) = (fmt)
(usr_field_name[grpid, hookid]) = (field_name)
dummy_c_function()
}
function write_events_desc ()
{
if ((have_userevent) == (1)) {
foreach ([grpid, hookid] in usr_evt_fmt) {
register_event(grpid, hookid, HOOKID_REGUSREVT, usr_evt_fmt[grpid, hookid], usr_field_name[grpid, hookid])
}
delete usr_field_name
delete usr_evt_fmt
}
}
function register_event (grpid, hookid, evt_type, fmt, names)
%{
_register_event(THIS->grpid, THIS->hookid, THIS->evt_type, THIS->fmt, THIS->names);
%}
function register_sys_events ()
%{
_register_sys_event("syscall.entry", _GROUP_SYSCALL, _HOOKID_SYSCALL_ENTRY,
"STRING", "syscall");
_register_sys_event("syscall.return", _GROUP_SYSCALL, _HOOKID_SYSCALL_RETURN,
"STRING", "syscall");
_register_sys_event("process_snapshot", _GROUP_PROCESS, _HOOKID_PROCESS_SNAPSHOT,
"INT32:INT32:INT32:STRING", "tid:pid:ppid:pname");
_register_sys_event("process.execve", _GROUP_PROCESS, _HOOKID_PROCESS_EXECVE,
"INT32:INT32:INT32:STRING", "tid:pid:ppid:pname");
_register_sys_event("process.fork", _GROUP_PROCESS, _HOOKID_PROCESS_FORK,
"INT32:INT32:INT32", "tid:pid:ppid");
_register_sys_event("process.exit.entry", _GROUP_PROCESS, _HOOKID_PROCESS_EXIT_ENTRY,
"INT64", "code");
_register_sys_event("ioscheduler.elv_next_request.en
void _register_event(int grpid, int hookid, int evt_type, char *fmt, char *names)
{
char in_fmt[512], in_name[512];
char *p_in_fmt, *p_in_name;
char *_fmt, *name;
_stp_pbuf * pb;
int cpu = smp_processor_id();
char *total_length;
p_in_fmt = in_fmt;
p_in_name = in_name;
if(!strncmp(fmt,"",1) && !strncmp(names,"",1)) {
_lket_trace(_GROUP_REGEVT,evt_type,"%1b%1b",(_FMT_)grpid, (_FMT_)hookid);
goto reg_epilogue;
}
if( grpid <= 0 || grpid > _MAXGROUPID ||
hookid <= 0 || hookid > _MAXHOOKID) {
_stp_warn("register_event: wrong groupid/hookid, type: %d, grp:%d, hkid:%d\n",
evt_type, grpid, hookid);
_stp_exit();
}
strncpy(in_fmt, fmt, 512);
strncpy(in_name, names, 512);
_fmt = strsep(&p_in_fmt, ":");
name = strsep(&p_in_name, ":");
while(_fmt!=NULL && name!=NULL) {
if(get_fmtcode(_fmt) == -1) {
_stp_warn("error in fmt string\n");
_stp_exit();
}
_fmt = strsep(&p_in_fmt, ":");
name = strsep(&p_in_name, ":");
}
if(_fmt!=NULL || name != NULL) {
_stp_warn("unpaired types/names, grpid:%d, hookid:%d\n",
grpid, hookid);
_stp_exit();
}
_lket_trace(_GROUP_REGEVT, evt_type, "%1b%1b%0s%0s", (_FMT_)grpid,
(_FMT_)hookid, fmt, names);
reg_epilogue:
#if !defined(ASCII_TRACE)
pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
total_length = &(pb->buf[0]);
*(int16_t *)total_length = pb->len - 4;
#endif
_stp_print_flush();
}
void _register_evt_desc(int grpid, int hookid, int evt_type, char *desc)
{
_stp_pbuf * pb;
char *total_length;
int cpu = smp_processor_id();
if(!strncmp(desc,"",1)) {
_stp_warn("empty event description for grpid:%d, hookid:%d\n",
grpid, hookid);
_stp_exit();
}
if( grpid <= 0 || grpid > _MAXGROUPID ||
hookid <= 0 || hookid > _MAXHOOKID) {
_stp_warn("_register_evt_desc: wrong groupid/hookid, type: %d, event: %s, grp:%d, hkid:%d\n",
evt_type, desc, grpid, hookid);
_stp_exit();
_stp_exit();
}
_lket_trace(_GROUP_REGEVT, evt_type, "%1b%1b%0s", (_FMT_)grpid, (_FMT_)hookid, desc);
#if !defined(ASCII_TRACE)
pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
total_length = &(pb->buf[0]);
*(int16_t *)total_length = pb->len - 4;
#endif
_stp_print_flush();
}
void _register_sys_event (char *event_desc, int grpid, int hookid, char *fmt, char *field_name)
{
_register_evt_desc(grpid, hookid, _HOOKID_REGEVTDESC, event_desc);
_register_event(grpid, hookid, _HOOKID_REGSYSEVT, fmt, field_name);
}
%}global usr_field_name
global usr_evt_fmt
global have_userevent
probe register_event = begin{
(have_userevent) = (1)
hookid_init()
}
function dummy_c_function ()
%{
%}
function register_user_event (grpid, hookid, fmt, field_name)
{
(usr_evt_fmt[grpid, hookid]) = (fmt)
(usr_field_name[grpid, hookid]) = (field_name)
dummy_c_function()
}
function write_events_desc ()
{
if ((have_userevent) == (1)) {
foreach ([grpid, hookid] in usr_evt_fmt) {
register_event(grpid, hookid, HOOKID_REGUSREVT, usr_evt_fmt[grpid, hookid], usr_field_name[grpid, hookid])
}
delete usr_field_name
delete usr_evt_fmt
}
}
function register_event (grpid, hookid, evt_type, fmt, names)
%{
_register_event(THIS->grpid, THIS->hookid, THIS->evt_type, THIS->fmt, THIS->names);
%}
function register_sys_events ()
%{
_register_sys_event("syscall.entry", _GROUP_SYSCALL, _HOOKID_SYSCALL_ENTRY,
"STRING", "syscall");
_register_sys_event("syscall.return", _GROUP_SYSCALL, _HOOKID_SYSCALL_RETURN,
"STRING", "syscall");
_register_sys_event("process_snapshot", _GROUP_PROCESS, _HOOKID_PROCESS_SNAPSHOT,
"INT32:INT32:INT32:STRING", "tid:pid:ppid:pname");
_register_sys_event("process.execve", _GROUP_PROCESS, _HOOKID_PROCESS_EXECVE,
"INT32:INT32:INT32:STRING", "tid:pid:ppid:pname");
_register_sys_event("process.fork", _GROUP_PROCESS, _HOOKID_PROCESS_FORK,
"INT32:INT32:INT32", "tid:pid:ppid");
_register_sys_event("process.exit.entry", _GROUP_PROCESS, _HOOKID_PROCESS_EXIT_ENTRY,
"INT64", "code");
try",
_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_ENTRY,
"STRING", "elv_name");
_register_sys_event("ioscheduler.elv_next_request.return",
_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_RETURN,
"INT8:INT8:INT64:INT64", "major:minor:req_addr:req_flags");
_register_sys_event("ioscheduler.elv_add_request",
_GROUP_IOSCHED, _HOOKID_IOSCHED_ADD_REQ,
"STRING:INT8:INT8:INT64:INT64", "elv_name:major:minor:request:req_flags");
_register_sys_event("ioscheduler.elv_completed_request",
_GROUP_IOSCHED, _HOOKID_IOSCHED_COMPLETE_REQ,
"STRING:INT8:INT8:INT64:INT64", "elv_name:major:minor:request:req_flags");
_register_sys_event("tskdispatch.ctxswitch",
_GROUP_TASK, _HOOKID_TASK_CTXSWITCH,
"INT32:INT32:INT8", "prev_pid:next_pid:prev_state");
_register_sys_event("tskdispatch.cpuidle", _GROUP_TASK, _HOOKID_TASK_CPUIDLE,
"INT32", "cur_pid");
_register_sys_event("scsi.ioentry", _GROUP_SCSI, _HOOKID_SCSI_IOENTRY,
"INT8:INT8:INT8:INT64", "major:minor:sdev_state:request_addr");
_register_sys_event("scsi.iodispatching", _GROUP_SCSI, _HOOKID_SCSI_IO_TO_LLD,
"INT8:INT8:INT8:INT8:INT8:INT8:INT64:INT32:INT64",
"host:channel:lun:dev_id:dev_state:data_dir:reqbuf_addr:reqbuf_len:request_addr");
_register_sys_event("scsi.iodone", _GROUP_SCSI, _HOOKID_SCSI_IODONE_BY_LLD,
"INT8:INT8:INT8:INT8:INT8:INT8:INT64",
"host:channel:lun:dev_id:dev_state:data_dir:request_addr");
_register_sys_event("scsi.iocompleted",
_GROUP_SCSI, _HOOKID_SCSI_IOCOMP_BY_MIDLEVEL,
"INT8:INT8:INT8:INT8:INT8:INT8:INT64:INT32",
"host:channel:lun:dev_id:dev_state:data_dir:request_addr:done_bytes");
_register_sys_event("pagefault", _GROUP_PAGEFAULT, _HOOKID_PAGEFAULT,
"INT64:INT8", "addr:write");
_register_sys_event("netdev.receive", _GROUP_NETDEV, _HOOKID_NETDEV_RECEIVE,
"STRING:INT32:INT16:INT32", "dev_name:data_len:protocol:buff_size");
_register_sys_event("netdev.transmit", _GROUP_NETDEV, _HOOKID_NETDEV_TRANSMIT,
"STRING:INT32:INT16:INT32", "dev_name:data_len:protocol:buff_size");
_register_sys_event("iosyscall.open.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_OPEN_ENTRY,
"STRING:INT32:INT32", "filename:flags:mode");
_register_sys_event("iosyscall.open.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_OPEN_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.close.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_CLOSE_ENTRY,
"INT64", "fd");
_register_sys_event("iosyscall.close.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_CLOSE_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.read.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READ_ENTRY,
"INT64:INT64:INT64", "fd:buff_addr:count");
_register_sys_event("iosyscall.read.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READ_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.write.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITE_ENTRY,
"INT64:INT64:INT64", "fd:buff_addr:count");
_register_sys_event("iosyscall.write.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITE_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.readv.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READV_ENTRY,
"INT64:INT64:INT64", "fd:vector_uaddr:count");
_register_sys_event("iosyscall.readv.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READV_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.writev.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITEV_ENTRY,
"INT64:INT64:INT64", "fd:vector_uaddr:count");
_register_sys_event("iosyscall.writev.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITEV_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.pread64.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_PREAD64_ENTRY,
"INT64:INT64:INT64:INT64", "fd:buff_uaddr:count:offset");
_register_sys_event("iosyscall.pread64.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_PREAD64_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.pwrite64.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_PWRITE64_ENTRY,
"INT64:INT64:INT64:INT64", "
_register_sys_event("ioscheduler.elv_next_request.entry",
_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_ENTRY,
"STRING", "elv_name");
_register_sys_event("ioscheduler.elv_next_request.return",
_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_RETURN,
"INT8:INT8:INT64:INT64", "major:minor:req_addr:req_flags");
_register_sys_event("ioscheduler.elv_add_request",
_GROUP_IOSCHED, _HOOKID_IOSCHED_ADD_REQ,
"STRING:INT8:INT8:INT64:INT64", "elv_name:major:minor:request:req_flags");
_register_sys_event("ioscheduler.elv_completed_request",
_GROUP_IOSCHED, _HOOKID_IOSCHED_COMPLETE_REQ,
"STRING:INT8:INT8:INT64:INT64", "elv_name:major:minor:request:req_flags");
_register_sys_event("tskdispatch.ctxswitch",
_GROUP_TASK, _HOOKID_TASK_CTXSWITCH,
"INT32:INT32:INT8", "prev_pid:next_pid:prev_state");
_register_sys_event("tskdispatch.cpuidle", _GROUP_TASK, _HOOKID_TASK_CPUIDLE,
"INT32", "cur_pid");
_register_sys_event("scsi.ioentry", _GROUP_SCSI, _HOOKID_SCSI_IOENTRY,
"INT8:INT8:INT8:INT64", "major:minor:sdev_state:request_addr");
_register_sys_event("scsi.iodispatching", _GROUP_SCSI, _HOOKID_SCSI_IO_TO_LLD,
"INT8:INT8:INT8:INT8:INT8:INT8:INT64:INT32:INT64",
"host:channel:lun:dev_id:dev_state:data_dir:reqbuf_addr:reqbuf_len:request_addr");
_register_sys_event("scsi.iodone", _GROUP_SCSI, _HOOKID_SCSI_IODONE_BY_LLD,
"INT8:INT8:INT8:INT8:INT8:INT8:INT64",
"host:channel:lun:dev_id:dev_state:data_dir:request_addr");
_register_sys_event("scsi.iocompleted",
_GROUP_SCSI, _HOOKID_SCSI_IOCOMP_BY_MIDLEVEL,
"INT8:INT8:INT8:INT8:INT8:INT8:INT64:INT32",
"host:channel:lun:dev_id:dev_state:data_dir:request_addr:done_bytes");
_register_sys_event("pagefault", _GROUP_PAGEFAULT, _HOOKID_PAGEFAULT,
"INT64:INT8", "addr:write");
_register_sys_event("netdev.receive", _GROUP_NETDEV, _HOOKID_NETDEV_RECEIVE,
"STRING:INT32:INT16:INT32", "dev_name:data_len:protocol:buff_size");
_register_sys_event("netdev.transmit", _GROUP_NETDEV, _HOOKID_NETDEV_TRANSMIT,
"STRING:INT32:INT16:INT32", "dev_name:data_len:protocol:buff_size");
_register_sys_event("iosyscall.open.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_OPEN_ENTRY,
"STRING:INT32:INT32", "filename:flags:mode");
_register_sys_event("iosyscall.open.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_OPEN_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.close.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_CLOSE_ENTRY,
"INT64", "fd");
_register_sys_event("iosyscall.close.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_CLOSE_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.read.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READ_ENTRY,
"INT64:INT64:INT64", "fd:buff_addr:count");
_register_sys_event("iosyscall.read.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READ_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.write.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITE_ENTRY,
"INT64:INT64:INT64", "fd:buff_addr:count");
_register_sys_event("iosyscall.write.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITE_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.readv.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READV_ENTRY,
"INT64:INT64:INT64", "fd:vector_uaddr:count");
_register_sys_event("iosyscall.readv.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READV_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.writev.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITEV_ENTRY,
"INT64:INT64:INT64", "fd:vector_uaddr:count");
_register_sys_event("iosyscall.writev.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITEV_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.pread64.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_PREAD64_ENTRY,
"INT64:INT64:INT64:INT64", "fd:buff_uaddr:count:offset");
_register_sys_event("iosyscall.pread64.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_PREAD64_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.pwrite64.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_PWRITE64_ENTRY,
fd:buff_uaddr:count:offset");
_register_sys_event("iosyscall.pwrite64.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_PWRITE64_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.readahead.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READAHEAD_ENTRY,
"INT64:INT64:INT64", "fd:offset:count");
_register_sys_event("iosyscall.readahead.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READAHEAD_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.sendfile.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SENDFILE_ENTRY,
"INT64:INT64:INT64:INT64", "out_fd:in_fd:offset_uaddr:count");
_register_sys_event("iosyscall.sendfile.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SENDFILE_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.lseek.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LSEEK_ENTRY,
"INT64:INT64:INT8", "fd:offset:whence");
_register_sys_event("iosyscall.lseek.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LSEEK_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.llseek.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LLSEEK_ENTRY,
"INT64:INT64:INT64:INT64:INT8b",
"fd:offset_high:offset_low:result_uaddr:whence");
_register_sys_event("iosyscall.llseek.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LLSEEK_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.sync.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SYNC_ENTRY,
"", "");
_register_sys_event("iosyscall.sync.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SYNC_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.fsync.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FSYNC_ENTRY,
"INT64", "fd");
_register_sys_event("iosyscall.fsync.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FSYNC_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.fdatasync.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FDATASYNC_ENTRY,
"INT64", "fd");
_register_sys_event("iosyscall.fdatasync.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FDATASYNC_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.flock.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FLOCK_ENTRY,
"INT64:INT32", "fd:operation");
_register_sys_event("iosyscall.flock.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FLOCK_RETURN,
"INT64", "return");
_register_sys_event("aio.io_setup.entry",
_GROUP_AIO, _HOOKID_AIO_IO_SETUP_ENTRY,
"INT32:INT64", "nr_events:ctxp_uaddr");
_register_sys_event("aio.io_setup.return",
_GROUP_AIO, _HOOKID_AIO_IO_SETUP_RETURN,
"INT64", "return");
_register_sys_event("aio.io_submit.entry",
_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ENTRY,
"INT64:INT32:INT64", "ctx_id:nr:iocbpp_uaddr");
_register_sys_event("aio.io_submit.return",
_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_RETURN,
"INT64", "return");
_register_sys_event("aio.io_submit_one.entry",
_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY,
"INT64:INT64:INT16:INT16:INT32:INT64:INT64:INT64",
"ctx:user_iocb_uaddr:aio_lio_opcode:aio_reqprio:aio_fildes:aio_buf:aio_nbytes:aio_offset");
_register_sys_event("aio.io_submit_one.return",
_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ONE_RETURN,
"INT64", "return");
_register_sys_event("aio.io_destroy.entry",
_GROUP_AIO, _HOOKID_AIO_IO_DESTROY_ENTRY,
"INT64", "ctx");
_register_sys_event("aio.io_destroy.return",
_GROUP_AIO, _HOOKID_AIO_IO_DESTROY_RETURN,
"INT64", "return");
_register_sys_event("aio.io_getevents.entry",
_GROUP_AIO, _HOOKID_AIO_IO_GETEVENTS_ENTRY,
"INT64:INT32:INT32:INT64:INT32:INT32",
"ctx_id:min_nr:nr:events_uaddr:tv_sec:tv_nsec");
_register_sys_event("aio.io_getevents.return",
_GROUP_AIO, _HOOKID_AIO_IO_GETEVENTS_RETURN,
"INT64", "return");
_register_sys_event("aio.io_cancel.entry",
_GROUP_AIO, _HOOKID_AIO_IO_CANCEL_ENTRY,
"INT64:INT64:INT64",
"ctx_id:iocb_uaddr:result_uaddr");
_register_sys_event("aio.io_cancel.return",
_GROUP_AIO, _HOOKID_AIO_IO_CANCEL_RETURN,
"INT64", "return");
_register_sys_event("signal.send.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_
"INT64:INT64:INT64:INT64", "fd:buff_uaddr:count:offset");
_register_sys_event("iosyscall.pwrite64.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_PWRITE64_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.readahead.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READAHEAD_ENTRY,
"INT64:INT64:INT64", "fd:offset:count");
_register_sys_event("iosyscall.readahead.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READAHEAD_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.sendfile.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SENDFILE_ENTRY,
"INT64:INT64:INT64:INT64", "out_fd:in_fd:offset_uaddr:count");
_register_sys_event("iosyscall.sendfile.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SENDFILE_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.lseek.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LSEEK_ENTRY,
"INT64:INT64:INT8", "fd:offset:whence");
_register_sys_event("iosyscall.lseek.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LSEEK_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.llseek.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LLSEEK_ENTRY,
"INT64:INT64:INT64:INT64:INT8b",
"fd:offset_high:offset_low:result_uaddr:whence");
_register_sys_event("iosyscall.llseek.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LLSEEK_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.sync.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SYNC_ENTRY,
"", "");
_register_sys_event("iosyscall.sync.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SYNC_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.fsync.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FSYNC_ENTRY,
"INT64", "fd");
_register_sys_event("iosyscall.fsync.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FSYNC_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.fdatasync.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FDATASYNC_ENTRY,
"INT64", "fd");
_register_sys_event("iosyscall.fdatasync.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FDATASYNC_RETURN,
"INT64", "return");
_register_sys_event("iosyscall.flock.entry",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FLOCK_ENTRY,
"INT64:INT32", "fd:operation");
_register_sys_event("iosyscall.flock.return",
_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FLOCK_RETURN,
"INT64", "return");
_register_sys_event("aio.io_setup.entry",
_GROUP_AIO, _HOOKID_AIO_IO_SETUP_ENTRY,
"INT32:INT64", "nr_events:ctxp_uaddr");
_register_sys_event("aio.io_setup.return",
_GROUP_AIO, _HOOKID_AIO_IO_SETUP_RETURN,
"INT64", "return");
_register_sys_event("aio.io_submit.entry",
_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ENTRY,
"INT64:INT32:INT64", "ctx_id:nr:iocbpp_uaddr");
_register_sys_event("aio.io_submit.return",
_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_RETURN,
"INT64", "return");
_register_sys_event("aio.io_submit_one.entry",
_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY,
"INT64:INT64:INT16:INT16:INT32:INT64:INT64:INT64",
"ctx:user_iocb_uaddr:aio_lio_opcode:aio_reqprio:aio_fildes:aio_buf:aio_nbytes:aio_offset");
_register_sys_event("aio.io_submit_one.return",
_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ONE_RETURN,
"INT64", "return");
_register_sys_event("aio.io_destroy.entry",
_GROUP_AIO, _HOOKID_AIO_IO_DESTROY_ENTRY,
"INT64", "ctx");
_register_sys_event("aio.io_destroy.return",
_GROUP_AIO, _HOOKID_AIO_IO_DESTROY_RETURN,
"INT64", "return");
_register_sys_event("aio.io_getevents.entry",
_GROUP_AIO, _HOOKID_AIO_IO_GETEVENTS_ENTRY,
"INT64:INT32:INT32:INT64:INT32:INT32",
"ctx_id:min_nr:nr:events_uaddr:tv_sec:tv_nsec");
_register_sys_event("aio.io_getevents.return",
_GROUP_AIO, _HOOKID_AIO_IO_GETEVENTS_RETURN,
"INT64", "return");
_register_sys_event("aio.io_cancel.entry",
_GROUP_AIO, _HOOKID_AIO_IO_CANCEL_ENTRY,
"INT64:INT64:INT64",
"ctx_id:iocb_uaddr:result_uaddr");
_register_sys_event("aio.io_cancel.return",
_GROUP_AIO, _HOOKID_AIO_IO_CANCEL_RETURN,
"INT64", "return");
_register_sys_event("signal.send.entry",
SEND_ENTRY,
"INT8:INT8:INT8:INT32", "sig:shared:send2queue:pid");
_register_sys_event("signal.send.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SEND_RETURN,
"INT8", "return");
_register_sys_event("signal.syskill.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSKILL_ENTRY,
"INT32:INT8", "pid:sig");
_register_sys_event("signal.syskill.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSKILL_RETURN,
"INT8", "return");
_register_sys_event("signal.systgkill.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTGKILL_ENTRY,
"INT32:INT32:INT8", "tid:pid:sig");
_register_sys_event("signal.systgkill.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTGKILL_RETURN,
"INT8", "return");
_register_sys_event("signal.systkill.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTKILL_ENTRY,
"INT32:INT8", "pid:sig");
_register_sys_event("signal.systkill.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTKILL_RETURN,
"INT8", "return");
_register_sys_event("signal.pending.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_PENDING_ENTRY,
"INT32:INT32", "sigset_addr:setsize");;
_register_sys_event("signal.pending.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_PENDING_RETURN,
"INT8", "return");
_register_sys_event("signal.do_action.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_DOACTION_ENTRY,
"INT8:INT64", "sig:handler");
_register_sys_event("signal.do_action.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_DOACTION_RETURN,
"INT16", "return");
_register_sys_event("signal.procmask.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_PROC_MASK_ENTRY,
"INT8:INT64", "how:sigset");
_register_sys_event("signal.procmask.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_PROC_MASK_RETURN,
"INT8", "return");
_register_sys_event("signal.flush.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_FLUSH_ENTRY,
"INT32", "pid");
_register_sys_event("sunrpc.clnt.create_client.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY,
"STRING:INT64:INT8:INT16:INT16:INT8",
"server:prog:vers:prot:port:authflavor");
_register_sys_event("sunrpc.clnt.create_client.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.clone_client.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY,
"STRING:INT64:INT8:INT16:INT16:INT8",
"server:prog:vers:prot:port:authflavor");
_register_sys_event("sunrpc.clnt.clone_client.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.shutdown_client.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY,
"STRING:INT64:INT16:INT16:INT32",
"server:prog:clones:tasks:rpccount");
_register_sys_event("sunrpc.clnt.shutdown_client.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN,
"INT8", "void");
_register_sys_event("sunrpc.clnt.bind_new_program.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY,
"STRING:INT64:INT8:INT64:INT8",
"server:old_prog:old_vers:new_prog:new_vers");
_register_sys_event("sunrpc.clnt.bind_new_program.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.call_sync.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY,
"STRING:INT64:INT8:INT64:INT64",
"server:prog:vers:proc:flags");
_register_sys_event("sunrpc.clnt.call_sync.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.call_async.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY,
"STRING:INT64:INT8:INT64:INT64",
"server:prog:vers:proc:flags");
_register_sys_event("sunrpc.clnt.call_async.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.restart_call.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY,
"INT64:INT64", "tk_pid:tk_flags");
_register_sys_event("sunrpc.clnt.restart_call.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_RESTART_CALL_RET
_GROUP_SIGNAL, _HOOKID_SIGNAL_SEND_ENTRY,
"INT8:INT8:INT8:INT32", "sig:shared:send2queue:pid");
_register_sys_event("signal.send.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SEND_RETURN,
"INT8", "return");
_register_sys_event("signal.syskill.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSKILL_ENTRY,
"INT32:INT8", "pid:sig");
_register_sys_event("signal.syskill.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSKILL_RETURN,
"INT8", "return");
_register_sys_event("signal.systgkill.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTGKILL_ENTRY,
"INT32:INT32:INT8", "tid:pid:sig");
_register_sys_event("signal.systgkill.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTGKILL_RETURN,
"INT8", "return");
_register_sys_event("signal.systkill.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTKILL_ENTRY,
"INT32:INT8", "pid:sig");
_register_sys_event("signal.systkill.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTKILL_RETURN,
"INT8", "return");
_register_sys_event("signal.pending.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_PENDING_ENTRY,
"INT32:INT32", "sigset_addr:setsize");;
_register_sys_event("signal.pending.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_PENDING_RETURN,
"INT8", "return");
_register_sys_event("signal.do_action.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_DOACTION_ENTRY,
"INT8:INT64", "sig:handler");
_register_sys_event("signal.do_action.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_DOACTION_RETURN,
"INT16", "return");
_register_sys_event("signal.procmask.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_PROC_MASK_ENTRY,
"INT8:INT64", "how:sigset");
_register_sys_event("signal.procmask.return",
_GROUP_SIGNAL, _HOOKID_SIGNAL_PROC_MASK_RETURN,
"INT8", "return");
_register_sys_event("signal.flush.entry",
_GROUP_SIGNAL, _HOOKID_SIGNAL_FLUSH_ENTRY,
"INT32", "pid");
_register_sys_event("sunrpc.clnt.create_client.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY,
"STRING:INT64:INT8:INT16:INT16:INT8",
"server:prog:vers:prot:port:authflavor");
_register_sys_event("sunrpc.clnt.create_client.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.clone_client.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY,
"STRING:INT64:INT8:INT16:INT16:INT8",
"server:prog:vers:prot:port:authflavor");
_register_sys_event("sunrpc.clnt.clone_client.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.shutdown_client.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY,
"STRING:INT64:INT16:INT16:INT32",
"server:prog:clones:tasks:rpccount");
_register_sys_event("sunrpc.clnt.shutdown_client.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN,
"INT8", "void");
_register_sys_event("sunrpc.clnt.bind_new_program.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY,
"STRING:INT64:INT8:INT64:INT8",
"server:old_prog:old_vers:new_prog:new_vers");
_register_sys_event("sunrpc.clnt.bind_new_program.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.call_sync.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY,
"STRING:INT64:INT8:INT64:INT64",
"server:prog:vers:proc:flags");
_register_sys_event("sunrpc.clnt.call_sync.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.call_async.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY,
"STRING:INT64:INT8:INT64:INT64",
"server:prog:vers:proc:flags");
_register_sys_event("sunrpc.clnt.call_async.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.clnt.restart_call.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY,
"INT64:INT64", "tk_pid:tk_flags");
_register_sys_event("sunrpc.clnt.restart_call.return",
URN,
"INT8", "void");
_register_sys_event("sunrpc.svc.register.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_REGISTER_ENTRY,
"STRING:INT64:INT16:INT32",
"service:program:protocol:prot");
_register_sys_event("sunrpc.svc.register.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_REGISTER_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.create.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_CREATE_ENTRY,
"INT64:INT8:INT32",
"prog:nvers:bufsize");
_register_sys_event("sunrpc.svc.create.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_CREATE_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.destroy.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_DESTROY_ENTRY,
"STRING:INT64:INT32",
"service:program:num_threads");
_register_sys_event("sunrpc.svc.destroy.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_DESTROY_RETURN,
"INT8", "void");
_register_sys_event("sunrpc.svc.process.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_PROCESS_ENTRY,
"STRING:INT64:INT64:INT64:INT64:INT8:INT8",
"service:sv_prog:peer_ip:rq_xid:rq_prog:rq_vers:rq_proc");
_register_sys_event("sunrpc.svc.process.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_PROCESS_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.authorise.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY,
"STRING:INT64:INT64:INT64:INT8:INT64",
"service:peer_ip:xid:prog:vers:proc");
_register_sys_event("sunrpc.svc.authorise.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_AUTHORISE_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.send.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_SEND_ENTRY,
"STRING:INT64:INT64:INT64:INT8:INT64",
"sv_name:peer_ip:xid:prog:vers:proc");
_register_sys_event("sunrpc.svc.send.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_SEND_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.recv.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_RECV_ENTRY,
"STRING:INT64", "sv_name:timeout");
_register_sys_event("sunrpc.svc.recv.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_RECV_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.drop.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_DROP_ENTRY,
"STRING:INT64:INT64:INT64:INT8:INT64",
"sv_name:peer_ip:xid:prog:vers:proc");
_register_sys_event("sunrpc.svc.drop.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_DROP_RETURN,
"INT8", "void");
_register_sys_event("sunrpc.sched.new_task.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY,
"INT64:INT64:INT8:INT64:INT64",
"xid:prog:vers:prot:flags");
_register_sys_event("sunrpc.sched.new_task.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.sched.release_task.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY,
"INT64:INT64:INT8:INT64:INT64",
"xid:prog:vers:prot:flags");
_register_sys_event("sunrpc.sched.release_task.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN,
"INT8", "void");
_register_sys_event("sunrpc.sched.execute.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY,
"INT64:INT64:INT8:INT64:INT64:INT64",
"xid:prog:vers:prot:tk_pid:tk_flags");
_register_sys_event("sunrpc.sched.execute.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_EXECUTE_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.sched.delay.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_DELAY_ENTRY,
"INT64:INT64:INT64:INT64:INT64",
"xid:prog:tk_pid:tk_flags:delay");
_register_sys_event("sunrpc.sched.delay.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_DELAY_RETURN,
"INT8", "void");
_register_sys_event("cpu_freq",
_GROUP_CPUFREQ, _HOOKID_SWITCH_CPUFREQ,
"INT64", "cpufreq");
_register_sys_event("nfs.fop.llseek.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_LLSEEK_ENTRY,
"INT8:INT8:INT64:INT64:INT8",
"major:minor:ino:offset:origin");
_register_sys_event("nfs.fop.llseek.return",
_GROUP_NFS, _HOOKID_NFS_FOP_LLSEEK_RETURN,
"INT32","return"
_GROUP_SUNRPC, _HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN,
"INT8", "void");
_register_sys_event("sunrpc.svc.register.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_REGISTER_ENTRY,
"STRING:INT64:INT16:INT32",
"service:program:protocol:prot");
_register_sys_event("sunrpc.svc.register.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_REGISTER_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.create.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_CREATE_ENTRY,
"INT64:INT8:INT32",
"prog:nvers:bufsize");
_register_sys_event("sunrpc.svc.create.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_CREATE_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.destroy.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_DESTROY_ENTRY,
"STRING:INT64:INT32",
"service:program:num_threads");
_register_sys_event("sunrpc.svc.destroy.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_DESTROY_RETURN,
"INT8", "void");
_register_sys_event("sunrpc.svc.process.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_PROCESS_ENTRY,
"STRING:INT64:INT64:INT64:INT64:INT8:INT8",
"service:sv_prog:peer_ip:rq_xid:rq_prog:rq_vers:rq_proc");
_register_sys_event("sunrpc.svc.process.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_PROCESS_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.authorise.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY,
"STRING:INT64:INT64:INT64:INT8:INT64",
"service:peer_ip:xid:prog:vers:proc");
_register_sys_event("sunrpc.svc.authorise.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_AUTHORISE_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.send.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_SEND_ENTRY,
"STRING:INT64:INT64:INT64:INT8:INT64",
"sv_name:peer_ip:xid:prog:vers:proc");
_register_sys_event("sunrpc.svc.send.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_SEND_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.recv.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_RECV_ENTRY,
"STRING:INT64", "sv_name:timeout");
_register_sys_event("sunrpc.svc.recv.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_RECV_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.svc.drop.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_DROP_ENTRY,
"STRING:INT64:INT64:INT64:INT8:INT64",
"sv_name:peer_ip:xid:prog:vers:proc");
_register_sys_event("sunrpc.svc.drop.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SVC_DROP_RETURN,
"INT8", "void");
_register_sys_event("sunrpc.sched.new_task.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY,
"INT64:INT64:INT8:INT64:INT64",
"xid:prog:vers:prot:flags");
_register_sys_event("sunrpc.sched.new_task.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.sched.release_task.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY,
"INT64:INT64:INT8:INT64:INT64",
"xid:prog:vers:prot:flags");
_register_sys_event("sunrpc.sched.release_task.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN,
"INT8", "void");
_register_sys_event("sunrpc.sched.execute.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY,
"INT64:INT64:INT8:INT64:INT64:INT64",
"xid:prog:vers:prot:tk_pid:tk_flags");
_register_sys_event("sunrpc.sched.execute.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_EXECUTE_RETURN,
"INT64", "return");
_register_sys_event("sunrpc.sched.delay.entry",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_DELAY_ENTRY,
"INT64:INT64:INT64:INT64:INT64",
"xid:prog:tk_pid:tk_flags:delay");
_register_sys_event("sunrpc.sched.delay.return",
_GROUP_SUNRPC, _HOOKID_SUNRPC_SCHED_DELAY_RETURN,
"INT8", "void");
_register_sys_event("cpu_freq",
_GROUP_CPUFREQ, _HOOKID_SWITCH_CPUFREQ,
"INT64", "cpufreq");
_register_sys_event("nfs.fop.llseek.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_LLSEEK_ENTRY,
"INT8:INT8:INT64:INT64:INT8",
"major:minor:ino:offset:origin");
_register_sys_event("nfs.fop.llseek.return",
_GROUP_NFS, _HOOKID_NFS_FOP_LLSEEK_RETURN,
);
_register_sys_event("nfs.fop.read.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_READ_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT64",
"major:minor:ino:buf:len:pos");
_register_sys_event("nfs.fop.read.return",
_GROUP_NFS, _HOOKID_NFS_FOP_READ_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.write.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_WRITE_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT64",
"major:minor:ino:buf:len:pos");
_register_sys_event("nfs.fop.write.return",
_GROUP_NFS, _HOOKID_NFS_FOP_WRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.aio_read.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_AIOREAD_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT64",
"major:minor:ino:buf:len:pos");
_register_sys_event("nfs.fop.aio_read.return",
_GROUP_NFS, _HOOKID_NFS_FOP_AIOREAD_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.aio_write.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_AIOWRITE_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT64",
"major:minor:ino:buf:len:pos");
_register_sys_event("nfs.fop.aio_write.return",
_GROUP_NFS, _HOOKID_NFS_FOP_AIOWRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.mmap.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_MMAP_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT32",
"major:minor:ino:vm_start:vm_end:vm_flags");
_register_sys_event("nfs.fop.mmap.return",
_GROUP_NFS, _HOOKID_NFS_FOP_MMAP_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.open.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_OPEN_ENTRY,
"INT8:INT8:INT64:INT32:STRING",
"major:minor:ino:flag:filename");
_register_sys_event("nfs.fop.open.return",
_GROUP_NFS, _HOOKID_NFS_FOP_OPEN_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.flush.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_FLUSH_ENTRY,
"INT8:INT8:INT64:INT32",
"major:minor:ino:ndirty");
_register_sys_event("nfs.fop.flush.return",
_GROUP_NFS, _HOOKID_NFS_FOP_FLUSH_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.release.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_RELEASE_ENTRY,
"INT8:INT8:INT64:INT16",
"major:minor:ino:mode");
_register_sys_event("nfs.fop.release.return",
_GROUP_NFS, _HOOKID_NFS_FOP_RELEASE_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.fsync.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_FSYNC_ENTRY,
"INT8:INT8:INT64:INT32",
"major:minor:ino:ndirty");
_register_sys_event("nfs.fop.fsync.return",
_GROUP_NFS, _HOOKID_NFS_FOP_FSYNC_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.lock.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_LOCK_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT8:INT8:INT32",
"major:minor:ino:fl_start:fl_end:fl_type:fl_flag:cmd");
_register_sys_event("nfs.fop.lock.return",
_GROUP_NFS, _HOOKID_NFS_FOP_LOCK_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.sendfile.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_SENDFILE_ENTRY,
"INT8:INT8:INT64:INT64:INT64",
"major:minor:ino:count:pos");
_register_sys_event("nfs.fop.sendfile.return",
_GROUP_NFS, _HOOKID_NFS_FOP_SENDFILE_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.check_flags.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_CHECKFLAGS_ENTRY,
"INT32","flag");
////TODO unable to resovle $return
_register_sys_event("nfs.fop.check_flags.return",
_GROUP_NFS, _HOOKID_NFS_FOP_CHECKFLAGS_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.readpage.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_READPAGE_ENTRY,
"INT64:INT32:INT64:INT64",
"ino:rsize:__page:page_index");
_register_sys_event("nfs.aop.readpage.return",
_GROUP_NFS, _HOOKID_NFS_AOP_READPAGE_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.readpages.entry",
_
"INT32","return");
_register_sys_event("nfs.fop.read.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_READ_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT64",
"major:minor:ino:buf:len:pos");
_register_sys_event("nfs.fop.read.return",
_GROUP_NFS, _HOOKID_NFS_FOP_READ_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.write.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_WRITE_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT64",
"major:minor:ino:buf:len:pos");
_register_sys_event("nfs.fop.write.return",
_GROUP_NFS, _HOOKID_NFS_FOP_WRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.aio_read.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_AIOREAD_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT64",
"major:minor:ino:buf:len:pos");
_register_sys_event("nfs.fop.aio_read.return",
_GROUP_NFS, _HOOKID_NFS_FOP_AIOREAD_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.aio_write.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_AIOWRITE_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT64",
"major:minor:ino:buf:len:pos");
_register_sys_event("nfs.fop.aio_write.return",
_GROUP_NFS, _HOOKID_NFS_FOP_AIOWRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.mmap.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_MMAP_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT32",
"major:minor:ino:vm_start:vm_end:vm_flags");
_register_sys_event("nfs.fop.mmap.return",
_GROUP_NFS, _HOOKID_NFS_FOP_MMAP_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.open.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_OPEN_ENTRY,
"INT8:INT8:INT64:INT32:STRING",
"major:minor:ino:flag:filename");
_register_sys_event("nfs.fop.open.return",
_GROUP_NFS, _HOOKID_NFS_FOP_OPEN_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.flush.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_FLUSH_ENTRY,
"INT8:INT8:INT64:INT32",
"major:minor:ino:ndirty");
_register_sys_event("nfs.fop.flush.return",
_GROUP_NFS, _HOOKID_NFS_FOP_FLUSH_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.release.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_RELEASE_ENTRY,
"INT8:INT8:INT64:INT16",
"major:minor:ino:mode");
_register_sys_event("nfs.fop.release.return",
_GROUP_NFS, _HOOKID_NFS_FOP_RELEASE_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.fsync.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_FSYNC_ENTRY,
"INT8:INT8:INT64:INT32",
"major:minor:ino:ndirty");
_register_sys_event("nfs.fop.fsync.return",
_GROUP_NFS, _HOOKID_NFS_FOP_FSYNC_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.lock.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_LOCK_ENTRY,
"INT8:INT8:INT64:INT64:INT64:INT8:INT8:INT32",
"major:minor:ino:fl_start:fl_end:fl_type:fl_flag:cmd");
_register_sys_event("nfs.fop.lock.return",
_GROUP_NFS, _HOOKID_NFS_FOP_LOCK_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.sendfile.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_SENDFILE_ENTRY,
"INT8:INT8:INT64:INT64:INT64",
"major:minor:ino:count:pos");
_register_sys_event("nfs.fop.sendfile.return",
_GROUP_NFS, _HOOKID_NFS_FOP_SENDFILE_RETURN,
"INT32","return");
_register_sys_event("nfs.fop.check_flags.entry",
_GROUP_NFS, _HOOKID_NFS_FOP_CHECKFLAGS_ENTRY,
"INT32","flag");
////TODO unable to resovle $return
_register_sys_event("nfs.fop.check_flags.return",
_GROUP_NFS, _HOOKID_NFS_FOP_CHECKFLAGS_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.readpage.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_READPAGE_ENTRY,
"INT64:INT32:INT64:INT64",
"ino:rsize:__page:page_index");
_register_sys_event("nfs.aop.readpage.return",
_GROUP_NFS, _HOOKID_NFS_AOP_READPAGE_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.readpages.entry",
GROUP_NFS, _HOOKID_NFS_AOP_READPAGES_ENTRY,
"INT64:INT32:INT32",
"ino:rpages:nr_pages");
_register_sys_event("nfs.aop.readpages.return",
_GROUP_NFS, _HOOKID_NFS_AOP_READPAGES_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.writepage.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_WRITEPAGE_ENTRY,
"INT64:INT32:INT64:INT64",
"ino:wsize:__page:page_index");
_register_sys_event("nfs.aop.writepage.return",
_GROUP_NFS, _HOOKID_NFS_AOP_WRITEPAGE_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.writepages.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_WRITEPAGES_ENTRY,
"INT64:INT32:INT64",
"ino:wpages:nr_to_write");
_register_sys_event("nfs.aop.writepages.return",
_GROUP_NFS, _HOOKID_NFS_AOP_WRITEPAGES_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.prepare_write.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_PREPAREWRITE_ENTRY,
"INT64:INT64:INT64",
"ino:__page:page_index");
_register_sys_event("nfs.aop.prepare_write.return",
_GROUP_NFS, _HOOKID_NFS_AOP_PREPAREWRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.commit_write.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_COMMITWRITE_ENTRY,
"INT64:INT64:INT64:INT32:INT32",
"ino:__page:page_index:offset:count");
_register_sys_event("nfs.aop.commit_write.return",
_GROUP_NFS, _HOOKID_NFS_AOP_COMMITWRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.set_page_dirty.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY,
"INT64:INT8",
"__page:page_flag");
_register_sys_event("nfs.aop.set_page_dirty.return",
_GROUP_NFS, _HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.release_page.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_RELEASEPAGE_ENTRY,
"INT64:INT64",
"__page:page_index");
_register_sys_event("nfs.aop.release_page.return",
_GROUP_NFS, _HOOKID_NFS_AOP_RELEASEPAGE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.lookup.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_LOOKUP_ENTRY,
"INT8:INT8:INT64:INT8:STRING",
"major_device:minor_device:fileid:version:filename");
_register_sys_event("nfs.proc.lookup.return",
_GROUP_NFS, _HOOKID_NFS_PROC_LOOKUP_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.read.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_READ_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.read.return",
_GROUP_NFS, _HOOKID_NFS_PROC_READ_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.write.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITE_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.write.return",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.commit.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMIT_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.commit.return",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMIT_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.read_setup.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_READSETUP_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.write_setup.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITESETUP_ENTRY,
"INT8:INT8:INT64:INT8:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:how:count:offset");
_register_sys_event("nfs.proc.commit_setup.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMITSETUP_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
"major_devic
_GROUP_NFS, _HOOKID_NFS_AOP_READPAGES_ENTRY,
"INT64:INT32:INT32",
"ino:rpages:nr_pages");
_register_sys_event("nfs.aop.readpages.return",
_GROUP_NFS, _HOOKID_NFS_AOP_READPAGES_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.writepage.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_WRITEPAGE_ENTRY,
"INT64:INT32:INT64:INT64",
"ino:wsize:__page:page_index");
_register_sys_event("nfs.aop.writepage.return",
_GROUP_NFS, _HOOKID_NFS_AOP_WRITEPAGE_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.writepages.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_WRITEPAGES_ENTRY,
"INT64:INT32:INT64",
"ino:wpages:nr_to_write");
_register_sys_event("nfs.aop.writepages.return",
_GROUP_NFS, _HOOKID_NFS_AOP_WRITEPAGES_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.prepare_write.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_PREPAREWRITE_ENTRY,
"INT64:INT64:INT64",
"ino:__page:page_index");
_register_sys_event("nfs.aop.prepare_write.return",
_GROUP_NFS, _HOOKID_NFS_AOP_PREPAREWRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.commit_write.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_COMMITWRITE_ENTRY,
"INT64:INT64:INT64:INT32:INT32",
"ino:__page:page_index:offset:count");
_register_sys_event("nfs.aop.commit_write.return",
_GROUP_NFS, _HOOKID_NFS_AOP_COMMITWRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.set_page_dirty.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY,
"INT64:INT8",
"__page:page_flag");
_register_sys_event("nfs.aop.set_page_dirty.return",
_GROUP_NFS, _HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN,
"INT32","return");
_register_sys_event("nfs.aop.release_page.entry",
_GROUP_NFS, _HOOKID_NFS_AOP_RELEASEPAGE_ENTRY,
"INT64:INT64",
"__page:page_index");
_register_sys_event("nfs.aop.release_page.return",
_GROUP_NFS, _HOOKID_NFS_AOP_RELEASEPAGE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.lookup.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_LOOKUP_ENTRY,
"INT8:INT8:INT64:INT8:STRING",
"major_device:minor_device:fileid:version:filename");
_register_sys_event("nfs.proc.lookup.return",
_GROUP_NFS, _HOOKID_NFS_PROC_LOOKUP_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.read.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_READ_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.read.return",
_GROUP_NFS, _HOOKID_NFS_PROC_READ_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.write.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITE_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.write.return",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.commit.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMIT_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.commit.return",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMIT_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.read_setup.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_READSETUP_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.write_setup.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITESETUP_ENTRY,
"INT8:INT8:INT64:INT8:INT8:INT32:INT64",
"major_device:minor_device:fileid:version:how:count:offset");
_register_sys_event("nfs.proc.commit_setup.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMITSETUP_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT64",
e:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.read_done.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_READDONE_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT32",
"major_device:minor_device:fileid:version:status:count");
_register_sys_event("nfs.proc.read_done.return",
_GROUP_NFS, _HOOKID_NFS_PROC_READDONE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.write_done.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITEDONE_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT32",
"major_device:minor_device:fileid:version:status:count");
_register_sys_event("nfs.proc.write_done.return",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITEDONE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.commit_done.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMITDONE_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT32",
"major_device:minor_device:fileid:version:status:count");
_register_sys_event("nfs.proc.commit_done.return",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMITDONE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.open.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_OPEN_ENTRY,
"INT8:INT8:INT64:INT8:STRING:INT32:INT32",
"major_device:minor_device:fileid:version:filename:flag:mode");
_register_sys_event("nfs.proc.open.return",
_GROUP_NFS, _HOOKID_NFS_PROC_OPEN_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.release.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_RELEASE_ENTRY,
"INT8:INT8:INT64:INT8:STRING:INT32:INT32",
"major_device:minor_device:fileid:version:filename:flag:mode");
_register_sys_event("nfs.proc.release.return",
_GROUP_NFS, _HOOKID_NFS_PROC_RELEASE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.create.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_CREATE_ENTRY,
"INT8:INT8:INT64:INT8:STRING:INT32",
"major_device:minor_device:fileid:version:filename:mode");
_register_sys_event("nfs.proc.create.return",
_GROUP_NFS, _HOOKID_NFS_PROC_CREATE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.rename.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_RENAME_ENTRY,
"INT8:INT8:INT8:INT64:STRING:INT8:INT8:INT64:STRING",
"version:major_old:minor_old:fileid_old:filename_old:major_new:minor_new:fileid_new:filename_new");
_register_sys_event("nfs.proc.rename.return",
_GROUP_NFS, _HOOKID_NFS_PROC_RENAME_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.remove.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_REMOVE_ENTRY,
"INT8:INT8:INT64:INT8:STRING",
"major_dev:minor_dev:field_id:version:filename");;
_register_sys_event("nfs.proc.remove.return",
_GROUP_NFS, _HOOKID_NFS_PROC_REMOVE_RETURN,
"INT32", "return");;
_register_sys_event("nfsd.dispatch.entry",
_GROUP_NFSD, _HOOKID_NFSD_DISPATCH_ENTRY,
"INT8:INT8:INT32:INT32:INT32",
"proto:version:xid:proc:client_ip");
_register_sys_event("nfsd.dispatch.return",
_GROUP_NFSD, _HOOKID_NFSD_DISPATCH_RETURN,
"INT32","return");
_register_sys_event("nfsd.open.entry",
_GROUP_NFSD, _HOOKID_NFSD_OPEN_ENTRY,
"INT8:INT64:INT64:INT64:INT32:INT8",
"size:ino0:ino1:ino2:type:access");
_register_sys_event("nfsd.open.return",
_GROUP_NFSD, _HOOKID_NFSD_OPEN_RETURN,
"INT32","return");
_register_sys_event("nfsd.read.entry",
_GROUP_NFSD, _HOOKID_NFSD_READ_ENTRY,
"INT8:INT64:INT64:INT64:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:count:offset:iov_len:vlen");
_register_sys_event("nfsd.read.return",
_GROUP_NFSD, _HOOKID_NFSD_READ_RETURN,
"INT32","return");
_register_sys_event("nfsd.write.entry",
_GROUP_NFSD, _HOOKID_NFSD_WRITE_ENTRY,
"INT8:INT64:INT64:INT64:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:count:offset:iov_len:vlen");
_register_sys_event("nfsd.write.return",
_GROUP_NFSD, _HOOKID_NFSD_WRITE_RETURN,
"major_device:minor_device:fileid:version:count:offset");
_register_sys_event("nfs.proc.read_done.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_READDONE_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT32",
"major_device:minor_device:fileid:version:status:count");
_register_sys_event("nfs.proc.read_done.return",
_GROUP_NFS, _HOOKID_NFS_PROC_READDONE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.write_done.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITEDONE_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT32",
"major_device:minor_device:fileid:version:status:count");
_register_sys_event("nfs.proc.write_done.return",
_GROUP_NFS, _HOOKID_NFS_PROC_WRITEDONE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.commit_done.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMITDONE_ENTRY,
"INT8:INT8:INT64:INT8:INT32:INT32",
"major_device:minor_device:fileid:version:status:count");
_register_sys_event("nfs.proc.commit_done.return",
_GROUP_NFS, _HOOKID_NFS_PROC_COMMITDONE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.open.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_OPEN_ENTRY,
"INT8:INT8:INT64:INT8:STRING:INT32:INT32",
"major_device:minor_device:fileid:version:filename:flag:mode");
_register_sys_event("nfs.proc.open.return",
_GROUP_NFS, _HOOKID_NFS_PROC_OPEN_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.release.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_RELEASE_ENTRY,
"INT8:INT8:INT64:INT8:STRING:INT32:INT32",
"major_device:minor_device:fileid:version:filename:flag:mode");
_register_sys_event("nfs.proc.release.return",
_GROUP_NFS, _HOOKID_NFS_PROC_RELEASE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.create.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_CREATE_ENTRY,
"INT8:INT8:INT64:INT8:STRING:INT32",
"major_device:minor_device:fileid:version:filename:mode");
_register_sys_event("nfs.proc.create.return",
_GROUP_NFS, _HOOKID_NFS_PROC_CREATE_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.rename.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_RENAME_ENTRY,
"INT8:INT8:INT8:INT64:STRING:INT8:INT8:INT64:STRING",
"version:major_old:minor_old:fileid_old:filename_old:major_new:minor_new:fileid_new:filename_new");
_register_sys_event("nfs.proc.rename.return",
_GROUP_NFS, _HOOKID_NFS_PROC_RENAME_RETURN,
"INT32","return");
_register_sys_event("nfs.proc.remove.entry",
_GROUP_NFS, _HOOKID_NFS_PROC_REMOVE_ENTRY,
"INT8:INT8:INT64:INT8:STRING",
"major_dev:minor_dev:field_id:version:filename");;
_register_sys_event("nfs.proc.remove.return",
_GROUP_NFS, _HOOKID_NFS_PROC_REMOVE_RETURN,
"INT32", "return");;
_register_sys_event("nfsd.dispatch.entry",
_GROUP_NFSD, _HOOKID_NFSD_DISPATCH_ENTRY,
"INT8:INT8:INT32:INT32:INT32",
"proto:version:xid:proc:client_ip");
_register_sys_event("nfsd.dispatch.return",
_GROUP_NFSD, _HOOKID_NFSD_DISPATCH_RETURN,
"INT32","return");
_register_sys_event("nfsd.open.entry",
_GROUP_NFSD, _HOOKID_NFSD_OPEN_ENTRY,
"INT8:INT64:INT64:INT64:INT32:INT8",
"size:ino0:ino1:ino2:type:access");
_register_sys_event("nfsd.open.return",
_GROUP_NFSD, _HOOKID_NFSD_OPEN_RETURN,
"INT32","return");
_register_sys_event("nfsd.read.entry",
_GROUP_NFSD, _HOOKID_NFSD_READ_ENTRY,
"INT8:INT64:INT64:INT64:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:count:offset:iov_len:vlen");
_register_sys_event("nfsd.read.return",
_GROUP_NFSD, _HOOKID_NFSD_READ_RETURN,
"INT32","return");
_register_sys_event("nfsd.write.entry",
_GROUP_NFSD, _HOOKID_NFSD_WRITE_ENTRY,
"INT8:INT64:INT64:INT64:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:count:offset:iov_len:vlen");
_register_sys_event("nfsd.write.return",
_GROUP_NFSD, _HOOKID_NFSD_WRITE_RETURN,
"INT32","return");
_register_sys_event("nfsd.lookup.entry",
_GROUP_NFSD, _HOOKID_NFSD_LOOKUP_ENTRY,
"INT8:INT64:INT64:INT64:STRING",
"size:ino0:ino1:ino2:filename");
_register_sys_event("nfsd.lookup.return",
_GROUP_NFSD, _HOOKID_NFSD_LOOKUP_RETURN,
"INT32","return");
_register_sys_event("nfsd.commit.entry",
_GROUP_NFSD, _HOOKID_NFSD_COMMIT_ENTRY,
"INT8:INT64:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:count:offset");
_register_sys_event("nfsd.commit.return",
_GROUP_NFSD, _HOOKID_NFSD_COMMIT_RETURN,
"INT32","return");
_register_sys_event("nfsd.create.entry",
_GROUP_NFSD, _HOOKID_NFSD_CREATE_ENTRY,
"INT8:INT64:INT64:INT64:STRING:INT32:INT16:INT32",
"size:ino0:ino1:ino2:filename:type:iap_valid:iap_mode");
_register_sys_event("nfsd.create.return",
_GROUP_NFSD, _HOOKID_NFSD_CREATE_RETURN,
"INT32","return");
_register_sys_event("nfsd.createv3.entry",
_GROUP_NFSD, _HOOKID_NFSD_CREATEV3_ENTRY,
"INT8:INT64:INT64:INT64:STRING:INT8:INT16:INT32",
"size:ino0:ino1:ino2:filename:createmode:iap_valid:iap_mode");
_register_sys_event("nfsd.createv3.return",
_GROUP_NFSD, _HOOKID_NFSD_CREATEV3_RETURN,
"INT32","return");
_register_sys_event("nfsd.unlink.entry",
_GROUP_NFSD, _HOOKID_NFSD_UNLINK_ENTRY,
"INT8:INT64:INT64:INT64:STRING:INT32",
"size:ino0:ino1:ino2:filename:type");
_register_sys_event("nfsd.unlink.return",
_GROUP_NFSD, _HOOKID_NFSD_UNLINK_RETURN,
"INT32","return");
_register_sys_event("nfsd.rename.entry",
_GROUP_NFSD, _HOOKID_NFSD_RENAME_ENTRY,
"INT8:INT64:INT64:INT64:STRING:INT8:INT64:INT64:INT64:STRING",
"old_size:old_ino0:old_ino1:old_ino2:old_filename:size:ino0:ino1:ino2:filename");
_register_sys_event("nfsd.rename.return",
_GROUP_NFSD, _HOOKID_NFSD_RENAME_RETURN,
"INT32","return");
_register_sys_event("nfsd.close.entry",
_GROUP_NFSD, _HOOKID_NFSD_CLOSE_ENTRY,
"STRING", "filename");
_register_sys_event("nfsd.close.return",
_GROUP_NFSD, _HOOKID_NFSD_CLOSE_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.lookup.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_LOOKUP_ENTRY,
"INT8:INT64:INT64:INT64:INT8:STRING",
"size:ino0:ino1:ino2:version:filename");
_register_sys_event("nfsd.proc.lookup.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_LOOKUP_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.read.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_READ_ENTRY,
"INT8:INT64:INT64:INT64:INT8:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:version:count:offset:iov_len:vlen");
_register_sys_event("nfsd.proc.read.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_READ_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.write.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_WRITE_ENTRY,
"INT8:INT64:INT64:INT64:INT8:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:version:count:offset:iov_len:vlen");
_register_sys_event("nfsd.proc.write.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_WRITE_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.commit.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_COMMIT_ENTRY,
"INT8:INT64:INT64:INT64:INT8:INT64:INT64",
"size:ino0:ino1:ino2:version:count:offset");
_register_sys_event("nfsd.proc.commit.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_COMMIT_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.compound.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_COMPOUND_ENTRY,
"INT32","num");
_register_sys_event("nfsd.proc.compound.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_COMPOUND_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.remove.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_REMOVE_ENTRY,
"INT8:INT64:INT64:INT64:INT8:STR
"INT32","return");
_register_sys_event("nfsd.lookup.entry",
_GROUP_NFSD, _HOOKID_NFSD_LOOKUP_ENTRY,
"INT8:INT64:INT64:INT64:STRING",
"size:ino0:ino1:ino2:filename");
_register_sys_event("nfsd.lookup.return",
_GROUP_NFSD, _HOOKID_NFSD_LOOKUP_RETURN,
"INT32","return");
_register_sys_event("nfsd.commit.entry",
_GROUP_NFSD, _HOOKID_NFSD_COMMIT_ENTRY,
"INT8:INT64:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:count:offset");
_register_sys_event("nfsd.commit.return",
_GROUP_NFSD, _HOOKID_NFSD_COMMIT_RETURN,
"INT32","return");
_register_sys_event("nfsd.create.entry",
_GROUP_NFSD, _HOOKID_NFSD_CREATE_ENTRY,
"INT8:INT64:INT64:INT64:STRING:INT32:INT16:INT32",
"size:ino0:ino1:ino2:filename:type:iap_valid:iap_mode");
_register_sys_event("nfsd.create.return",
_GROUP_NFSD, _HOOKID_NFSD_CREATE_RETURN,
"INT32","return");
_register_sys_event("nfsd.createv3.entry",
_GROUP_NFSD, _HOOKID_NFSD_CREATEV3_ENTRY,
"INT8:INT64:INT64:INT64:STRING:INT8:INT16:INT32",
"size:ino0:ino1:ino2:filename:createmode:iap_valid:iap_mode");
_register_sys_event("nfsd.createv3.return",
_GROUP_NFSD, _HOOKID_NFSD_CREATEV3_RETURN,
"INT32","return");
_register_sys_event("nfsd.unlink.entry",
_GROUP_NFSD, _HOOKID_NFSD_UNLINK_ENTRY,
"INT8:INT64:INT64:INT64:STRING:INT32",
"size:ino0:ino1:ino2:filename:type");
_register_sys_event("nfsd.unlink.return",
_GROUP_NFSD, _HOOKID_NFSD_UNLINK_RETURN,
"INT32","return");
_register_sys_event("nfsd.rename.entry",
_GROUP_NFSD, _HOOKID_NFSD_RENAME_ENTRY,
"INT8:INT64:INT64:INT64:STRING:INT8:INT64:INT64:INT64:STRING",
"old_size:old_ino0:old_ino1:old_ino2:old_filename:size:ino0:ino1:ino2:filename");
_register_sys_event("nfsd.rename.return",
_GROUP_NFSD, _HOOKID_NFSD_RENAME_RETURN,
"INT32","return");
_register_sys_event("nfsd.close.entry",
_GROUP_NFSD, _HOOKID_NFSD_CLOSE_ENTRY,
"STRING", "filename");
_register_sys_event("nfsd.close.return",
_GROUP_NFSD, _HOOKID_NFSD_CLOSE_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.lookup.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_LOOKUP_ENTRY,
"INT8:INT64:INT64:INT64:INT8:STRING",
"size:ino0:ino1:ino2:version:filename");
_register_sys_event("nfsd.proc.lookup.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_LOOKUP_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.read.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_READ_ENTRY,
"INT8:INT64:INT64:INT64:INT8:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:version:count:offset:iov_len:vlen");
_register_sys_event("nfsd.proc.read.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_READ_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.write.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_WRITE_ENTRY,
"INT8:INT64:INT64:INT64:INT8:INT64:INT64:INT64:INT64",
"size:ino0:ino1:ino2:version:count:offset:iov_len:vlen");
_register_sys_event("nfsd.proc.write.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_WRITE_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.commit.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_COMMIT_ENTRY,
"INT8:INT64:INT64:INT64:INT8:INT64:INT64",
"size:ino0:ino1:ino2:version:count:offset");
_register_sys_event("nfsd.proc.commit.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_COMMIT_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.compound.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_COMPOUND_ENTRY,
"INT32","num");
_register_sys_event("nfsd.proc.compound.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_COMPOUND_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.remove.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_REMOVE_ENTRY,
ING",
"size:ino0:ino1:ino2:version:filename");
_register_sys_event("nfsd.proc.remove.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_REMOVE_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.rename.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_RENAME_ENTRY,
"INT8:INT8:INT64:INT64:INT64:STRING:INT8:INT64:INT64:INT64:STRING",
"version:old_size:old_ino0:old_ino1:old_ino2:old_filename:size:ino0:ino1:ino2:filename");
_register_sys_event("nfsd.proc.rename.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_RENAME_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.create.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_CREATE_ENTRY,
"INT8:INT64:INT64:INT64:INT8:STRING",
"size:ino0:ino1:ino2:version:filename");
_register_sys_event("nfsd.proc.create.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_CREATE_RETURN,
"INT32","return");
%}
# file /usr/local/share/systemtap/tapset/LKET/rpc.stp
probe addevent.sunrpc = addevent.sunrpc.entry, addevent.sunrpc.return{
}
probe addevent.sunrpc.entry = addevent.sunrpc.clnt.entry, addevent.sunrpc.svc.entry, addevent.sunrpc.sched.entry{
}
probe addevent.sunrpc.return = addevent.sunrpc.clnt.return, addevent.sunrpc.svc.return, addevent.sunrpc.sched.return{
}
probe addevent.sunrpc.clnt = addevent.sunrpc.clnt.entry, addevent.sunrpc.clnt.return{
}
probe addevent.sunrpc.clnt.entry = addevent.sunrpc.clnt.create_client.entry, addevent.sunrpc.clnt.clone_client.entry, addevent.sunrpc.clnt.bind_new_program.entry, addevent.sunrpc.clnt.shutdown_client.entry, addevent.sunrpc.clnt.call_sync.entry, addevent.sunrpc.clnt.call_async.entry, addevent.sunrpc.clnt.restart_call.entry{
}
probe addevent.sunrpc.clnt.return = addevent.sunrpc.clnt.create_client.return, addevent.sunrpc.clnt.clone_client.return, addevent.sunrpc.clnt.bind_new_program.return, addevent.sunrpc.clnt.shutdown_client.return, addevent.sunrpc.clnt.call_sync.return, addevent.sunrpc.clnt.call_async.return, addevent.sunrpc.clnt.restart_call.return{
}
probe addevent.sunrpc.clnt.create_client.entry = _addevent.sunrpc.clnt.create_client.entry{
update_record()
}
probe _addevent.sunrpc.clnt.create_client.entry = sunrpc.clnt.create_client{
log_sunrpc_client_info(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY, servername, prog, vers, prot, port, authflavor)
}
probe addevent.sunrpc.clnt.create_client.return = _addevent.sunrpc.clnt.create_client.return{
update_record()
}
probe _addevent.sunrpc.clnt.create_client.return = sunrpc.clnt.create_client.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN, $return)
}
probe addevent.sunrpc.clnt.clone_client.entry = _addevent.sunrpc.clnt.clone_client.entry{
update_record()
}
probe _addevent.sunrpc.clnt.clone_client.entry = sunrpc.clnt.clone_client{
log_sunrpc_client_info(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY, servername, prog, vers, prot, port, authflavor)
}
probe addevent.sunrpc.clnt.clone_client.return = _addevent.sunrpc.clnt.clone_client.return{
update_record()
}
probe _addevent.sunrpc.clnt.clone_client.return = sunrpc.clnt.clone_client.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN, $return)
}
probe addevent.sunrpc.clnt.shutdown_client.entry = _addevent.sunrpc.clnt.shutdown_client.entry{
update_record()
}
probe _addevent.sunrpc.clnt.shutdown_client.entry = sunrpc.clnt.shutdown_client{
log_sunrpc_shutdown_client(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY, servername, prog, clones, tasks, rpccnt)
}
probe addevent.sunrpc.clnt.shutdown_client.return = _addevent.sunrpc.clnt.shutdown_client.return{
update_record()
}
probe _addevent.sunrpc.clnt.shutdown_client.return = sunrpc.clnt.shutdown_client.return{
log_sunrpc_return_void(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN)
}
probe addevent.sunrpc.clnt.bind_new_program.entry = _addevent.sunrpc.clnt.bind_new_program.entry{
update_record()
}
probe _addevent.sunrpc.clnt.bind_new_program.entry = sunrpc.clnt.bind_new_program{
log_sunrpc_bind_new_program(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY, serverna
"INT8:INT64:INT64:INT64:INT8:STRING",
"size:ino0:ino1:ino2:version:filename");
_register_sys_event("nfsd.proc.remove.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_REMOVE_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.rename.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_RENAME_ENTRY,
"INT8:INT8:INT64:INT64:INT64:STRING:INT8:INT64:INT64:INT64:STRING",
"version:old_size:old_ino0:old_ino1:old_ino2:old_filename:size:ino0:ino1:ino2:filename");
_register_sys_event("nfsd.proc.rename.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_RENAME_RETURN,
"INT32","return");
_register_sys_event("nfsd.proc.create.entry",
_GROUP_NFSD, _HOOKID_NFSD_PROC_CREATE_ENTRY,
"INT8:INT64:INT64:INT64:INT8:STRING",
"size:ino0:ino1:ino2:version:filename");
_register_sys_event("nfsd.proc.create.return",
_GROUP_NFSD, _HOOKID_NFSD_PROC_CREATE_RETURN,
"INT32","return");
%}
# file /usr/local/share/systemtap/tapset/LKET/rpc.stp
probe addevent.sunrpc = addevent.sunrpc.entry, addevent.sunrpc.return{
}
probe addevent.sunrpc.entry = addevent.sunrpc.clnt.entry, addevent.sunrpc.svc.entry, addevent.sunrpc.sched.entry{
}
probe addevent.sunrpc.return = addevent.sunrpc.clnt.return, addevent.sunrpc.svc.return, addevent.sunrpc.sched.return{
}
probe addevent.sunrpc.clnt = addevent.sunrpc.clnt.entry, addevent.sunrpc.clnt.return{
}
probe addevent.sunrpc.clnt.entry = addevent.sunrpc.clnt.create_client.entry, addevent.sunrpc.clnt.clone_client.entry, addevent.sunrpc.clnt.bind_new_program.entry, addevent.sunrpc.clnt.shutdown_client.entry, addevent.sunrpc.clnt.call_sync.entry, addevent.sunrpc.clnt.call_async.entry, addevent.sunrpc.clnt.restart_call.entry{
}
probe addevent.sunrpc.clnt.return = addevent.sunrpc.clnt.create_client.return, addevent.sunrpc.clnt.clone_client.return, addevent.sunrpc.clnt.bind_new_program.return, addevent.sunrpc.clnt.shutdown_client.return, addevent.sunrpc.clnt.call_sync.return, addevent.sunrpc.clnt.call_async.return, addevent.sunrpc.clnt.restart_call.return{
}
probe addevent.sunrpc.clnt.create_client.entry = _addevent.sunrpc.clnt.create_client.entry{
update_record()
}
probe _addevent.sunrpc.clnt.create_client.entry = sunrpc.clnt.create_client{
log_sunrpc_client_info(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY, servername, prog, vers, prot, port, authflavor)
}
probe addevent.sunrpc.clnt.create_client.return = _addevent.sunrpc.clnt.create_client.return{
update_record()
}
probe _addevent.sunrpc.clnt.create_client.return = sunrpc.clnt.create_client.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN, $return)
}
probe addevent.sunrpc.clnt.clone_client.entry = _addevent.sunrpc.clnt.clone_client.entry{
update_record()
}
probe _addevent.sunrpc.clnt.clone_client.entry = sunrpc.clnt.clone_client{
log_sunrpc_client_info(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY, servername, prog, vers, prot, port, authflavor)
}
probe addevent.sunrpc.clnt.clone_client.return = _addevent.sunrpc.clnt.clone_client.return{
update_record()
}
probe _addevent.sunrpc.clnt.clone_client.return = sunrpc.clnt.clone_client.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN, $return)
}
probe addevent.sunrpc.clnt.shutdown_client.entry = _addevent.sunrpc.clnt.shutdown_client.entry{
update_record()
}
probe _addevent.sunrpc.clnt.shutdown_client.entry = sunrpc.clnt.shutdown_client{
log_sunrpc_shutdown_client(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY, servername, prog, clones, tasks, rpccnt)
}
probe addevent.sunrpc.clnt.shutdown_client.return = _addevent.sunrpc.clnt.shutdown_client.return{
update_record()
}
probe _addevent.sunrpc.clnt.shutdown_client.return = sunrpc.clnt.shutdown_client.return{
log_sunrpc_return_void(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN)
}
probe addevent.sunrpc.clnt.bind_new_program.entry = _addevent.sunrpc.clnt.bind_new_program.entry{
update_record()
}
probe _addevent.sunrpc.clnt.bind_new_program.entry = sunrpc.clnt.bind_new_program{
me, old_prog, old_vers, prog, vers)
}
probe addevent.sunrpc.clnt.bind_new_program.return = _addevent.sunrpc.clnt.bind_new_program.return{
update_record()
}
probe _addevent.sunrpc.clnt.bind_new_program.return = sunrpc.clnt.bind_new_program.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN, $return)
}
probe addevent.sunrpc.clnt.call_sync.entry = _addevent.sunrpc.clnt.call_sync.entry{
update_record()
}
probe _addevent.sunrpc.clnt.call_sync.entry = sunrpc.clnt.call_sync{
log_sunrpc_call_sync(HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY, servername, prog, vers, proc, flags)
}
probe addevent.sunrpc.clnt.call_sync.return = _addevent.sunrpc.clnt.call_sync.return{
update_record()
}
probe _addevent.sunrpc.clnt.call_sync.return = sunrpc.clnt.call_sync.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN, $return)
}
probe addevent.sunrpc.clnt.call_async.entry = _addevent.sunrpc.clnt.call_async.entry{
update_record()
}
probe _addevent.sunrpc.clnt.call_async.entry = sunrpc.clnt.call_async{
log_sunrpc_call_async(HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY, servername, prog, vers, proc, flags)
}
probe addevent.sunrpc.clnt.call_async.return = _addevent.sunrpc.clnt.call_async.return{
update_record()
}
probe _addevent.sunrpc.clnt.call_async.return = sunrpc.clnt.call_async.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN, $return)
}
probe addevent.sunrpc.clnt.restart_call.entry = _addevent.sunrpc.clnt.restart_call.entry{
update_record()
}
probe _addevent.sunrpc.clnt.restart_call.entry = sunrpc.clnt.restart_call{
log_sunrpc_restart_call(HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY, tk_pid, tk_flags)
}
probe addevent.sunrpc.clnt.restart_call.return = _addevent.sunrpc.clnt.restart_call.return{
update_record()
}
probe _addevent.sunrpc.clnt.restart_call.return = sunrpc.clnt.restart_call.return{
log_sunrpc_return_void(HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN)
}
probe addevent.sunrpc.svc = addevent.sunrpc.svc.entry, addevent.sunrpc.svc.return{
}
probe addevent.sunrpc.svc.entry = addevent.sunrpc.svc.register.entry, addevent.sunrpc.svc.create.entry, addevent.sunrpc.svc.destroy.entry, addevent.sunrpc.svc.process.entry, addevent.sunrpc.svc.authorise.entry, addevent.sunrpc.svc.recv.entry, addevent.sunrpc.svc.send.entry, addevent.sunrpc.svc.drop.entry{
}
probe addevent.sunrpc.svc.return = addevent.sunrpc.svc.register.return, addevent.sunrpc.svc.create.return, addevent.sunrpc.svc.destroy.return, addevent.sunrpc.svc.process.return, addevent.sunrpc.svc.authorise.return, addevent.sunrpc.svc.recv.return, addevent.sunrpc.svc.send.return, addevent.sunrpc.svc.drop.return{
}
probe addevent.sunrpc.svc.register.entry = _addevent.sunrpc.svc.register.entry{
update_record()
}
probe _addevent.sunrpc.svc.register.entry = sunrpc.svc.register{
log_sunrpc_svc_register(HOOKID_SUNRPC_SVC_REGISTER_ENTRY, sv_name, prog, prot, port)
}
probe addevent.sunrpc.svc.register.return = _addevent.sunrpc.svc.register.return{
update_record()
}
probe _addevent.sunrpc.svc.register.return = sunrpc.svc.register.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_REGISTER_RETURN, $return)
}
probe addevent.sunrpc.svc.create.entry = _addevent.sunrpc.svc.create.entry{
update_record()
}
probe _addevent.sunrpc.svc.create.entry = sunrpc.svc.create{
log_sunrpc_svc_create(HOOKID_SUNRPC_SVC_CREATE_ENTRY, prog, pg_nvers, bufsize)
}
probe addevent.sunrpc.svc.create.return = _addevent.sunrpc.svc.create.return{
update_record()
}
probe _addevent.sunrpc.svc.create.return = sunrpc.svc.create.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_CREATE_RETURN, $return)
}
probe addevent.sunrpc.svc.destroy.entry = _addevent.sunrpc.svc.destroy.entry{
update_record()
}
probe _addevent.sunrpc.svc.destroy.entry = sunrpc.svc.destroy{
log_sunrpc_svc_destroy(HOOKID_SUNRPC_SVC_DESTROY_ENTRY, sv_name, sv_prog, sv_nrthreads)
}
probe addevent.sunrpc.svc.destroy.return = _addevent.sunrpc.svc.destroy.return{
update_record()
}
probe _addevent.sunrpc.svc.destroy.return = sunrpc.svc.destroy.return{
log_sunrpc_return_
log_sunrpc_bind_new_program(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY, servername, old_prog, old_vers, prog, vers)
}
probe addevent.sunrpc.clnt.bind_new_program.return = _addevent.sunrpc.clnt.bind_new_program.return{
update_record()
}
probe _addevent.sunrpc.clnt.bind_new_program.return = sunrpc.clnt.bind_new_program.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN, $return)
}
probe addevent.sunrpc.clnt.call_sync.entry = _addevent.sunrpc.clnt.call_sync.entry{
update_record()
}
probe _addevent.sunrpc.clnt.call_sync.entry = sunrpc.clnt.call_sync{
log_sunrpc_call_sync(HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY, servername, prog, vers, proc, flags)
}
probe addevent.sunrpc.clnt.call_sync.return = _addevent.sunrpc.clnt.call_sync.return{
update_record()
}
probe _addevent.sunrpc.clnt.call_sync.return = sunrpc.clnt.call_sync.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN, $return)
}
probe addevent.sunrpc.clnt.call_async.entry = _addevent.sunrpc.clnt.call_async.entry{
update_record()
}
probe _addevent.sunrpc.clnt.call_async.entry = sunrpc.clnt.call_async{
log_sunrpc_call_async(HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY, servername, prog, vers, proc, flags)
}
probe addevent.sunrpc.clnt.call_async.return = _addevent.sunrpc.clnt.call_async.return{
update_record()
}
probe _addevent.sunrpc.clnt.call_async.return = sunrpc.clnt.call_async.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN, $return)
}
probe addevent.sunrpc.clnt.restart_call.entry = _addevent.sunrpc.clnt.restart_call.entry{
update_record()
}
probe _addevent.sunrpc.clnt.restart_call.entry = sunrpc.clnt.restart_call{
log_sunrpc_restart_call(HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY, tk_pid, tk_flags)
}
probe addevent.sunrpc.clnt.restart_call.return = _addevent.sunrpc.clnt.restart_call.return{
update_record()
}
probe _addevent.sunrpc.clnt.restart_call.return = sunrpc.clnt.restart_call.return{
log_sunrpc_return_void(HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN)
}
probe addevent.sunrpc.svc = addevent.sunrpc.svc.entry, addevent.sunrpc.svc.return{
}
probe addevent.sunrpc.svc.entry = addevent.sunrpc.svc.register.entry, addevent.sunrpc.svc.create.entry, addevent.sunrpc.svc.destroy.entry, addevent.sunrpc.svc.process.entry, addevent.sunrpc.svc.authorise.entry, addevent.sunrpc.svc.recv.entry, addevent.sunrpc.svc.send.entry, addevent.sunrpc.svc.drop.entry{
}
probe addevent.sunrpc.svc.return = addevent.sunrpc.svc.register.return, addevent.sunrpc.svc.create.return, addevent.sunrpc.svc.destroy.return, addevent.sunrpc.svc.process.return, addevent.sunrpc.svc.authorise.return, addevent.sunrpc.svc.recv.return, addevent.sunrpc.svc.send.return, addevent.sunrpc.svc.drop.return{
}
probe addevent.sunrpc.svc.register.entry = _addevent.sunrpc.svc.register.entry{
update_record()
}
probe _addevent.sunrpc.svc.register.entry = sunrpc.svc.register{
log_sunrpc_svc_register(HOOKID_SUNRPC_SVC_REGISTER_ENTRY, sv_name, prog, prot, port)
}
probe addevent.sunrpc.svc.register.return = _addevent.sunrpc.svc.register.return{
update_record()
}
probe _addevent.sunrpc.svc.register.return = sunrpc.svc.register.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_REGISTER_RETURN, $return)
}
probe addevent.sunrpc.svc.create.entry = _addevent.sunrpc.svc.create.entry{
update_record()
}
probe _addevent.sunrpc.svc.create.entry = sunrpc.svc.create{
log_sunrpc_svc_create(HOOKID_SUNRPC_SVC_CREATE_ENTRY, prog, pg_nvers, bufsize)
}
probe addevent.sunrpc.svc.create.return = _addevent.sunrpc.svc.create.return{
update_record()
}
probe _addevent.sunrpc.svc.create.return = sunrpc.svc.create.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_CREATE_RETURN, $return)
}
probe addevent.sunrpc.svc.destroy.entry = _addevent.sunrpc.svc.destroy.entry{
update_record()
}
probe _addevent.sunrpc.svc.destroy.entry = sunrpc.svc.destroy{
log_sunrpc_svc_destroy(HOOKID_SUNRPC_SVC_DESTROY_ENTRY, sv_name, sv_prog, sv_nrthreads)
}
probe addevent.sunrpc.svc.destroy.return = _addevent.sunrpc.svc.destroy.return{
update_record()
}
probe _addevent.sunrpc.svc.destroy.return = sunrpc.svc.destroy.return{
void(HOOKID_SUNRPC_SVC_DESTROY_RETURN)
}
probe addevent.sunrpc.svc.process.entry = _addevent.sunrpc.svc.process.entry{
update_record()
}
probe _addevent.sunrpc.svc.process.entry = sunrpc.svc.process{
log_sunrpc_task_info(HOOKID_SUNRPC_SVC_PROCESS_ENTRY, sv_name, sv_prog, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
}
probe addevent.sunrpc.svc.process.return = _addevent.sunrpc.svc.process.return{
update_record()
}
probe _addevent.sunrpc.svc.process.return = sunrpc.svc.process.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_PROCESS_RETURN, $return)
}
probe addevent.sunrpc.svc.authorise.entry = _addevent.sunrpc.svc.authorise.entry{
update_record()
}
probe _addevent.sunrpc.svc.authorise.entry = sunrpc.svc.authorise{
log_sunrpc_svc_authorise(HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
}
probe addevent.sunrpc.svc.authorise.return = _addevent.sunrpc.svc.authorise.return{
update_record()
}
probe _addevent.sunrpc.svc.authorise.return = sunrpc.svc.authorise.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_AUTHORISE_RETURN, $return)
}
probe addevent.sunrpc.svc.recv.entry = _addevent.sunrpc.svc.recv.entry{
update_record()
}
probe _addevent.sunrpc.svc.recv.entry = sunrpc.svc.recv{
log_sunrpc_svc_recv(HOOKID_SUNRPC_SVC_RECV_ENTRY, sv_name, timeout)
}
probe addevent.sunrpc.svc.recv.return = _addevent.sunrpc.svc.recv.return{
update_record()
}
probe _addevent.sunrpc.svc.recv.return = sunrpc.svc.recv.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_RECV_RETURN, $return)
}
probe addevent.sunrpc.svc.send.entry = _addevent.sunrpc.svc.send.entry{
update_record()
}
probe _addevent.sunrpc.svc.send.entry = sunrpc.svc.send{
log_sunrpc_svc_send(HOOKID_SUNRPC_SVC_SEND_ENTRY, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
}
probe addevent.sunrpc.svc.send.return = _addevent.sunrpc.svc.send.return{
update_record()
}
probe _addevent.sunrpc.svc.send.return = sunrpc.svc.send.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_SEND_RETURN, $return)
}
probe addevent.sunrpc.svc.drop.entry = _addevent.sunrpc.svc.drop.entry{
update_record()
}
probe _addevent.sunrpc.svc.drop.entry = sunrpc.svc.drop{
log_sunrpc_svc_drop(HOOKID_SUNRPC_SVC_DROP_ENTRY, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
}
probe addevent.sunrpc.svc.drop.return = _addevent.sunrpc.svc.drop.return{
update_record()
}
probe _addevent.sunrpc.svc.drop.return = sunrpc.svc.drop.return{
log_sunrpc_return_void(HOOKID_SUNRPC_SVC_DROP_RETURN)
}
probe addevent.sunrpc.sched = addevent.sunrpc.sched.entry, addevent.sunrpc.sched.return{
}
probe addevent.sunrpc.sched.entry = addevent.sunrpc.sched.new_task.entry, addevent.sunrpc.sched.execute.entry, addevent.sunrpc.sched.delay.entry, addevent.sunrpc.sched.release_task.entry{
}
probe addevent.sunrpc.sched.return = addevent.sunrpc.sched.new_task.return, addevent.sunrpc.sched.execute.return, addevent.sunrpc.sched.delay.return, addevent.sunrpc.sched.release_task.return{
}
probe addevent.sunrpc.sched.new_task.entry = _addevent.sunrpc.sched.new_task.entry{
update_record()
}
probe _addevent.sunrpc.sched.new_task.entry = sunrpc.sched.new_task{
log_sunrpc_new_task(HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY, xid, prog, vers, prot, flags)
}
probe addevent.sunrpc.sched.new_task.return = _addevent.sunrpc.sched.new_task.return{
update_record()
}
probe _addevent.sunrpc.sched.new_task.return = sunrpc.sched.new_task.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN, $return)
}
probe addevent.sunrpc.sched.release_task.entry = _addevent.sunrpc.sched.release_task.entry{
update_record()
}
probe _addevent.sunrpc.sched.release_task.entry = sunrpc.sched.release_task{
log_sunrpc_release_task(HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY, xid, prog, vers, prot, tk_flags)
}
probe addevent.sunrpc.sched.release_task.return = _addevent.sunrpc.sched.release_task.return{
update_record()
}
probe _addevent.sunrpc.sched.release_task.return = sunrpc.sched.release_task.return{
log_sunrpc_return_void(HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN)
}
log_sunrpc_return_void(HOOKID_SUNRPC_SVC_DESTROY_RETURN)
}
probe addevent.sunrpc.svc.process.entry = _addevent.sunrpc.svc.process.entry{
update_record()
}
probe _addevent.sunrpc.svc.process.entry = sunrpc.svc.process{
log_sunrpc_task_info(HOOKID_SUNRPC_SVC_PROCESS_ENTRY, sv_name, sv_prog, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
}
probe addevent.sunrpc.svc.process.return = _addevent.sunrpc.svc.process.return{
update_record()
}
probe _addevent.sunrpc.svc.process.return = sunrpc.svc.process.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_PROCESS_RETURN, $return)
}
probe addevent.sunrpc.svc.authorise.entry = _addevent.sunrpc.svc.authorise.entry{
update_record()
}
probe _addevent.sunrpc.svc.authorise.entry = sunrpc.svc.authorise{
log_sunrpc_svc_authorise(HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
}
probe addevent.sunrpc.svc.authorise.return = _addevent.sunrpc.svc.authorise.return{
update_record()
}
probe _addevent.sunrpc.svc.authorise.return = sunrpc.svc.authorise.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_AUTHORISE_RETURN, $return)
}
probe addevent.sunrpc.svc.recv.entry = _addevent.sunrpc.svc.recv.entry{
update_record()
}
probe _addevent.sunrpc.svc.recv.entry = sunrpc.svc.recv{
log_sunrpc_svc_recv(HOOKID_SUNRPC_SVC_RECV_ENTRY, sv_name, timeout)
}
probe addevent.sunrpc.svc.recv.return = _addevent.sunrpc.svc.recv.return{
update_record()
}
probe _addevent.sunrpc.svc.recv.return = sunrpc.svc.recv.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_RECV_RETURN, $return)
}
probe addevent.sunrpc.svc.send.entry = _addevent.sunrpc.svc.send.entry{
update_record()
}
probe _addevent.sunrpc.svc.send.entry = sunrpc.svc.send{
log_sunrpc_svc_send(HOOKID_SUNRPC_SVC_SEND_ENTRY, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
}
probe addevent.sunrpc.svc.send.return = _addevent.sunrpc.svc.send.return{
update_record()
}
probe _addevent.sunrpc.svc.send.return = sunrpc.svc.send.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SVC_SEND_RETURN, $return)
}
probe addevent.sunrpc.svc.drop.entry = _addevent.sunrpc.svc.drop.entry{
update_record()
}
probe _addevent.sunrpc.svc.drop.entry = sunrpc.svc.drop{
log_sunrpc_svc_drop(HOOKID_SUNRPC_SVC_DROP_ENTRY, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
}
probe addevent.sunrpc.svc.drop.return = _addevent.sunrpc.svc.drop.return{
update_record()
}
probe _addevent.sunrpc.svc.drop.return = sunrpc.svc.drop.return{
log_sunrpc_return_void(HOOKID_SUNRPC_SVC_DROP_RETURN)
}
probe addevent.sunrpc.sched = addevent.sunrpc.sched.entry, addevent.sunrpc.sched.return{
}
probe addevent.sunrpc.sched.entry = addevent.sunrpc.sched.new_task.entry, addevent.sunrpc.sched.execute.entry, addevent.sunrpc.sched.delay.entry, addevent.sunrpc.sched.release_task.entry{
}
probe addevent.sunrpc.sched.return = addevent.sunrpc.sched.new_task.return, addevent.sunrpc.sched.execute.return, addevent.sunrpc.sched.delay.return, addevent.sunrpc.sched.release_task.return{
}
probe addevent.sunrpc.sched.new_task.entry = _addevent.sunrpc.sched.new_task.entry{
update_record()
}
probe _addevent.sunrpc.sched.new_task.entry = sunrpc.sched.new_task{
log_sunrpc_new_task(HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY, xid, prog, vers, prot, flags)
}
probe addevent.sunrpc.sched.new_task.return = _addevent.sunrpc.sched.new_task.return{
update_record()
}
probe _addevent.sunrpc.sched.new_task.return = sunrpc.sched.new_task.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN, $return)
}
probe addevent.sunrpc.sched.release_task.entry = _addevent.sunrpc.sched.release_task.entry{
update_record()
}
probe _addevent.sunrpc.sched.release_task.entry = sunrpc.sched.release_task{
log_sunrpc_release_task(HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY, xid, prog, vers, prot, tk_flags)
}
probe addevent.sunrpc.sched.release_task.return = _addevent.sunrpc.sched.release_task.return{
update_record()
}
probe _addevent.sunrpc.sched.release_task.return = sunrpc.sched.release_task.return{
log_sunrpc_return_void(HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN)
}
probe addevent.sunrpc.sched.execute.entry = _addevent.sunrpc.sched.execute.entry{
update_record()
}
probe _addevent.sunrpc.sched.execute.entry = sunrpc.sched.execute{
log_sunrpc_execute(HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY, xid, prog, vers, prot, tk_pid, tk_flags)
}
probe addevent.sunrpc.sched.execute.return = _addevent.sunrpc.sched.execute.return{
update_record()
}
probe _addevent.sunrpc.sched.execute.return = sunrpc.sched.execute.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SCHED_EXECUTE_RETURN, $return)
}
probe addevent.sunrpc.sched.delay.entry = _addevent.sunrpc.sched.delay.entry{
update_record()
}
probe _addevent.sunrpc.sched.delay.entry = sunrpc.sched.delay{
log_sunrpc_delay(HOOKID_SUNRPC_SCHED_DELAY_ENTRY, xid, prog, tk_pid, tk_flags, delay)
}
probe addevent.sunrpc.sched.delay.return = _addevent.sunrpc.sched.delay.return{
update_record()
}
probe _addevent.sunrpc.sched.delay.return = sunrpc.sched.delay.return{
log_sunrpc_return_void(HOOKID_SUNRPC_SCHED_DELAY_RETURN)
}
probe never{
printf("%d\\n", GROUP_SUNRPC)
}
function log_sunrpc_shutdown_client (hookid, servername, prog, clones, tasks, rpccnt)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%2b%2b%4b",
THIS->servername, (_FMT_)THIS->prog,
(_FMT_)THIS->clones, (_FMT_)THIS->tasks,
(_FMT_)THIS->rpccnt);
%}
function log_sunrpc_bind_new_program (hookid, servername, old_prog, old_vers, prog, vers)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%1b%8b%1b",
THIS->servername, (_FMT_)THIS->old_prog,
(_FMT_)THIS->old_vers, (_FMT_)THIS->prog,
(_FMT_)THIS->vers);
%}
function log_sunrpc_call_sync (hookid, servername, prog, vers, proc, flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%1b%8b%8b",
THIS->servername, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->proc,
(_FMT_)THIS->flags);
%}
function log_sunrpc_call_async (hookid, servername, prog, vers, proc, flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%1b%8b%8b",
THIS->servername, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->proc,
(_FMT_)THIS->flags);
%}
function log_sunrpc_restart_call (hookid, tk_pid, tk_flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%8b",
(_FMT_)THIS->tk_pid, (_FMT_)THIS->tk_flags);
%}
function log_sunrpc_svc_register (hookid, sv_name, prog, prot, port)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%2b%4b",
THIS->sv_name, (_FMT_)THIS->prog,
(_FMT_)THIS->prot, (_FMT_)THIS->port);
%}
function log_sunrpc_svc_create (hookid, prog, pg_nvers, bufsize)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%1b%4b",
(_FMT_)THIS->prog, (_FMT_)THIS->pg_nvers,
(_FMT_)THIS->bufsize);
%}
function log_sunrpc_svc_destroy (hookid, sv_name, sv_prog, sv_nrthreads)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%4b", THIS->sv_name,
(_FMT_)THIS->sv_prog, (_FMT_)THIS->sv_nrthreads);
%}
function log_sunrpc_svc_authorise (hookid, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%8b%8b%1b%8b",
THIS->sv_name, (_FMT_)THIS->peer_ip,
(_FMT_)THIS->rq_xid, (_FMT_)THIS->rq_prog,
(_FMT_)THIS->rq_vers, (_FMT_)THIS->rq_proc);
%}
function log_sunrpc_svc_recv (hookid, sv_name, timeout)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b", THIS->sv_name,
(_FMT_)THIS->timeout);
%}
function log_sunrpc_svc_send (hookid, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%8b%8b%1b%8b",
THIS->sv_name, (_FMT_)THIS->peer_ip,
(_FMT_)THIS->rq_xid, (_FMT_)THIS->rq_prog,
(_FMT_)THIS->rq_vers, (_FMT_)THIS->rq_proc);
%}
function log_sunrpc_svc_drop (hookid, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%8b%8b%1b%8b",
THIS->sv_name, (_FMT_)THIS->peer_ip,
(_FMT_)THIS->rq_xid, (_FMT_)THIS->rq_prog,
(_FMT_)THIS->rq_vers, (_FMT_)THIS->rq_proc);
%}
function log_sunrpc_new_task (hookid, xid, prog, vers, prot, flags)
%{
_lket_trace(_
probe addevent.sunrpc.sched.execute.entry = _addevent.sunrpc.sched.execute.entry{
update_record()
}
probe _addevent.sunrpc.sched.execute.entry = sunrpc.sched.execute{
log_sunrpc_execute(HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY, xid, prog, vers, prot, tk_pid, tk_flags)
}
probe addevent.sunrpc.sched.execute.return = _addevent.sunrpc.sched.execute.return{
update_record()
}
probe _addevent.sunrpc.sched.execute.return = sunrpc.sched.execute.return{
log_sunrpc_return_int64(HOOKID_SUNRPC_SCHED_EXECUTE_RETURN, $return)
}
probe addevent.sunrpc.sched.delay.entry = _addevent.sunrpc.sched.delay.entry{
update_record()
}
probe _addevent.sunrpc.sched.delay.entry = sunrpc.sched.delay{
log_sunrpc_delay(HOOKID_SUNRPC_SCHED_DELAY_ENTRY, xid, prog, tk_pid, tk_flags, delay)
}
probe addevent.sunrpc.sched.delay.return = _addevent.sunrpc.sched.delay.return{
update_record()
}
probe _addevent.sunrpc.sched.delay.return = sunrpc.sched.delay.return{
log_sunrpc_return_void(HOOKID_SUNRPC_SCHED_DELAY_RETURN)
}
probe never{
printf("%d\\n", GROUP_SUNRPC)
}
function log_sunrpc_shutdown_client (hookid, servername, prog, clones, tasks, rpccnt)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%2b%2b%4b",
THIS->servername, (_FMT_)THIS->prog,
(_FMT_)THIS->clones, (_FMT_)THIS->tasks,
(_FMT_)THIS->rpccnt);
%}
function log_sunrpc_bind_new_program (hookid, servername, old_prog, old_vers, prog, vers)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%1b%8b%1b",
THIS->servername, (_FMT_)THIS->old_prog,
(_FMT_)THIS->old_vers, (_FMT_)THIS->prog,
(_FMT_)THIS->vers);
%}
function log_sunrpc_call_sync (hookid, servername, prog, vers, proc, flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%1b%8b%8b",
THIS->servername, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->proc,
(_FMT_)THIS->flags);
%}
function log_sunrpc_call_async (hookid, servername, prog, vers, proc, flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%1b%8b%8b",
THIS->servername, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->proc,
(_FMT_)THIS->flags);
%}
function log_sunrpc_restart_call (hookid, tk_pid, tk_flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%8b",
(_FMT_)THIS->tk_pid, (_FMT_)THIS->tk_flags);
%}
function log_sunrpc_svc_register (hookid, sv_name, prog, prot, port)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%2b%4b",
THIS->sv_name, (_FMT_)THIS->prog,
(_FMT_)THIS->prot, (_FMT_)THIS->port);
%}
function log_sunrpc_svc_create (hookid, prog, pg_nvers, bufsize)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%1b%4b",
(_FMT_)THIS->prog, (_FMT_)THIS->pg_nvers,
(_FMT_)THIS->bufsize);
%}
function log_sunrpc_svc_destroy (hookid, sv_name, sv_prog, sv_nrthreads)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%4b", THIS->sv_name,
(_FMT_)THIS->sv_prog, (_FMT_)THIS->sv_nrthreads);
%}
function log_sunrpc_svc_authorise (hookid, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%8b%8b%1b%8b",
THIS->sv_name, (_FMT_)THIS->peer_ip,
(_FMT_)THIS->rq_xid, (_FMT_)THIS->rq_prog,
(_FMT_)THIS->rq_vers, (_FMT_)THIS->rq_proc);
%}
function log_sunrpc_svc_recv (hookid, sv_name, timeout)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b", THIS->sv_name,
(_FMT_)THIS->timeout);
%}
function log_sunrpc_svc_send (hookid, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%8b%8b%1b%8b",
THIS->sv_name, (_FMT_)THIS->peer_ip,
(_FMT_)THIS->rq_xid, (_FMT_)THIS->rq_prog,
(_FMT_)THIS->rq_vers, (_FMT_)THIS->rq_proc);
%}
function log_sunrpc_svc_drop (hookid, sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%8b%8b%1b%8b",
THIS->sv_name, (_FMT_)THIS->peer_ip,
(_FMT_)THIS->rq_xid, (_FMT_)THIS->rq_prog,
(_FMT_)THIS->rq_vers, (_FMT_)THIS->rq_proc);
%}
function log_sunrpc_new_task (hookid, xid, prog, vers, prot, flags)
%{
GROUP_SUNRPC, THIS->hookid, "%8b%8b%1b%8b%8b",
(_FMT_)THIS->xid, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->prot,
(_FMT_)THIS->flags);
%}
function log_sunrpc_release_task (hookid, xid, prog, vers, prot, flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%8b%1b%8b%8b",
(_FMT_)THIS->xid, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->prot,
(_FMT_)THIS->flags);
%}
function log_sunrpc_execute (hookid, xid, prog, vers, prot, tk_pid, tk_flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%8b%1b%8b%8b%8b",
(_FMT_)THIS->xid, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->prot,
(_FMT_)THIS->tk_pid, (_FMT_)THIS->tk_flags);
%}
function log_sunrpc_delay (hookid, xid, prog, tk_pid, tk_flags, delay)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%8b%8b%8b%8b",
(_FMT_)THIS->xid, (_FMT_)THIS->prog,
(_FMT_)THIS->tk_pid, (_FMT_)THIS->tk_flags,
(_FMT_)THIS->delay);
%}
function log_sunrpc_client_info (hookid, servername, prog, vers, prot, port, authflavor)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%1b%2b%2b%1b",
THIS->servername, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->prot,
(_FMT_)THIS->port, (_FMT_)THIS->authflavor);
%}
function log_sunrpc_task_info (hookid, sv_name, sv_prog, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%8b%8b%8b%1b%1b",
THIS->sv_name, (_FMT_)THIS->sv_prog,
(_FMT_)THIS->peer_ip, (_FMT_)THIS->rq_xid,
(_FMT_)THIS->rq_prog, (_FMT_)THIS->rq_vers,
(_FMT_)THIS->rq_proc);
%}
function log_sunrpc_return_int64 (hookid, ret)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b", (_FMT_)THIS->ret);
%}
function log_sunrpc_return_int32 (hookid, ret)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%4b", (_FMT_)THIS->ret);
%}
function log_sunrpc_return_int16 (hookid, ret)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%2b", (_FMT_)THIS->ret);
%}
function log_sunrpc_return_int8 (hookid, ret)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%1b", (_FMT_)THIS->ret);
%}
function log_sunrpc_return_void (hookid)
%{
#define VOIDRETURN 0
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%1b", (_FMT_)VOIDRETURN);
%}
# file /usr/local/share/systemtap/tapset/LKET/scsi.stp
%{
#include <linux/types.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include <linux/timer.h>
#include <linux/blkdev.h>
%}probe addevent.scsi = addevent.scsi.ioentry, addevent.scsi.iodispatching, addevent.scsi.iodone, addevent.scsi.iocompleted{
}
probe addevent.scsi.ioentry = _addevent.scsi.ioentry{
update_record()
}
probe _addevent.scsi.ioentry = scsi.ioentry{
log_scsi_ioentry(disk_major, disk_minor, device_state, req_addr)
}
probe addevent.scsi.iodispatching = _addevent.scsi.iodispatching{
update_record()
}
probe _addevent.scsi.iodispatching = scsi.iodispatching{
log_scsi_dispatch(host_no, channel, lun, dev_id, device_state, data_direction, request_buffer, request_bufflen, req_addr)
}
probe addevent.scsi.iodone = _addevent.scsi.iodone{
update_record()
}
probe _addevent.scsi.iodone = scsi.iodone{
if ((scsi_timer_pending) == (1)) {
log_scsi_iodone_extra(host_no, channel, lun, dev_id, device_state, data_direction, req_addr)
}
}
probe addevent.scsi.iocompleted = _addevent.scsi.iocompleted{
update_record()
}
probe _addevent.scsi.iocompleted = scsi.iocompleted{
log_scsi_iocompleted(host_no, channel, lun, dev_id, device_state, data_direction, req_addr, goodbytes)
}
probe never{
printf("%d\\n", GROUP_SCSI)
}
function log_scsi_ioentry (major, minor, dev_state, req_addr)
%{
/*
major|minor|scsi_device_state|request_addr
*/
_lket_trace(_GROUP_SCSI, _HOOKID_SCSI_IOENTRY, "%1b%1b%1b%8b",
THIS->major, THIS->minor, THIS->dev_state, THIS->req_addr);
%}
function log_scsi_dispatch (host_no, channel, lun, dev_id, device_state, data_direction, request_buffer, request_bufflen, req_addr)
%{
_lket_trace(_GROUP_SCSI, _HOOKID_SCSI_IO_TO_LLD, "%1b%1b%1b%1b%1b%1b%8b%4b%8b",
THIS->host_no, THIS-
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%8b%1b%8b%8b",
(_FMT_)THIS->xid, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->prot,
(_FMT_)THIS->flags);
%}
function log_sunrpc_release_task (hookid, xid, prog, vers, prot, flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%8b%1b%8b%8b",
(_FMT_)THIS->xid, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->prot,
(_FMT_)THIS->flags);
%}
function log_sunrpc_execute (hookid, xid, prog, vers, prot, tk_pid, tk_flags)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%8b%1b%8b%8b%8b",
(_FMT_)THIS->xid, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->prot,
(_FMT_)THIS->tk_pid, (_FMT_)THIS->tk_flags);
%}
function log_sunrpc_delay (hookid, xid, prog, tk_pid, tk_flags, delay)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b%8b%8b%8b%8b",
(_FMT_)THIS->xid, (_FMT_)THIS->prog,
(_FMT_)THIS->tk_pid, (_FMT_)THIS->tk_flags,
(_FMT_)THIS->delay);
%}
function log_sunrpc_client_info (hookid, servername, prog, vers, prot, port, authflavor)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%1b%2b%2b%1b",
THIS->servername, (_FMT_)THIS->prog,
(_FMT_)THIS->vers, (_FMT_)THIS->prot,
(_FMT_)THIS->port, (_FMT_)THIS->authflavor);
%}
function log_sunrpc_task_info (hookid, sv_name, sv_prog, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%0s%8b%8b%8b%8b%1b%1b",
THIS->sv_name, (_FMT_)THIS->sv_prog,
(_FMT_)THIS->peer_ip, (_FMT_)THIS->rq_xid,
(_FMT_)THIS->rq_prog, (_FMT_)THIS->rq_vers,
(_FMT_)THIS->rq_proc);
%}
function log_sunrpc_return_int64 (hookid, ret)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%8b", (_FMT_)THIS->ret);
%}
function log_sunrpc_return_int32 (hookid, ret)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%4b", (_FMT_)THIS->ret);
%}
function log_sunrpc_return_int16 (hookid, ret)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%2b", (_FMT_)THIS->ret);
%}
function log_sunrpc_return_int8 (hookid, ret)
%{
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%1b", (_FMT_)THIS->ret);
%}
function log_sunrpc_return_void (hookid)
%{
#define VOIDRETURN 0
_lket_trace(_GROUP_SUNRPC, THIS->hookid, "%1b", (_FMT_)VOIDRETURN);
%}
# file /usr/local/share/systemtap/tapset/LKET/scsi.stp
%{
#include <linux/types.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include <linux/timer.h>
#include <linux/blkdev.h>
%}probe addevent.scsi = addevent.scsi.ioentry, addevent.scsi.iodispatching, addevent.scsi.iodone, addevent.scsi.iocompleted{
}
probe addevent.scsi.ioentry = _addevent.scsi.ioentry{
update_record()
}
probe _addevent.scsi.ioentry = scsi.ioentry{
log_scsi_ioentry(disk_major, disk_minor, device_state, req_addr)
}
probe addevent.scsi.iodispatching = _addevent.scsi.iodispatching{
update_record()
}
probe _addevent.scsi.iodispatching = scsi.iodispatching{
log_scsi_dispatch(host_no, channel, lun, dev_id, device_state, data_direction, request_buffer, request_bufflen, req_addr)
}
probe addevent.scsi.iodone = _addevent.scsi.iodone{
update_record()
}
probe _addevent.scsi.iodone = scsi.iodone{
if ((scsi_timer_pending) == (1)) {
log_scsi_iodone_extra(host_no, channel, lun, dev_id, device_state, data_direction, req_addr)
}
}
probe addevent.scsi.iocompleted = _addevent.scsi.iocompleted{
update_record()
}
probe _addevent.scsi.iocompleted = scsi.iocompleted{
log_scsi_iocompleted(host_no, channel, lun, dev_id, device_state, data_direction, req_addr, goodbytes)
}
probe never{
printf("%d\\n", GROUP_SCSI)
}
function log_scsi_ioentry (major, minor, dev_state, req_addr)
%{
/*
major|minor|scsi_device_state|request_addr
*/
_lket_trace(_GROUP_SCSI, _HOOKID_SCSI_IOENTRY, "%1b%1b%1b%8b",
THIS->major, THIS->minor, THIS->dev_state, THIS->req_addr);
%}
function log_scsi_dispatch (host_no, channel, lun, dev_id, device_state, data_direction, request_buffer, request_bufflen, req_addr)
%{
_lket_trace(_GROUP_SCSI, _HOOKID_SCSI_IO_TO_LLD, "%1b%1b%1b%1b%1b%1b%8b%4b%8b",
>channel, THIS->lun, THIS->dev_id,
THIS->device_state, THIS->data_direction, THIS->request_buffer,
THIS->request_bufflen, THIS->req_addr);
%}
function log_scsi_iodone_extra (host_no, channel, lun, dev_id, device_state, data_direction, req_addr)
%{
_lket_trace(_GROUP_SCSI, _HOOKID_SCSI_IODONE_BY_LLD, "%1b%1b%1b%1b%1b%1b%8b",
THIS->host_no, THIS->channel, THIS->lun, THIS->dev_id,
THIS->device_state, THIS->data_direction, THIS->req_addr);
%}
function log_scsi_iocompleted (host_no, channel, lun, dev_id, device_state, data_direction, req_addr, goodbytes)
%{
_lket_trace(_GROUP_SCSI, _HOOKID_SCSI_IOCOMP_BY_MIDLEVEL,
"%1b%1b%1b%1b%1b%1b%8b%4b", THIS->host_no, THIS->channel,
THIS->lun, THIS->dev_id, THIS->device_state, THIS->data_direction,
THIS->req_addr, THIS->goodbytes);
%}
# file /usr/local/share/systemtap/tapset/LKET/signal.stp
probe addevent.signal = addevent.signal.entry, addevent.signal.return{
}
probe addevent.signal.entry = addevent.signal.send.entry, addevent.signal.syskill.entry, addevent.signal.systgkill.entry, addevent.signal.systkill.entry, addevent.signal.pending.entry, addevent.signal.do_action.entry, addevent.signal.procmask.entry, addevent.signal.flush.entry{
}
probe addevent.signal.return = addevent.signal.send.return, addevent.signal.syskill.return, addevent.signal.systgkill.return, addevent.signal.systkill.return, addevent.signal.pending.return, addevent.signal.do_action.return, addevent.signal.procmask.return{
}
probe addevent.signal.send.entry = _addevent.signal.send.entry{
update_record()
}
probe _addevent.signal.send.entry = signal.send{
log_signal_send(sig, sig_pid, shared, send2queue)
}
probe addevent.signal.send.return = _addevent.signal.send.return{
update_record()
}
probe _addevent.signal.send.return = signal.send.return{
log_signal_send_return($return)
}
probe addevent.signal.syskill.entry = _addevent.signal.syskill.entry{
update_record()
}
probe _addevent.signal.syskill.entry = signal.syskill{
log_signal_syskill(pid, sig)
}
probe addevent.signal.syskill.return = _addevent.signal.syskill.return{
update_record()
}
probe _addevent.signal.syskill.return = signal.syskill.return{
log_signal_syskill_return($return)
}
probe addevent.signal.systgkill.entry = _addevent.signal.systgkill.entry{
update_record()
}
probe _addevent.signal.systgkill.entry = signal.systgkill{
log_signal_systgkill(pid, tgid, sig)
}
probe addevent.signal.systgkill.return = _addevent.signal.systgkill.return{
update_record()
}
probe _addevent.signal.systgkill.return = signal.systgkill.return{
log_signal_systgkill_return($return)
}
probe addevent.signal.systkill.entry = _addevent.signal.systkill.entry{
update_record()
}
probe _addevent.signal.systkill.entry = signal.systkill{
log_signal_systkill(pid, sig)
}
probe addevent.signal.systkill.return = _addevent.signal.systkill.return{
update_record()
}
probe _addevent.signal.systkill.return = signal.systkill.return{
log_signal_systkill_return($return)
}
probe addevent.signal.pending.entry = _addevent.signal.pending.entry{
update_record()
}
probe _addevent.signal.pending.entry = signal.pending{
log_signal_pending(sigset_add, sigset_size)
}
probe addevent.signal.pending.return = _addevent.signal.pending.return{
update_record()
}
probe _addevent.signal.pending.return = signal.pending.return{
log_signal_pending_return($return)
}
probe addevent.signal.do_action.entry = _addevent.signal.do_action.entry{
update_record()
}
probe _addevent.signal.do_action.entry = signal.do_action{
log_signal_doaction(sig, sa_handler)
}
probe addevent.signal.do_action.return = _addevent.signal.do_action.return{
update_record()
}
probe _addevent.signal.do_action.return = signal.do_action.return{
log_signal_doaction_return($return)
}
probe addevent.signal.procmask.entry = _addevent.signal.procmask.entry{
update_record()
}
probe _addevent.signal.procmask.entry = signal.procmask{
log_signal_procmask($how, sigset)
}
probe addevent.signal.procmask.return = _addevent.signal.procmask.return{
update
THIS->host_no, THIS->channel, THIS->lun, THIS->dev_id,
THIS->device_state, THIS->data_direction, THIS->request_buffer,
THIS->request_bufflen, THIS->req_addr);
%}
function log_scsi_iodone_extra (host_no, channel, lun, dev_id, device_state, data_direction, req_addr)
%{
_lket_trace(_GROUP_SCSI, _HOOKID_SCSI_IODONE_BY_LLD, "%1b%1b%1b%1b%1b%1b%8b",
THIS->host_no, THIS->channel, THIS->lun, THIS->dev_id,
THIS->device_state, THIS->data_direction, THIS->req_addr);
%}
function log_scsi_iocompleted (host_no, channel, lun, dev_id, device_state, data_direction, req_addr, goodbytes)
%{
_lket_trace(_GROUP_SCSI, _HOOKID_SCSI_IOCOMP_BY_MIDLEVEL,
"%1b%1b%1b%1b%1b%1b%8b%4b", THIS->host_no, THIS->channel,
THIS->lun, THIS->dev_id, THIS->device_state, THIS->data_direction,
THIS->req_addr, THIS->goodbytes);
%}
# file /usr/local/share/systemtap/tapset/LKET/signal.stp
probe addevent.signal = addevent.signal.entry, addevent.signal.return{
}
probe addevent.signal.entry = addevent.signal.send.entry, addevent.signal.syskill.entry, addevent.signal.systgkill.entry, addevent.signal.systkill.entry, addevent.signal.pending.entry, addevent.signal.do_action.entry, addevent.signal.procmask.entry, addevent.signal.flush.entry{
}
probe addevent.signal.return = addevent.signal.send.return, addevent.signal.syskill.return, addevent.signal.systgkill.return, addevent.signal.systkill.return, addevent.signal.pending.return, addevent.signal.do_action.return, addevent.signal.procmask.return{
}
probe addevent.signal.send.entry = _addevent.signal.send.entry{
update_record()
}
probe _addevent.signal.send.entry = signal.send{
log_signal_send(sig, sig_pid, shared, send2queue)
}
probe addevent.signal.send.return = _addevent.signal.send.return{
update_record()
}
probe _addevent.signal.send.return = signal.send.return{
log_signal_send_return($return)
}
probe addevent.signal.syskill.entry = _addevent.signal.syskill.entry{
update_record()
}
probe _addevent.signal.syskill.entry = signal.syskill{
log_signal_syskill(pid, sig)
}
probe addevent.signal.syskill.return = _addevent.signal.syskill.return{
update_record()
}
probe _addevent.signal.syskill.return = signal.syskill.return{
log_signal_syskill_return($return)
}
probe addevent.signal.systgkill.entry = _addevent.signal.systgkill.entry{
update_record()
}
probe _addevent.signal.systgkill.entry = signal.systgkill{
log_signal_systgkill(pid, tgid, sig)
}
probe addevent.signal.systgkill.return = _addevent.signal.systgkill.return{
update_record()
}
probe _addevent.signal.systgkill.return = signal.systgkill.return{
log_signal_systgkill_return($return)
}
probe addevent.signal.systkill.entry = _addevent.signal.systkill.entry{
update_record()
}
probe _addevent.signal.systkill.entry = signal.systkill{
log_signal_systkill(pid, sig)
}
probe addevent.signal.systkill.return = _addevent.signal.systkill.return{
update_record()
}
probe _addevent.signal.systkill.return = signal.systkill.return{
log_signal_systkill_return($return)
}
probe addevent.signal.pending.entry = _addevent.signal.pending.entry{
update_record()
}
probe _addevent.signal.pending.entry = signal.pending{
log_signal_pending(sigset_add, sigset_size)
}
probe addevent.signal.pending.return = _addevent.signal.pending.return{
update_record()
}
probe _addevent.signal.pending.return = signal.pending.return{
log_signal_pending_return($return)
}
probe addevent.signal.do_action.entry = _addevent.signal.do_action.entry{
update_record()
}
probe _addevent.signal.do_action.entry = signal.do_action{
log_signal_doaction(sig, sa_handler)
}
probe addevent.signal.do_action.return = _addevent.signal.do_action.return{
update_record()
}
probe _addevent.signal.do_action.return = signal.do_action.return{
log_signal_doaction_return($return)
}
probe addevent.signal.procmask.entry = _addevent.signal.procmask.entry{
update_record()
}
probe _addevent.signal.procmask.entry = signal.procmask{
log_signal_procmask($how, sigset)
}
probe addevent.signal.procmask.return = _addevent.signal.procmask.return{
_record()
}
probe _addevent.signal.procmask.return = signal.procmask.return{
log_signal_procmask_return($return)
}
probe addevent.signal.flush.entry = _addevent.signal.flush.entry{
update_record()
}
probe _addevent.signal.flush.entry = signal.flush{
log_signal_flush(sig_pid)
}
probe never{
printf("%d", GROUP_SIGNAL)
}
function log_signal_send (sig, pid, shared, send2queue)
%{
/* sig | shared | send2queue | pid
shared: indicate whether the signal is send to a process
group or to a single process
send2queue: indicate whether the event is triggered by
send_group_sigqueue or send_sigqueue
*/
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SEND_ENTRY, "%1b%1b%1b%4b",
THIS->sig, THIS->shared, THIS->send2queue, THIS->pid);
%}
function log_signal_send_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SEND_RETURN, "%1b", THIS->ret);
%}
function log_signal_syskill (pid, sig)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSKILL_ENTRY,
"%4b%1b", THIS->pid, THIS->sig);
%}
function log_signal_syskill_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSKILL_RETURN,
"%1b", THIS->ret);
%}
function log_signal_systgkill (pid, tgid, sig)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTGKILL_ENTRY,
"%4b%4b%1b", THIS->pid, THIS->tgid, THIS->sig);
%}
function log_signal_systgkill_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTGKILL_RETURN,
"%1b", THIS->ret);
%}
function log_signal_systkill (pid, sig)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTKILL_ENTRY,
"%4b%1b", THIS->pid, THIS->sig);
%}
function log_signal_systkill_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTKILL_RETURN,
"%1b", THIS->ret);
%}
function log_signal_pending (sigset_addr, setsize)
%{
/* sigset_addr | setsize */
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_PENDING_ENTRY,
"%8b%8b", THIS->sigset_addr, THIS->setsize);
%}
function log_signal_pending_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_PENDING_RETURN,
"%1b", THIS->ret);
%}
function log_signal_doaction (sig, handler)
%{
/* sig | sa_handler | sa_mask */
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_DOACTION_ENTRY,
"%1b%8b", THIS->sig, THIS->handler);
%}
function log_signal_doaction_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_DOACTION_RETURN,
"%2b", THIS->ret);
%}
function log_signal_procmask (how, set)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_PROC_MASK_ENTRY,
"%1b%8b", THIS->how, THIS->set);
%}
function log_signal_procmask_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_PROC_MASK_RETURN,
"%1b", THIS->ret);
%}
function log_signal_flush (pid)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_FLUSH_ENTRY,
"%4b", THIS->pid);
%}
# file /usr/local/share/systemtap/tapset/LKET/syscalls.stp
probe addevent.syscall = addevent.syscall.entry, addevent.syscall.return{
}
probe addevent.syscall.entry = _addevent.syscall.entry{
update_record()
}
probe _addevent.syscall.entry = syscall.*{
log_syscall_tracedata(1, name)
}
probe addevent.syscall.return = _addevent.syscall.return{
update_record()
}
probe _addevent.syscall.return = syscall.*.return{
log_syscall_tracedata(2, name)
}
probe never{
printf("%d", GROUP_SIGNAL)
}
function log_syscall_tracedata (var_id, name)
%{
_lket_trace(_GROUP_SYSCALL, THIS->var_id, "%0s", THIS->name);
%}
# file /usr/local/share/systemtap/tapset/LKET/timestamp.stp
%{
#ifndef TIMING_GETCYCLES
#define TIMING_GETCYCLES 0x01
#endif
#ifndef TIMING_GETTIMEOFDAY
#define TIMING_GETTIMEOFDAY 0x02
#endif
#ifndef TIMING_SCHEDCLOCK
#define TIMING_SCHEDCLOCK 0x03
#endif
#define MAX_TIMING_METHOD TIMING_SCHEDCLOCK
long timing_method = TIMING_GETTIMEOFDAY;
#ifndef _PFN_SCHEDCLOCK_TYPE
#define _PFN_SCHEDCLOCK_TYPE
typedef unsigned long long (* pfn_schedclock_type)(void);
#endif
pfn_schedclock_type pfn_schedclock = NULL;
%}%{
#ifdef CONFIG_CPU_FREQ
static int __lket_time_cpufreq_callback(struct notifier_block *self,
unsigned long state, void *vfr
update_record()
}
probe _addevent.signal.procmask.return = signal.procmask.return{
log_signal_procmask_return($return)
}
probe addevent.signal.flush.entry = _addevent.signal.flush.entry{
update_record()
}
probe _addevent.signal.flush.entry = signal.flush{
log_signal_flush(sig_pid)
}
probe never{
printf("%d", GROUP_SIGNAL)
}
function log_signal_send (sig, pid, shared, send2queue)
%{
/* sig | shared | send2queue | pid
shared: indicate whether the signal is send to a process
group or to a single process
send2queue: indicate whether the event is triggered by
send_group_sigqueue or send_sigqueue
*/
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SEND_ENTRY, "%1b%1b%1b%4b",
THIS->sig, THIS->shared, THIS->send2queue, THIS->pid);
%}
function log_signal_send_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SEND_RETURN, "%1b", THIS->ret);
%}
function log_signal_syskill (pid, sig)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSKILL_ENTRY,
"%4b%1b", THIS->pid, THIS->sig);
%}
function log_signal_syskill_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSKILL_RETURN,
"%1b", THIS->ret);
%}
function log_signal_systgkill (pid, tgid, sig)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTGKILL_ENTRY,
"%4b%4b%1b", THIS->pid, THIS->tgid, THIS->sig);
%}
function log_signal_systgkill_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTGKILL_RETURN,
"%1b", THIS->ret);
%}
function log_signal_systkill (pid, sig)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTKILL_ENTRY,
"%4b%1b", THIS->pid, THIS->sig);
%}
function log_signal_systkill_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_SYSTKILL_RETURN,
"%1b", THIS->ret);
%}
function log_signal_pending (sigset_addr, setsize)
%{
/* sigset_addr | setsize */
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_PENDING_ENTRY,
"%8b%8b", THIS->sigset_addr, THIS->setsize);
%}
function log_signal_pending_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_PENDING_RETURN,
"%1b", THIS->ret);
%}
function log_signal_doaction (sig, handler)
%{
/* sig | sa_handler | sa_mask */
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_DOACTION_ENTRY,
"%1b%8b", THIS->sig, THIS->handler);
%}
function log_signal_doaction_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_DOACTION_RETURN,
"%2b", THIS->ret);
%}
function log_signal_procmask (how, set)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_PROC_MASK_ENTRY,
"%1b%8b", THIS->how, THIS->set);
%}
function log_signal_procmask_return (ret)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_PROC_MASK_RETURN,
"%1b", THIS->ret);
%}
function log_signal_flush (pid)
%{
_lket_trace(_GROUP_SIGNAL, _HOOKID_SIGNAL_FLUSH_ENTRY,
"%4b", THIS->pid);
%}
# file /usr/local/share/systemtap/tapset/LKET/syscalls.stp
probe addevent.syscall = addevent.syscall.entry, addevent.syscall.return{
}
probe addevent.syscall.entry = _addevent.syscall.entry{
update_record()
}
probe _addevent.syscall.entry = syscall.*{
log_syscall_tracedata(1, name)
}
probe addevent.syscall.return = _addevent.syscall.return{
update_record()
}
probe _addevent.syscall.return = syscall.*.return{
log_syscall_tracedata(2, name)
}
probe never{
printf("%d", GROUP_SIGNAL)
}
function log_syscall_tracedata (var_id, name)
%{
_lket_trace(_GROUP_SYSCALL, THIS->var_id, "%0s", THIS->name);
%}
# file /usr/local/share/systemtap/tapset/LKET/timestamp.stp
%{
#ifndef TIMING_GETCYCLES
#define TIMING_GETCYCLES 0x01
#endif
#ifndef TIMING_GETTIMEOFDAY
#define TIMING_GETTIMEOFDAY 0x02
#endif
#ifndef TIMING_SCHEDCLOCK
#define TIMING_SCHEDCLOCK 0x03
#endif
#define MAX_TIMING_METHOD TIMING_SCHEDCLOCK
long timing_method = TIMING_GETTIMEOFDAY;
#ifndef _PFN_SCHEDCLOCK_TYPE
#define _PFN_SCHEDCLOCK_TYPE
typedef unsigned long long (* pfn_schedclock_type)(void);
#endif
pfn_schedclock_type pfn_schedclock = NULL;
%}%{
#ifdef CONFIG_CPU_FREQ
static int __lket_time_cpufreq_callback(struct notifier_block *self,
eqs);
struct notifier_block __lket_time_notifier = {
.notifier_call = __lket_time_cpufreq_callback,
};
#endif
%}function set_timing_method (method)
%{
if(THIS->method == TIMING_SCHEDCLOCK) {
pfn_schedclock = (pfn_schedclock_type)kallsyms_lookup_name("sched_clock");
if(!pfn_schedclock) {
_stp_warn("Failed to lookup specified timing method sched_clock()\n");
return;
}
}
if(THIS->method > 0 && THIS->method <= MAX_TIMING_METHOD)
timing_method = THIS->method;
%}
function lket_init_time ()
%{
int ret = 0;
#ifdef CONFIG_CPU_FREQ
if(timing_method == TIMING_GETCYCLES)
ret = cpufreq_register_notifier(&__lket_time_notifier,
CPUFREQ_TRANSITION_NOTIFIER);
#endif
THIS->__retvalue = ret;
%}
function lket_kill_time ()
%{
#ifdef CONFIG_CPU_FREQ
if(timing_method == TIMING_GETCYCLES)
cpufreq_unregister_notifier(&__lket_time_notifier,
CPUFREQ_TRANSITION_NOTIFIER);
#endif
%}
# file /usr/local/share/systemtap/tapset/LKET/tskdispatch.stp
probe addevent.tskdispatch = addevent.tskdispatch.cpuidle, addevent.tskdispatch.ctxswitch{
}
probe addevent.tskdispatch.cpuidle = _addevent.tskdispatch.cpuidle{
update_record()
}
probe _addevent.tskdispatch.cpuidle = scheduler.balance{
log_cpuidle_tracedata(HOOKID_TASK_CPUIDLE)
}
probe addevent.tskdispatch.ctxswitch = _addevent.tskdispatch.ctxswitch{
update_record()
}
probe _addevent.tskdispatch.ctxswitch = scheduler.ctxswitch{
(target_pid) = (target())
(cur_pid) = (pid())
if ((stp_pid()) != (cur_pid)) {
if (((target_pid) == (0)) || (((target_pid) != (0)) && (((prev_pid) == (target_pid)) || ((next_pid) == (target_pid))))) {
log_ctxswitch_tracedata(HOOKID_TASK_CTXSWITCH, prev_task, next_task)
}
}
}
function log_ctxswitch_tracedata (var_id, prev, next_pid)
%{
struct task_struct *prev_tsk, *next_tsk;
prev_tsk = (struct task_struct *)((long)THIS->prev);
next_tsk = (struct task_struct *)((long)THIS->next_pid);
_lket_trace(_GROUP_TASK, THIS->var_id, "%4b%4b%1b", (_FMT_)prev_tsk->pid,
(_FMT_)next_tsk->pid, (_FMT_)prev_tsk->state);
%}
function log_cpuidle_tracedata (var_id)
%{
struct task_struct *cur = current;
_lket_trace(_GROUP_TASK, THIS->var_id, "%4b", (_FMT_)cur->pid);
%}
# file /usr/local/share/systemtap/tapset/LKET/utils.stp
function filter_by_pid ()
%{
struct task_struct *cur = current;
if(cur->tgid != _stp_pid) {
/* to trace a specific process if we explicitly specify
which process we want to trace by:
1. stap -c "process_to_trace" ...
2. stap -x pid_to_trace ...
else we will trace all the processes
*/
if( _stp_target != 0 && cur->tgid != _stp_target) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = 1;
} else /*skip the events generated by stap itself*/
THIS->__retvalue = 0;
return;
%}
function reset_maxaction ()
%{
struct context* c;
int cpu;
for_each_online_cpu(cpu) {
c = per_cpu_ptr (contexts, cpu);
c->actioncount = 0;
}
%}
Pass 1: parsed user script and 52 library script(s) in 640usr/60sys/1986real ms.
unsigned long state, void *vfreqs);
struct notifier_block __lket_time_notifier = {
.notifier_call = __lket_time_cpufreq_callback,
};
#endif
%}function set_timing_method (method)
%{
if(THIS->method == TIMING_SCHEDCLOCK) {
pfn_schedclock = (pfn_schedclock_type)kallsyms_lookup_name("sched_clock");
if(!pfn_schedclock) {
_stp_warn("Failed to lookup specified timing method sched_clock()\n");
return;
}
}
if(THIS->method > 0 && THIS->method <= MAX_TIMING_METHOD)
timing_method = THIS->method;
%}
function lket_init_time ()
%{
int ret = 0;
#ifdef CONFIG_CPU_FREQ
if(timing_method == TIMING_GETCYCLES)
ret = cpufreq_register_notifier(&__lket_time_notifier,
CPUFREQ_TRANSITION_NOTIFIER);
#endif
THIS->__retvalue = ret;
%}
function lket_kill_time ()
%{
#ifdef CONFIG_CPU_FREQ
if(timing_method == TIMING_GETCYCLES)
cpufreq_unregister_notifier(&__lket_time_notifier,
CPUFREQ_TRANSITION_NOTIFIER);
#endif
%}
# file /usr/local/share/systemtap/tapset/LKET/tskdispatch.stp
probe addevent.tskdispatch = addevent.tskdispatch.cpuidle, addevent.tskdispatch.ctxswitch{
}
probe addevent.tskdispatch.cpuidle = _addevent.tskdispatch.cpuidle{
update_record()
}
probe _addevent.tskdispatch.cpuidle = scheduler.balance{
log_cpuidle_tracedata(HOOKID_TASK_CPUIDLE)
}
probe addevent.tskdispatch.ctxswitch = _addevent.tskdispatch.ctxswitch{
update_record()
}
probe _addevent.tskdispatch.ctxswitch = scheduler.ctxswitch{
(target_pid) = (target())
(cur_pid) = (pid())
if ((stp_pid()) != (cur_pid)) {
if (((target_pid) == (0)) || (((target_pid) != (0)) && (((prev_pid) == (target_pid)) || ((next_pid) == (target_pid))))) {
log_ctxswitch_tracedata(HOOKID_TASK_CTXSWITCH, prev_task, next_task)
}
}
}
function log_ctxswitch_tracedata (var_id, prev, next_pid)
%{
struct task_struct *prev_tsk, *next_tsk;
prev_tsk = (struct task_struct *)((long)THIS->prev);
next_tsk = (struct task_struct *)((long)THIS->next_pid);
_lket_trace(_GROUP_TASK, THIS->var_id, "%4b%4b%1b", (_FMT_)prev_tsk->pid,
(_FMT_)next_tsk->pid, (_FMT_)prev_tsk->state);
%}
function log_cpuidle_tracedata (var_id)
%{
struct task_struct *cur = current;
_lket_trace(_GROUP_TASK, THIS->var_id, "%4b", (_FMT_)cur->pid);
%}
# file /usr/local/share/systemtap/tapset/LKET/utils.stp
function filter_by_pid ()
%{
struct task_struct *cur = current;
if(cur->tgid != _stp_pid) {
/* to trace a specific process if we explicitly specify
which process we want to trace by:
1. stap -c "process_to_trace" ...
2. stap -x pid_to_trace ...
else we will trace all the processes
*/
if( _stp_target != 0 && cur->tgid != _stp_target) {
THIS->__retvalue = 0;
return;
}
THIS->__retvalue = 1;
} else /*skip the events generated by stap itself*/
THIS->__retvalue = 0;
return;
%}
function reset_maxaction ()
%{
struct context* c;
int cpu;
for_each_online_cpu(cpu) {
c = per_cpu_ptr (contexts, cpu);
c->actioncount = 0;
}
%}
Pass 1: parsed user script and 52 library script(s) in 640usr/60sys/1986real ms.
wait results: 12894 exp9 0 0
PASS: parseok/cmdline02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eight.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eight.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eight.stp
probe all{
["1"] in a1
;
["1", 2] in a2
;
[a] in a3
;
[("1") . ("2"), ("1") . ("2")] in a4
;
(a) = ([akbar(("foo") . ("bar"))] in it_s_a_trap)
foreach ([a, b] in a4) {
foreach ([c, d] in a2) ;
}
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eight.stp
probe all{
["1"] in a1
;
["1", 2] in a2
;
[a] in a3
;
[("1") . ("2"), ("1") . ("2")] in a4
;
(a) = ([akbar(("foo") . ("bar"))] in it_s_a_trap)
foreach ([a, b] in a4) {
foreach ([c, d] in a2) ;
}
}
wait results: 12899 exp9 0 0
PASS: parseok/eight.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eighteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eighteen.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eighteen.stp
global c
global a = 1
global b = "hello"
global d
probe begin{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eighteen.stp
global c
global a = 1
global b = "hello"
global d
probe begin{
}
wait results: 12903 exp9 0 0
PASS: parseok/eighteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eleven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eleven.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eleven.stp
probe two{
(a) = (b)
(a) <<< (b)
(a) += (b)
(a) -= (b)
(a) *= (b)
(a) /= (b)
(a) %= (b)
(a) <<= (b)
(a) >>= (b)
(a) &= (b)
(a) ^= (b)
(a) |= (b)
(a)?(b):(c)
(a) || (b)
(a) && (b)
(a) | (b)
(a) & (b)
(a) ^ (b)
(a) < (b)
(a) > (b)
(a) == (b)
(a) != (b)
(a) <= (b)
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/eleven.stp
probe two{
(a) = (b)
(a) <<< (b)
(a) += (b)
(a) -= (b)
(a) *= (b)
(a) /= (b)
(a) %= (b)
(a) <<= (b)
(a) >>= (b)
(a) &= (b)
(a) ^= (b)
(a) |= (b)
(a)?(b):(c)
(a) || (b)
(a) && (b)
(a) | (b)
(a) & (b)
(a) ^ (b)
(a) < (b)
(a) > (b)
(a) == (b)
(a) != (b)
(a) <= (b)
(a) >= (b)
(a) << (b)
(a) >> (b)
(a) . (b)
(a) + (b)
(a) - (b)
(a) * (b)
(a) / (b)
(a) % (b)
(a)++
(a)--
--(a)
++(a)
~(a)
!(a)
;
+(a)
;
-(a)
(a) % (b)
;
--(a)
;
++(a)
;
(a)++
;
(a)--
}
(a) >= (b)
(a) << (b)
(a) >> (b)
(a) . (b)
(a) + (b)
(a) - (b)
(a) * (b)
(a) / (b)
(a) % (b)
(a)++
(a)--
--(a)
++(a)
~(a)
!(a)
;
+(a)
;
-(a)
(a) % (b)
;
--(a)
;
++(a)
;
(a)++
;
(a)--
}
wait results: 12907 exp9 0 0
PASS: parseok/eleven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/fifteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/fifteen.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/fifteen.stp
probe syscall.read = kernel.function("sys_read"){
(fildes) = ($fd)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/fifteen.stp
probe syscall.read = kernel.function("sys_read"){
(fildes) = ($fd)
}
wait results: 12911 exp9 0 0
PASS: parseok/fifteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/five.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/five.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/five.stp
probe lkst("process_contextswitch"){
}
probe syscall("name").return{
}
probe syscall("*"){
}
probe kernel.function("wait_for_godot"){
}
probe kernel.function("name").line(10){
}
probe kernel.source("mempool.c").line(5004){
}
probe kernel.address(3735928559){
}
probe kernel.module("driver.ko").function("name").return{
}
probe kernel.module("cpqarray.ko").jumptable("ida_fops"){
}
probe kernel.watch("datasymbol").write{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/five.stp
probe lkst("process_contextswitch"){
}
probe syscall("name").return{
}
probe syscall("*"){
}
probe kernel.function("wait_for_godot"){
}
probe kernel.function("name").line(10){
}
probe kernel.source("mempool.c").line(5004){
}
probe kernel.address(3735928559){
}
probe kernel.module("driver.ko").function("name").return{
}
probe kernel.module("cpqarray.ko").jumptable("ida_fops"){
}
probe kernel.watch("datasymbol").write{
}
probe user("fche").inode("/bin/vi").function("refresh"){
}
probe user.inode("/lib/libc.so.6").function("malloc").return{
}
probe time.real.hz(500){
}
probe time.virtual.jiffies(100){
}
probe perfcounter("tlbmiss").count(4000){
}
probe resource.freemembelow(50){
}
probe begin{
}
probe something?,
or?,
nothing?{
}
probe user("fche").inode("/bin/vi").function("refresh"){
}
probe user.inode("/lib/libc.so.6").function("malloc").return{
}
probe time.real.hz(500){
}
probe time.virtual.jiffies(100){
}
probe perfcounter("tlbmiss").count(4000){
}
probe resource.freemembelow(50){
}
probe begin{
}
probe something?,
or?,
nothing?{
}
wait results: 12915 exp9 0 0
PASS: parseok/five.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/foreachstmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/foreachstmt01.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/foreachstmt01.stp
probe one{
foreach ([x+, y] in a limit 5) ;
(n) = (5)
;
foreach ([x, y-] in a limit n) ;
foreach ([x, y] in a+ limit (n) + (2)) ;
foreach ([x, y] in a+ limit ++(n)) ;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/foreachstmt01.stp
probe one{
foreach ([x+, y] in a limit 5) ;
(n) = (5)
;
foreach ([x, y-] in a limit n) ;
foreach ([x, y] in a+ limit (n) + (2)) ;
foreach ([x, y] in a+ limit ++(n)) ;
}
wait results: 12919 exp9 0 0
PASS: parseok/foreachstmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/four.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/four.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/four.stp
probe syscall("foo").foo.bar,
syscall("bar"),
syscall("*").return{
($a) = ((a$a) = ((a$a$) = (0)))
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/four.stp
probe syscall("foo").foo.bar,
syscall("bar"),
syscall("*").return{
($a) = ((a$a) = ((a$a$) = (0)))
;
}
wait results: 12923 exp9 0 0
PASS: parseok/four.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/fourteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/fourteen.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/fourteen.stp
global PASS
global other
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/fourteen.stp
global PASS
global other
wait results: 12927 exp9 0 0
PASS: parseok/fourteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/nine.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/nine.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/nine.stp
probe one{
if (a) if (b) d
else e
}
probe two{
(a) = (b)
(c) = (d)
(_e) = ($f)
;
(_g) = (h_)
;
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/nine.stp
probe one{
if (a) if (b) d
else e
}
probe two{
(a) = (b)
(c) = (d)
(_e) = ($f)
;
(_g) = (h_)
;
;
}
wait results: 12931 exp9 0 0
PASS: parseok/nine.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/one.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/one.stp
function k ()
{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/one.stp
function k ()
{
}
wait results: 12935 exp9 0 0
PASS: parseok/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/semko.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/semko.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eighteen.stp
probe kernel.function("schedule"){
log($no_such_variable_anywhere)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eighteen.stp
probe kernel.function("schedule"){
log($no_such_variable_anywhere)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eight.stp
probe foo{
(stats) <<< ("string")
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eight.stp
probe foo{
(stats) <<< ("string")
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eleven.stp
global arr
global rra
global s
global n
probe begin{
(arr[0]) = ("value")
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eleven.stp
global arr
global rra
global s
global n
probe begin{
(arr[0]) = ("value")
(rra["key"]) = (0)
}
probe end{
if ([k] in arr) {
(s) = ((k) . (""))
;
(i) = ((arr[k]) + (0))
}
foreach ([l] in arr) {
(s) = ((l) . (""))
;
(i) = ((arr[l]) + (0))
}
if ([m] in rra) {
(i) = ((m) + (1))
;
(s) = ((rra[m]) . (""))
}
foreach ([n] in rra) {
(i) = ((n) + (0))
;
(s) = ((rra[n]) . (""))
}
}
(rra["key"]) = (0)
}
probe end{
if ([k] in arr) {
(s) = ((k) . (""))
;
(i) = ((arr[k]) + (0))
}
foreach ([l] in arr) {
(s) = ((l) . (""))
;
(i) = ((arr[l]) + (0))
}
if ([m] in rra) {
(i) = ((m) + (1))
;
(s) = ((rra[m]) . (""))
}
foreach ([n] in rra) {
(i) = ((n) + (0))
;
(s) = ((rra[n]) . (""))
}
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/fifteen.stp
global tangle
probe begin{
foreach ([state] in tangle) {
(state) = ((tangle[state])++)
}
log("hello from systemtap")
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/fifteen.stp
global tangle
probe begin{
foreach ([state] in tangle) {
(state) = ((tangle[state])++)
}
log("hello from systemtap")
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/five.stp
probe foo{
bar(1, 2)
}
function bar ()
{
return 0
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/five.stp
probe foo{
bar(1, 2)
}
function bar ()
{
return 0
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/foreachstmt01.stp
global array
probe begin{
(array[0]) = (1)
foreach ([key] in array limit "hi") printf("key %d, value %d\\n", key, array[key])
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/foreachstmt01.stp
global array
probe begin{
(array[0]) = (1)
foreach ([key] in array limit "hi") printf("key %d, value %d\\n", key, array[key])
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/foreachstmt02.stp
global array
probe begin{
(array[0]) = (1)
foreach ([key] in array limit str_ret_type()) printf("key %d, value %d\\n", key, array[key])
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/foreachstmt02.stp
global array
probe begin{
(array[0]) = (1)
foreach ([key] in array limit str_ret_type()) printf("key %d, value %d\\n", key, array[key])
}
function str_ret_type ()
{
return "hi"
}
}
function str_ret_type ()
{
return "hi"
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/four.stp
global a
global b
probe foo{
(a) = (b)
;
}
function bar ()
{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/four.stp
global a
global b
probe foo{
(a) = (b)
;
}
function bar ()
{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/fourteen.stp
global foo
probe begin{
foreach ([a] in foo) {
bar()
}
log("hello from systemtap")
}
function bar ()
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/fourteen.stp
global foo
probe begin{
foreach ([a] in foo) {
bar()
}
log("hello from systemtap")
}
function bar ()
{
(a) = ((foo["hello"])++)
return 10
}
{
(a) = ((foo["hello"])++)
return 10
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive01.stp
probe kernel.function("*").maxactive(3){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive01.stp
probe kernel.function("*").maxactive(3){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive02.stp
probe kernel.function("*").return.maxactive("hi"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive02.stp
probe kernel.function("*").return.maxactive("hi"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive03.stp
probe timer.sec(100).maxactive(3){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive03.stp
probe timer.sec(100).maxactive(3){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/nine.stp
global a
probe foo{
(a[4]) = (1)
;
(a) = (2)
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/nine.stp
global a
probe foo{
(a[4]) = (1)
;
(a) = (2)
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/nineteen.stp
probe kernel.function("context_switch"){
printf("switch from=0x%x to=0x%x\\n", $prev, $next)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/nineteen.stp
probe kernel.function("context_switch"){
printf("switch from=0x%x to=0x%x\\n", $prev, $next)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/one.stp
probe begin{
(a) = (stamp("read"))
;
}
function stamp (syscall)
{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/one.stp
probe begin{
(a) = (stamp("read"))
;
}
function stamp (syscall)
{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/return01.stp
probe kernel.function("get_page_state").return{
printf("return is %d\\n", $return)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/return01.stp
probe kernel.function("get_page_state").return{
printf("return is %d\\n", $return)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/return02.stp
probe kernel.function("sys_read"){
printf("in sys_read - return = %d\\n", $return)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/return02.stp
probe kernel.function("sys_read"){
printf("in sys_read - return = %d\\n", $return)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/seven.stp
global baz
probe foo{
(baz[1]) = (4)
;
(baz["1"]) = (5)
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/seven.stp
global baz
probe foo{
(baz[1]) = (4)
;
(baz["1"]) = (5)
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/seventeen.stp
probe module("no_such_module").function("*"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/seventeen.stp
probe module("no_such_module").function("*"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/six.stp
global bar
probe foo{
(bar[1]) = (2)
;
(bar[1, 2]) = (3)
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/six.stp
global bar
probe foo{
(bar[1]) = (2)
;
(bar[1, 2]) = (3)
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/sixteen.stp
probe kernel.function("no_such_function_anywhere_guaranteed"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/sixteen.stp
probe kernel.function("no_such_function_anywhere_guaranteed"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/ten.stp
global foo
probe p1{
(foo) = (1)
}
probe p2{
if ([4] in foo) {
}
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/ten.stp
global foo
probe p1{
(foo) = (1)
}
probe p2{
if ([4] in foo) {
}
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirteen.stp
global foo
probe begin{
foreach ([a] in foo) {
bar()
}
log("hello from systemtap")
}
function bar ()
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirteen.stp
global foo
probe begin{
foreach ([a] in foo) {
bar()
}
log("hello from systemtap")
}
function bar ()
{
(foo["hello"]) = (10)
return 10
}
{
(foo["hello"]) = (10)
return 10
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyfive.stp
probe foo.a = kernel.function("no_such_function")?{
"alias a"
}
probe foo.*{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyfive.stp
probe foo.a = kernel.function("no_such_function")?{
"alias a"
}
probe foo.*{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyfour.stp
probe kernel.function("sys_read").return{
($fd) = (0)
printf("fd is %d\\n", $fd)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyfour.stp
probe kernel.function("sys_read").return{
($fd) = (0)
printf("fd is %d\\n", $fd)
}
probe kernel.function("sys_open").return{
$filename
}
probe kernel.function("sys_open").return{
$filename
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyone.stp
global x
probe end{
(x[10]) <<< (1)
(x[10]) = (10)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyone.stp
global x
probe end{
(x[10]) <<< (1)
(x[10]) = (10)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtysix.stp
probe kernel.function("kmem_cache_alloc"){
print($cachep->no_such_field)
print($cachep->array->should_have_indexed_it)
print($cachep->next)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtysix.stp
probe kernel.function("kmem_cache_alloc"){
print($cachep->no_such_field)
print($cachep->array->should_have_indexed_it)
print($cachep->next)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirty.stp
global x
probe end{
(x) <<< (1)
(x) = (10)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirty.stp
global x
probe end{
(x) <<< (1)
(x) = (10)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtythree.stp
probe kernel.function("do_IRQ"){
}
probe kernel.function("*@*/kprobes.c"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtythree.stp
probe kernel.function("do_IRQ"){
}
probe kernel.function("*@*/kprobes.c"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtytwo.stp
probe kernel.function("init_setup"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtytwo.stp
probe kernel.function("init_setup"){
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/three.stp
global b
probe foo{
(a) <<< (2)
;
(b[a]) = (4)
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/three.stp
global b
probe foo{
(a) <<< (2)
;
(b[a]) = (4)
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twelve.stp
probe end{
for ((a) = (0); "hello"; ) {
}
for (; "goodbye"; ) {
}
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twelve.stp
probe end{
for ((a) = (0); "hello"; ) {
}
for (; "goodbye"; ) {
}
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyeight.stp
global x
probe end{
(x) <<< (10)
(x)++
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyeight.stp
global x
probe end{
(x) <<< (10)
(x)++
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyfive.stp
global x
global y
probe end{
(x) = (y[10])
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyfive.stp
global x
global y
probe end{
(x) = (y[10])
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyfour.stp
global x
global y
probe end{
(y) = (x)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyfour.stp
global x
global y
probe end{
(y) = (x)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentynine.stp
global x
probe end{
(x) <<< ((10) <<< (11))
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentynine.stp
global x
probe end{
(x) <<< ((10) <<< (11))
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyone.stp
probe kernel.function("context_switch"){
log("found an inline via function()")
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyone.stp
probe kernel.function("context_switch"){
log("found an inline via function()")
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyseven.stp
global x
probe end{
(x) <<< (10)
foo(x)
}
function foo (bar)
{
(bar) <<< (x)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyseven.stp
global x
probe end{
(x) <<< (10)
foo(x)
}
function foo (bar)
{
(bar) <<< (x)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentysix.stp
global x
probe end{
(x[10]) <<< (1)
(x[10]) = (10)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentysix.stp
global x
probe end{
(x[10]) <<< (1)
(x[10]) = (10)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twenty.stp
probe begin{
print((a()) + (1))
}
function a ()
{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twenty.stp
probe begin{
print((a()) + (1))
}
function a ()
{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentythree.stp
probe badalias.* = begin{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentythree.stp
probe badalias.* = begin{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentytwo.stp
probe kernel.inline("sys_recv"){
log("found a non-inline via inline()")
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentytwo.stp
probe kernel.inline("sys_recv"){
log("found a non-inline via inline()")
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/two.stp
probe foo{
(bar) = ((2) + ("string"))
;
zoo(car)
}
function zoo (p)
{
(p) <<< (5)
;
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/two.stp
probe foo{
(bar) = ((2) + ("string"))
;
zoo(car)
}
function zoo (p)
{
(p) <<< (5)
;
return 0
}
return 0
}
wait results: 12939 exp9 0 0
PASS: parseok/semko.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/seven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/seven.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/seven.stp
probe one{
if (1) {
}
}
probe two{
if (2) {
;
}
}
probe three{
if (3) ;
}
probe four{
if (4) {
}
else ;
}
probe five{
if (5) ;
else {
}
}
probe six{
if (6) {
}
else {
;
}
}
probe seven{
;
}
probe eight{
{
}
}
probe nine{
{
;
}
}
probe ten{
(a) = (1)
;
}
probe all{
if (1) {
}
;
if (2) {
;
}
;
if (3) ;
;
if (4) {
}
else ;
;
if (5) ;
else {
}
;
if (6) {
}
else {
;
}
;
;
;
{
}
;
{
;
}
;
(a) = (1)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/seven.stp
probe one{
if (1) {
}
}
probe two{
if (2) {
;
}
}
probe three{
if (3) ;
}
probe four{
if (4) {
}
else ;
}
probe five{
if (5) ;
else {
}
}
probe six{
if (6) {
}
else {
;
}
}
probe seven{
;
}
probe eight{
{
}
}
probe nine{
{
;
}
}
probe ten{
(a) = (1)
;
}
probe all{
if (1) {
}
;
if (2) {
;
}
;
if (3) ;
;
if (4) {
}
else ;
;
if (5) ;
else {
}
;
if (6) {
}
else {
;
}
;
;
;
{
}
;
{
;
}
;
(a) = (1)
}
wait results: 13073 exp9 0 0
PASS: parseok/seven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/seventeen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/seventeen.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/seventeen.stp
probe kernel.function("add_timer_on"){
printf("%x\\n", $timer->function)
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/seventeen.stp
probe kernel.function("add_timer_on"){
printf("%x\\n", $timer->function)
}
wait results: 13077 exp9 0 0
PASS: parseok/seventeen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/six.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/six.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/six.stp
probe nothing{
(a) = ((((((1) + (1)) + (1)) - (1)) - (1)) - (1))
;
(long_max) = (2147483647)
;
(ulong_max) = (4294967295)
;
(long_min) = ((-(2147483647)) - (1))
;
(llong_max) = (9223372036854775807)
;
(ullong_max) = (-1)
;
(llong_min) = ((-(9223372036854775807)) - (1))
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/six.stp
probe nothing{
(a) = ((((((1) + (1)) + (1)) - (1)) - (1)) - (1))
;
(long_max) = (2147483647)
;
(ulong_max) = (4294967295)
;
(long_min) = ((-(2147483647)) - (1))
;
(llong_max) = (9223372036854775807)
;
(ullong_max) = (-1)
;
(llong_min) = ((-(9223372036854775807)) - (1))
;
}
wait results: 13081 exp9 0 0
PASS: parseok/six.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/sixteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/sixteen.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/sixteen.stp
probe abcX{
}
probe *abc*{
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/sixteen.stp
probe abcX{
}
probe *abc*{
}
wait results: 13085 exp9 0 0
PASS: parseok/sixteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/ten.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/ten.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/ten.stp
probe two{
for (; 1; ) ;
for ((a) = (0); 1; ) {
(a) + (4)
;
break
}
for (; (a) > (0); ) {
(a) ^ (5)
;
continue
}
for (; 1; (a)++) {
(a) | (5)
}
for ((a) = (0); (a) > (0); ) {
(a) << (4)
}
for (; (a) > (0); ++(a)) {
(a) >> (5)
}
for ((a) = (0); 1; (a)--) {
(a) & ((5) * (b))
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/ten.stp
probe two{
for (; 1; ) ;
for ((a) = (0); 1; ) {
(a) + (4)
;
break
}
for (; (a) > (0); ) {
(a) ^ (5)
;
continue
}
for (; 1; (a)++) {
(a) | (5)
}
for ((a) = (0); (a) > (0); ) {
(a) << (4)
}
for (; (a) > (0); ++(a)) {
(a) >> (5)
}
for ((a) = (0); 1; (a)--) {
(a) & ((5) * (b))
}
for ((a) = (0); ((a) <= (4)) && ((b) >= (5)); --(a)) ;
for ((a) = (0); ((a) == (4)) || ((b) != (5)); (a)++) {
(b) = (a)
}
next
for (; 99; ) ;
for (; 99; ) {
break
continue
}
}
}
for ((a) = (0); ((a) <= (4)) && ((b) >= (5)); --(a)) ;
for ((a) = (0); ((a) == (4)) || ((b) != (5)); (a)++) {
(b) = (a)
}
next
for (; 99; ) ;
for (; 99; ) {
break
continue
}
}
wait results: 13089 exp9 0 0
PASS: parseok/ten.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/thirteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/thirteen.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/thirteen.stp
probe one{
foreach ([x+, y] in a) ;
foreach ([x, y-] in a) ;
foreach ([x, y] in a+) ;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/thirteen.stp
probe one{
foreach ([x+, y] in a) ;
foreach ([x, y-] in a) ;
foreach ([x, y] in a+) ;
}
wait results: 13093 exp9 0 0
PASS: parseok/thirteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/three.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/three.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/three.stp
probe syscall("foo"){
($a) = ((a$a) = ((a$a$) = (0)))
;
(str) = ((("a") . ($a)) . ("b"))
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/three.stp
probe syscall("foo"){
($a) = ((a$a) = ((a$a$) = (0)))
;
(str) = ((("a") . ($a)) . ("b"))
;
}
wait results: 13097 exp9 0 0
PASS: parseok/three.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/twelve.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/twelve.stp
# parse tree dump
# file <input>
%{
/* hello world */
%}function foo (p1, p2, p3)
%{
/* goodbye world */
%}
# parse tree dump
# file <input>
%{
/* hello world */
%}function foo (p1, p2, p3)
%{
/* goodbye world */
%}
wait results: 13101 exp9 0 0
PASS: parseok/twelve.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/two.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/two.stp
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/two.stp
probe syscall(231){
(array[idx]) <<< (value)
;
if ((gbl) > (5)) {
(gbl)--
}
else ;
}
probe end{
foo("value", (4) + (8))
;
}
function foo ()
{
delete array[4]
;
return 0
;
}
# parse tree dump
# file /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/two.stp
probe syscall(231){
(array[idx]) <<< (value)
;
if ((gbl) > (5)) {
(gbl)--
}
else ;
}
probe end{
foo("value", (4) + (8))
;
}
function foo ()
{
delete array[4]
;
return 0
;
}
wait results: 13106 exp9 0 0
PASS: parseok/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/unparser.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/unparser.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/eighteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/eighteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/eight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/eight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/eleven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/eleven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/fifteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/fifteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/foreachstmt01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/foreachstmt01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/fourteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/fourteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/nine.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/nine.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/seventeen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/seventeen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/sixteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/sixteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/thirteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/thirteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/parseok/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/beginend.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/beginend.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/eighteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/eighteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/eleven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/eleven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/fifteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/fifteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/fourteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/fourteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/nineteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/nineteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/optimize.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/optimize.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/seventeen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/seventeen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/sixteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/sixteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/thirteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/thirteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twelve.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twelve.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twentyfour.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twentyfour.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twentyone.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twentyone.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twenty.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twenty.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twentythree.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twentythree.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twentytwo.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/twentytwo.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semok/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eighteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eighteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eleven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/eleven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/fifteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/fifteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/foreachstmt01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/foreachstmt01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/foreachstmt02.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/foreachstmt02.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/fourteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/fourteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive02.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive02.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive03.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/maxactive03.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/nine.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/nine.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/nineteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/nineteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/return01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/return01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/return02.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/return02.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/seventeen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/seventeen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/sixteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/sixteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyfive.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyfive.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyfour.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyfour.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyone.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtyone.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtysix.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtysix.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirty.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirty.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtythree.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtythree.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtytwo.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/thirtytwo.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twelve.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twelve.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyeight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyeight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyfive.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyfive.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyfour.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyfour.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentynine.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentynine.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyone.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyone.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyseven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentyseven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentysix.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentysix.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twenty.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twenty.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentythree.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentythree.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentytwo.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/twentytwo.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/semko/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/eight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/eight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transok/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/array01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/array01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/two.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/array_size.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/array_size.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/context_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/context_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/delete.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/delete.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/eighteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/eighteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/eight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/eight.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/eleven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/eleven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/fifteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/fifteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/five.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/four.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/fourteen-plus.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/fourteen-plus.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/fourteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/fourteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/histogram_operator_in.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/histogram_operator_in.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/indent.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/indent.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/ioblock_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/ioblock_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/ioscheduler.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/ioscheduler.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/iterate_histogram_buckets.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/iterate_histogram_buckets.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/lket.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/lket.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/maxactive01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/maxactive01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/memory.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/memory.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/networking.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/networking.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/nine.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/nine.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/nineteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/nineteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/one.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/perfmon01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/perfmon01.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/pmap_foreach.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/pmap_foreach.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/printf.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/printf.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/print_histogram_entry.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/print_histogram_entry.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/print_histograms.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/print_histograms.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/probefunc.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/probefunc.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/probemod.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/probemod.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/process_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/process_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/sched_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/sched_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/seven.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/seventeen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/seventeen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/six.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/sixteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/sixteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/stat_extract.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/stat_extract.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/stat_insert.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/stat_insert.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/syscall.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/syscall.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/task_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/task_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/tcp_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/tcp_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/ten.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/thirteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/thirteen.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/three.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/timestamp.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/timestamp.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twelve.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twelve.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentyfive.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentyfive.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentyfour.stp -g
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentyfour.stp -g
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentyone.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentyone.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twenty.stp -g
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twenty.stp -g
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentythree.stp -g
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentythree.stp -g
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentytwo.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/twentytwo.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/udp_test.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/buildok/udp_test.stp
wait results: 13110 exp9 0 0
PASS: parseok/unparser.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseok.exp completed in 225 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/semko.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eight.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eight.stp
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14359 exp9 0 1
XFAIL: semko/eight.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eighteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eighteen.stp
semantic error: unable to find local 'no_such_variable_anywhere' near pc 0x2286be: identifier '$no_such_variable_anywhere' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eighteen.stp:4:8
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: unable to find local 'no_such_variable_anywhere' near pc 0x2286be: identifier '$no_such_variable_anywhere' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eighteen.stp:4:8
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14363 exp9 0 1
XFAIL: semko/eighteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp
semantic error: probe_1463 with type mismatch for identifier 'k' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:11:21: string vs. long
semantic error: probe_1463 with type mismatch for identifier 'arr' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stpsemantic error: probe_1463 with type mismatch for identifier 'k' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:11:21: string vs. long
:11:29: long vs. string
semantic error: probe_1463 with type mismatch for identifier 'l' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:12:26: string vs. long
semantic error: probe_1463 with type mismatch for identifier 'arr' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:12:34: long vs. string
semantic error: probe_1463 with type mismatch for identifier 'm' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:13:21: long vs. string
semantic error: probe_1463 with type mismatch for identifier 'rra' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:13:28: string vs. long
semantic error: probe_1463 with type mismatch for identifier 'n' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:14:26: long vs. string
semantic error: probe_1463 with type mismatch for identifier 'rra' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:14:33: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1463 with type mismatch for identifier 'arr' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:11:29: long vs. string
semantic error: probe_1463 with type mismatch for identifier 'l' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:12:26: string vs. long
semantic error: probe_1463 with type mismatch for identifier 'arr' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:12:34: long vs. string
semantic error: probe_1463 with type mismatch for identifier 'm' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:13:21: long vs. string
semantic error: probe_1463 with type mismatch for identifier 'rra' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:13:28: string vs. long
semantic error: probe_1463 with type mismatch for identifier 'n' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:14:26: long vs. string
semantic error: probe_1463 with type mismatch for identifier 'rra' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/eleven.stp:14:33: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14367 exp9 0 1
XFAIL: semko/eleven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/fifteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/fifteen.stp
semantic error: variable 'tangle' modified during 'foreach' iteration: identifier 'tangle' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/fifteen.stp:9:11
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: variable 'tangle' modified during 'foreach' iteration: identifier 'tangle' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/fifteen.stp:9:11
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14371 exp9 0 1
XFAIL: semko/fifteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/five.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/five.stp
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14375 exp9 0 1
XFAIL: semko/five.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/foreachstmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/foreachstmt01.stp
semantic error: probe_1461 with type mismatch for string 'hi' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/foreachstmt01.stp:10:33: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1461 with type mismatch for string 'hi' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/foreachstmt01.stp:10:33: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14379 exp9 0 1
XFAIL: semko/foreachstmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/foreachstmt02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/foreachstmt02.stp
semantic error: probe_1461 with type mismatch for identifier 'str_ret_type' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/foreachstmt02.stp:7:10: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1461 with type mismatch for identifier 'str_ret_type' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/foreachstmt02.stp:7:10: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14383 exp9 0 1
XFAIL: semko/foreachstmt02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/four.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/four.stp
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14387 exp9 0 1
XFAIL: semko/four.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/fourteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/fourteen.stp
semantic error: function call modifies var 'foo' during 'foreach' iteration: identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/fourteen.stp:15:3
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: function call modifies var 'foo' during 'foreach' iteration: identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/fourteen.stp:15:3
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14391 exp9 0 1
XFAIL: semko/fourteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/maxactive01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/maxactive01.stp
semantic error: probe point mismatch at position 2 (alternatives: callees callees(number) return) while resolving probe point kernel.function("*").maxactive(3)
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 2 (alternatives: callees callees(number) return) while resolving probe point kernel.function("*").maxactive(3)
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14395 exp9 0 1
XFAIL: semko/maxactive01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/maxactive02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/maxactive02.stp
semantic error: probe point mismatch at position 3 (alternatives: maxactive(number)) while resolving probe point kernel.function("*").return.maxactive("hi")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 3 (alternatives: maxactive(number)) while resolving probe point kernel.function("*").return.maxactive("hi")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14399 exp9 0 1
XFAIL: semko/maxactive02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/maxactive03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/maxactive03.stp
semantic error: probe point mismatch at position 2 (alternatives: randomize(number)) while resolving probe point timer.sec(100).maxactive(3)
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 2 (alternatives: randomize(number)) while resolving probe point timer.sec(100).maxactive(3)
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14403 exp9 0 1
XFAIL: semko/maxactive03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/nine.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/nine.stp
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14407 exp9 0 1
XFAIL: semko/nine.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/nineteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/nineteen.stp
semantic error: no match for probe point while resolving probe point kernel.function("context_switch")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: no match for probe point while resolving probe point kernel.function("context_switch")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14411 exp9 0 1
XFAIL: semko/nineteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/one.stp
semantic error: probe_1461 with unresolved type for identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/one.stp:8:15
semantic error: probe_1461 with unresolved type for identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/one.stp:8:15
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14415 exp9 0 1
XFAIL: semko/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/return01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/return01.stp
semantic error: no match for probe point while resolving probe point kernel.function("get_page_state").return
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: no match for probe point while resolving probe point kernel.function("get_page_state").return
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14419 exp9 0 1
XFAIL: semko/return01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/return02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/return02.stp
semantic error: unable to find local 'return' near pc 0x9dfce: identifier '$return' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/return02.stp:6:43
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: unable to find local 'return' near pc 0x9dfce: identifier '$return' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/return02.stp:6:43
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14423 exp9 0 1
XFAIL: semko/return02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/seven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/seven.stp
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14427 exp9 0 1
XFAIL: semko/seven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/seventeen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/seventeen.stp
semantic error: no match for probe point while resolving probe point module("no_such_module").function("*")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: no match for probe point while resolving probe point module("no_such_module").function("*")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14431 exp9 0 1
XFAIL: semko/seventeen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/six.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/six.stp
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14435 exp9 0 1
XFAIL: semko/six.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/sixteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/sixteen.stp
semantic error: no match for probe point while resolving probe point kernel.function("no_such_function_anywhere_guaranteed")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: no match for probe point while resolving probe point kernel.function("no_such_function_anywhere_guaranteed")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14439 exp9 0 1
XFAIL: semko/sixteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/ten.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/ten.stp
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point p1
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point p1
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point p2
Pass 2: analysis failed.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point p2
Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14443 exp9 0 1
XFAIL: semko/ten.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirteen.stp
semantic error: function call modifies var 'foo' during 'foreach' iteration: identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirteen.stp:15:3
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: function call modifies var 'foo' during 'foreach' iteration: identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirteen.stp:15:3
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14447 exp9 0 1
XFAIL: semko/thirteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirty.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirty.stp
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirty.stp:10:2: long vs. stats
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirty.stp:10:2: long vs. stats
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14451 exp9 0 1
XFAIL: semko/thirty.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyfive.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyfive.stp
semantic error: probe point mismatch at position 1 (alternatives: a) while resolving probe point foo.*
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 1 (alternatives: a) while resolving probe point foo.*
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14455 exp9 0 1
XFAIL: semko/thirtyfive.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyfour.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyfour.stp
semantic error: write to target variable not permitted: identifier '$fd' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyfour.stp:7:5
semantic error: write to target variable not permitted: identifier '$fd' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyfour.stp:7:5
semantic error: no match for probe point while resolving probe point kernel.function("sys_read").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_read").return
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14459 exp9 0 1
XFAIL: semko/thirtyfour.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyone.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyone.stp
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyone.stp:10:2: long vs. stats
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtyone.stp:10:2: long vs. stats
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14463 exp9 0 1
XFAIL: semko/thirtyone.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtysix.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtysix.stp
semantic error: field 'no_such_field' not found: identifier '$cachep' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtysix.stp:4:10
semantic error: bad field 'should_have_indexed_it' for array type: identifier '$cachep' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtysix.stp:5:10
semantic error: unsupported type tag 19: identifier '$cachep' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtysix.stp:6:10
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: field 'no_such_field' not found: identifier '$cachep' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtysix.stp:4:10
semantic error: bad field 'should_have_indexed_it' for array type: identifier '$cachep' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtysix.stp:5:10
semantic error: unsupported type tag 19: identifier '$cachep' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtysix.stp:6:10
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14467 exp9 0 1
XFAIL: semko/thirtysix.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtythree.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtythree.stp
semantic error: no match for probe point while resolving probe point kernel.function("do_IRQ")
semantic error: no match for probe point while resolving probe point kernel.function("do_IRQ")
semantic error: missing entrypc dwarf line record for function 'jprobe_return'
semantic error: missing entrypc dwarf line record for function 'jprobe_return'
semantic error: no match for probe point while resolving probe point kernel.function("*@*/kprobes.c")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: no match for probe point while resolving probe point kernel.function("*@*/kprobes.c")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14471 exp9 0 1
XFAIL: semko/thirtythree.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtytwo.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/thirtytwo.stp
semantic error: no match for probe point while resolving probe point kernel.function("init_setup")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: no match for probe point while resolving probe point kernel.function("init_setup")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14475 exp9 0 1
XFAIL: semko/thirtytwo.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/three.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/three.stp
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14479 exp9 0 1
XFAIL: semko/three.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twelve.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twelve.stp
semantic error: probe_1461 with type mismatch for string 'goodbye' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twelve.stp:5:10: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1461 with type mismatch for string 'goodbye' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twelve.stp:5:10: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14483 exp9 0 1
XFAIL: semko/twelve.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twenty.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twenty.stp
semantic error: probe_1461 with type mismatch for identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twenty.stp:3:10: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1461 with type mismatch for identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twenty.stp:3:10: string vs. long
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14487 exp9 0 1
XFAIL: semko/twenty.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyeight.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyeight.stp
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyeight.stp:10:2: long vs. stats
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyeight.stp:10:2: long vs. stats
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14491 exp9 0 1
XFAIL: semko/twentyeight.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp
semantic error: probe_1461 with unresolved type for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp:10:2
semantic error: probe_1461 with unresolved type for identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp:10:6
semantic error: probe_1461 with unresolved type for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp:5:8
semantic error: probe_1461 with unresolved type for identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp:5:11
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1461 with unresolved type for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp:10:2
semantic error: probe_1461 with unresolved type for identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp:10:6
semantic error: probe_1461 with unresolved type for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp:5:8
semantic error: probe_1461 with unresolved type for identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfive.stp:5:11
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14495 exp9 0 1
XFAIL: semko/twentyfive.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp
semantic error: probe_1461 with unresolved type for identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp:10:2
semantic error: probe_1461 with unresolved type for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp:10:6
semantic error: probe_1461 with unresolved type for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp:5:8
semantic error: probe_1461 with unresolved type for semantic error: probe_1461 with unresolved type for identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp:10:2
semantic error: probe_1461 with unresolved type for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp:10:6
semantic error: probe_1461 with unresolved type for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp:5:8
identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp:5:11
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1461 with unresolved type for identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyfour.stp:5:11
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14499 exp9 0 1
XFAIL: semko/twentyfour.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentynine.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentynine.stp
semantic error: probe_1461 with type mismatch for number '10' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentynine.stp:9:8: long vs. stats
semantic error: probe_1461 with type mismatch for number '10' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentynine.stp:9:8: long vs. stats
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14503 exp9 0 1
XFAIL: semko/twentynine.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyone.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyone.stp
semantic error: no match for probe point while resolving probe point kernel.function("context_switch")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: no match for probe point while resolving probe point kernel.function("context_switch")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14508 exp9 0 1
XFAIL: semko/twentyone.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp:14:2: stats vs. long
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp:5:8: long vs. stats
semantic error: probe_1461 with invalid type stats for identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp:7:semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp:14:2: stats vs. long
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp:5:8: long vs. stats
14
semantic error: probe_1461 with unresolved type for identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp:15:2
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1461 with invalid type stats for identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp:7:14
semantic error: probe_1461 with unresolved type for identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentyseven.stp:15:2
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14512 exp9 0 1
XFAIL: semko/twentyseven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentysix.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentysix.stp
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentysix.stp:11:2: long vs. stats
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe_1461 with type mismatch for identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentysix.stp:11:2: long vs. stats
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14516 exp9 0 1
XFAIL: semko/twentysix.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentythree.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentythree.stp
semantic error: invalid use of wildcard probe point component while registering probe alias badalias.* = begin
semantic error: invalid use of wildcard probe point component while registering probe alias badalias.* = begin
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14520 exp9 0 1
XFAIL: semko/twentythree.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentytwo.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/twentytwo.stp
semantic error: no match for probe point while resolving probe point kernel.inline("sys_recv")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: no match for probe point while resolving probe point kernel.inline("sys_recv")
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14524 exp9 0 1
XFAIL: semko/twentytwo.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/two.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semko/two.stp
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point foo
Pass 2: analysis failed. Try again with more '-v' (verbose) options.
wait results: 14529 exp9 0 1
XFAIL: semko/two.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/semko.exp completed in 32 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/semok.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/args.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/args.stp
# functions
log:unknown (msg:string)
# probes
begin
# functions
log:unknown (msg:string)
# probes
begin
wait results: 14533 exp9 0 0
PASS: semok/args.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/beginend.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/beginend.stp
# probes
begin
begin(0)
begin(9223372036854775807)
begin(-9223372036854775808)
end
end(0)
end(9223372036854775807)
end(-9223372036854775808)
# probes
begin
begin(0)
begin(9223372036854775807)
begin(-9223372036854775808)
end
end(0)
end(9223372036854775807)
end(-9223372036854775808)
wait results: 14538 exp9 0 0
PASS: semok/beginend.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/eight.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/eight.stp
# probes
begin
# probes
begin
wait results: 14542 exp9 0 0
PASS: semok/eight.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/eighteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/eighteen.stp
# probes
begin
# probes
begin
wait results: 14547 exp9 0 0
PASS: semok/eighteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/eleven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/eleven.stp
# globals
entry_time:long [long]
read_times:long [string]
tid:long
# probes
begin
# locals
timestamp:long
end
# locals
syscall_name:string
timestamp:long
end
# locals
syscall:string
# globals
entry_time:long [long]
read_times:long [string]
tid:long
# probes
begin
# locals
timestamp:long
end
# locals
syscall_name:string
timestamp:long
end
# locals
syscall:string
wait results: 14551 exp9 0 0
PASS: semok/eleven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/fifteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/fifteen.stp
# probes
begin
begin
begin
# probes
begin
begin
begin
wait results: 14555 exp9 0 0
PASS: semok/fifteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/five.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/five.stp
# probes
begin
# probes
begin
wait results: 14559 exp9 0 0
PASS: semok/five.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/four.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/four.stp
# probes
begin
# probes
begin
wait results: 14563 exp9 0 0
PASS: semok/four.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/fourteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/fourteen.stp
# probes
begin
end
# probes
begin
end
wait results: 14567 exp9 0 0
PASS: semok/fourteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/nine.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/nine.stp
# probes
begin
begin
# probes
begin
begin
wait results: 14571 exp9 0 0
PASS: semok/nine.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/nineteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/nineteen.stp
# probes
begin
end
begin
end
begin
end
# probes
begin
end
begin
end
begin
end
wait results: 14576 exp9 0 0
PASS: semok/nineteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/one.stp
# probes
begin
# probes
begin
wait results: 14580 exp9 0 0
PASS: semok/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/optimize.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/optimize.stp
# probes
begin
begin
# locals
i:long
begin
# locals
i:long
begin
# locals
i:long
j:long
# probes
begin
begin
# locals
i:long
begin
# locals
i:long
begin
# locals
i:long
j:long
wait results: 14584 exp9 0 0
PASS: semok/optimize.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/seven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/seven.stp
# globals
ar1:long [long]
ar2:string [long]
# functions
search:string (key:long)
# probes
begin
# locals
tgid:long
pid:long
tid:long
end
# globals
ar1:long [long]
ar2:string [long]
# functions
search:string (key:long)
# probes
begin
# locals
tgid:long
pid:long
tid:long
end
wait results: 14588 exp9 0 0
PASS: semok/seven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/seventeen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/seventeen.stp
# globals
foo:long [long]
# functions
_dwarf_tvar_get_nr_segs_0:long ()
# probes
kernel.function("pipe_writev@fs/pipe.c:343")
# locals
a:long
# globals
foo:long [long]
# functions
_dwarf_tvar_get_nr_segs_0:long ()
# probes
kernel.function("pipe_writev@fs/pipe.c:343")
# locals
a:long
wait results: 14592 exp9 0 0
PASS: semok/seventeen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/six.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/six.stp
# probes
begin
# probes
begin
wait results: 14596 exp9 0 0
PASS: semok/six.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/sixteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/sixteen.stp
# probes
begin
# locals
ee:long
ff:long
begin
# locals
a:long
b:long
c:long
d:long
e:long
f:long
g:long
h:long
i:long
j:long
k:long
l:long
# probes
begin
# locals
ee:long
ff:long
begin
# locals
a:long
b:long
c:long
d:long
e:long
f:long
g:long
h:long
i:long
j:long
k:long
l:long
m:long
n:long
o:long
p:long
u:string
v:string
x:long
y:long
z:long
aa:long
m:long
n:long
o:long
p:long
u:string
v:string
x:long
y:long
z:long
aa:long
wait results: 14600 exp9 0 0
PASS: semok/sixteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/ten.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/ten.stp
# globals
arr:long [string]
rra:string [long]
# probes
begin
end
# locals
k:string
l:string
m:long
n:long
# globals
arr:long [string]
rra:string [long]
# probes
begin
end
# locals
k:string
l:string
m:long
n:long
wait results: 14604 exp9 0 0
PASS: semok/ten.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/thirteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/thirteen.stp
# probes
kernel.function("pipe_read@fs/pipe.c:334")
kernel.function("pipe_write@fs/pipe.c:515")
# probes
kernel.function("pipe_read@fs/pipe.c:334")
kernel.function("pipe_write@fs/pipe.c:515")
wait results: 14608 exp9 0 0
PASS: semok/thirteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/three.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/three.stp
# probes
begin
# probes
begin
wait results: 14612 exp9 0 0
PASS: semok/three.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/transko.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/transko.stp
# probes
begin
# locals
a:stats
# probes
begin
# locals
a:stats
semantic error: Expecting symbol or array index expression: number '1' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/one.stp:4:10
# probes
begin
# locals
a:unknown
semantic error: Expecting symbol or array index expression: number '1' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/./../testsuite/transko/one.stp:4:10
# probes
begin
# locals
a:unknown
# probes
end
# locals
array:long [long, long]
# probes
end
# locals
array:long [long, long]
# probes
end
# locals
a:long
b:long
# probes
end
# locals
a:long
b:long
wait results: 14616 exp9 0 0
PASS: semok/transko.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twelve.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twelve.stp
wait results: 14631 exp9 0 0 CHILDKILLED SIGSEGV {segmentation violation}
PASS: semok/twelve.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twenty.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twenty.stp
semantic error: missing entrypc dwarf line record for function 'jprobe_return'
semantic error: missing entrypc dwarf line record for function 'jprobe_return'
wait results: 14634 exp9 0 0 CHILDKILLED SIGSEGV {segmentation violation}
PASS: semok/twenty.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twentyfour.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twentyfour.stp
# globals
_dwarf_tvar_fd_0:long [long, long]
_dwarf_tvar_fd_0_ctr:long [long]
# functions
_dwarf_tvar_get_fd_1:long ()
tid:long ()
# probes
kernel.function("sys_read@fs/read_write.c:343").return
# locals
_dwarf_tvar_tid:long
_dwarf_tvar_fd_0_tmp:long
kernel.function("sys_read@fs/read_write.c:343")
# locals
_dwarf_tvar_tid:long
# globals
_dwarf_tvar_fd_0:long [long, long]
_dwarf_tvar_fd_0_ctr:long [long]
# functions
_dwarf_tvar_get_fd_1:long ()
tid:long ()
# probes
kernel.function("sys_read@fs/read_write.c:343").return
# locals
_dwarf_tvar_tid:long
_dwarf_tvar_fd_0_tmp:long
kernel.function("sys_read@fs/read_write.c:343")
# locals
_dwarf_tvar_tid:long
wait results: 14637 exp9 0 0
PASS: semok/twentyfour.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twentyone.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twentyone.stp
# probes
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
# probes
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
begin
wait results: 14641 exp9 0 0
PASS: semok/twentyone.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twentythree.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twentythree.stp
# globals
c:long
a:long
b:string
d:string
# probes
begin
# globals
c:long
a:long
b:string
d:string
# probes
begin
wait results: 14645 exp9 0 0
PASS: semok/twentythree.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twentytwo.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/twentytwo.stp
# probes
never
# probes
never
wait results: 14649 exp9 0 0
PASS: semok/twentytwo.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/two.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/semok/two.stp
# globals
baz:long [long, string, long]
# functions
koo:long (p:long)
# probes
end
# globals
baz:long [long, string, long]
# functions
koo:long (p:long)
# probes
end
wait results: 14653 exp9 0 0
PASS: semok/two.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/semok.exp completed in 23 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/transko.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/array01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/array01.stp
semantic error: unresolved symbol: identifier '@count' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/array01.stp:6:20
Pass 3: translation failed. Try again with more '-v' (verbose) options.
semantic error: unresolved symbol: identifier '@count' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/array01.stp:6:20
Pass 3: translation failed. Try again with more '-v' (verbose) options.
wait results: 14657 exp9 0 1
XFAIL: transko/array01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/one.stp
semantic error: Expecting symbol or array index expression: number '1' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/one.stp:4:10
semantic error: Expecting symbol or array index expression: number '1' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/one.stp:4:10
semantic error: cannot expand unknown type: identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/one.stp:4:14
semantic error: cannot expand unknown type: identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/one.stp:4:14
Pass 3: translation failed. Try again with more '-v' (verbose) options.
Pass 3: translation failed. Try again with more '-v' (verbose) options.
wait results: 14661 exp9 0 1
XFAIL: transko/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/three.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/three.stp
semantic error: array locals not supported, missing global declaration?: identifier 'array' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/three.stp:4:3
Pass 3: translation failed. Try again with more '-v' (verbose) options.
semantic error: array locals not supported, missing global declaration?: identifier 'array' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/three.stp:4:3
Pass 3: translation failed. Try again with more '-v' (verbose) options.
wait results: 14665 exp9 0 1
XFAIL: transko/three.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/two.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/two.stp
semantic error: cannot 'break' outside loop: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/two.stp:8:3
semantic error: cannot 'break' outside loop: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/two.stp:8:3
semantic error: cannot 'continue' outside loop: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/two.stp:10:3
semantic error: cannot 'continue' outside loop: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transko/two.stp:10:3
Pass 3: translation failed. Try again with more '-v' (verbose) options.
Pass 3: translation failed. Try again with more '-v' (verbose) options.
wait results: 14669 exp9 0 1
XFAIL: transko/two.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/transko.exp completed in 2 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/transok.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/buildko.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/buildko.stp
wait results: 14673 exp9 0 0
PASS: transok/buildko.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
string_t a;
int64_t x;
string_t y;
string_t z;
union {
struct {
string_t __tmp0;
int64_t __tmp1;
int64_t __tmp2;
int64_t __tmp3;
};
struct {
struct map_node *__tmp4;
union {
struct {
};
};
};
struct {
int64_t __tmp5;
string_t __tmp6;
string_t __tmp7;
string_t __t#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
string_t a;
int64_t x;
string_t y;
string_t z;
union {
struct {
string_t __tmp0;
int64_t __tmp1;
int64_t __tmp2;
int64_t __tmp3;
};
struct {
struct map_node *__tmp4;
union {
struct {
};
};
};
struct {
int64_t __tmp5;
string_t __tmp6;
string_t __tmp7;
mp8;
string_t __tmp9;
string_t __tmp10;
};
struct {
int64_t __tmp11;
string_t __tmp12;
string_t __tmp13;
string_t __tmp14;
string_t __tmp15;
string_t __tmp16;
};
struct {
struct map_node *__tmp17;
union {
struct {
string_t __tmp18;
string_t __tmp19;
int64_t __tmp20;
string_t __tmp21;
string_t __tmp22;
string_t __tmp23;
};
};
};
struct {
string_t __tmp24;
};
};
} probe_1461;
struct function_log_locals {
string_t msg;
/* no return value */
} function_log;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#include "alloc.c"
#define VALUE_TYPE STRING
#define KEY1_TYPE INT64
#define KEY2_TYPE STRING
#define KEY3_TYPE STRING
#include "map-gen.c"
#undef VALUE_TYPE
#undef KEY1_TYPE
#undef KEY2_TYPE
#undef KEY3_TYPE
#define VALUE_TYPE INT64
#define KEY1_TYPE STRING
#include "map-gen.c"
#undef VALUE_TYPE
#undef KEY1_TYPE
#include "map.c"
static __cacheline_aligned MAP global_foo;
static __cacheline_aligned rwlock_t global_foo_lock;
static __cacheline_aligned MAP global_baz;
static __cacheline_aligned rwlock_t global_baz_lock;
static void function_log (struct context * __restrict__ c);
void function_log (struct context* __restrict__ c) {
struct function_log_locals * __restrict__ l =
& c->locals[c->nesting].function_log;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
{
_stp_printf ("%s\n", THIS->msg);
}
out:
;
#undef CONTEXT
#undef THIS
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
string_t __tmp8;
string_t __tmp9;
string_t __tmp10;
};
struct {
int64_t __tmp11;
string_t __tmp12;
string_t __tmp13;
string_t __tmp14;
string_t __tmp15;
string_t __tmp16;
};
struct {
struct map_node *__tmp17;
union {
struct {
string_t __tmp18;
string_t __tmp19;
int64_t __tmp20;
string_t __tmp21;
string_t __tmp22;
string_t __tmp23;
};
};
};
struct {
string_t __tmp24;
};
};
} probe_1461;
struct function_log_locals {
string_t msg;
/* no return value */
} function_log;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#include "alloc.c"
#define VALUE_TYPE STRING
#define KEY1_TYPE INT64
#define KEY2_TYPE STRING
#define KEY3_TYPE STRING
#include "map-gen.c"
#undef VALUE_TYPE
#undef KEY1_TYPE
#undef KEY2_TYPE
#undef KEY3_TYPE
#define VALUE_TYPE INT64
#define KEY1_TYPE STRING
#include "map-gen.c"
#undef VALUE_TYPE
#undef KEY1_TYPE
#include "map.c"
static __cacheline_aligned MAP global_foo;
static __cacheline_aligned rwlock_t global_foo_lock;
static __cacheline_aligned MAP global_baz;
static __cacheline_aligned rwlock_t global_baz_lock;
static void function_log (struct context * __restrict__ c);
void function_log (struct context* __restrict__ c) {
struct function_log_locals * __restrict__ l =
& c->locals[c->nesting].function_log;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
{
_stp_printf ("%s\n", THIS->msg);
}
out:
;
#undef CONTEXT
#undef THIS
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
while (! write_trylock (& global_foo_lock)&& (++numtrylock < MAXTRYLOCK))
ndelay (TRYLOCKDELAY);
(void) numtrylock;
while (! write_trylock (& global_foo_lock)&& (++numtrylock < MAXTRYLOCK))
ndelay (TRYLOCKDELAY);
if (unlikely (numtrylock >= MAXTRYLOCK)) {
atomic_inc (& skipped_count);
if (unlikely (numtrylock >= MAXTRYLOCK)) {
atomic_inc (& skipped_count);
goto unlock_;
}
while (! write_trylock (& global_baz_lock)&& (++numtrylock < MAXTRYLOCK))
ndelay (TRYLOCKDELAY);
if (unlikely (numtrylock >= MAXTRYLOCK)) {
atomic_inc (& skipped_count);
goto unlock_foo;
}
goto unlock_;
}
while (! write_trylock (& global_baz_lock)&& (++numtrylock < MAXTRYLOCK))
ndelay (TRYLOCKDELAY);
if (unlikely (numtrylock >= MAXTRYLOCK)) {
atomic_inc (& skipped_count);
goto unlock_foo;
}
if (0) goto unlock_;
}
l->a[0] = '\0';
if (0) goto unlock_;
}
l->a[0] = '\0';
l->x = 0;
l->y[0] = '\0';
l->z[0] = '\0';
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:13:15";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:13:6";
strlcpy (l->__tmp0, "hello", MAXSTRINGLEN);
l->__tmp1 = ((int64_t)10LL);
l->x = 0;
l->y[0] = '\0';
l->z[0] = '\0';
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:13:15";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:13:6";
strlcpy (l->__tmp0, "hello", MAXSTRINGLEN);
l->__tmp1 = ((int64_t)10LL);
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:13:2";
l->__tmp2 = l->__tmp1;
{ int rc = _stp_map_set_si (global_foo, l->__tmp0, l->__tmp2); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp1;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:14:2";
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:13:2";
l->__tmp2 = l->__tmp1;
{ int rc = _stp_map_set_si (global_foo, l->__tmp0, l->__tmp2); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp1;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:14:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
l->__tmp4 = _stp_map_start (global_foo);
top_0:
c->actioncount += 1;
l->__tmp4 = _stp_map_start (global_foo);
top_0:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (l->__tmp4)) goto break_0;
goto out;
}
if (! (l->__tmp4)) goto break_0;
{
strlcpy (l->a, ({ char *v = _stp_key_get_str (l->__tmp4, 1); if (! v) v = ""; v; }), MAXSTRINGLEN);
{
/* null */;
{
strlcpy (l->a, ({ char *v = _stp_key_get_str (l->__tmp4, 1); if (! v) v = ""; v; }), MAXSTRINGLEN);
{
/* null */;
}
}
continue_0:
l->__tmp4 = _stp_map_iter (global_foo, l->__tmp4);
}
}
continue_0:
l->__tmp4 = _stp_map_iter (global_foo, l->__tmp4);
goto top_0;
break_0:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:19";
goto top_0;
break_0:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:19";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "number '1' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:6";
goto out;
}
(void)
({
c->last_stmt = "number '1' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:6";
l->__tmp5 = ((int64_t)1LL);
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:8";
strlcpy (l->__tmp6, "hello", MAXSTRINGLEN);
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:16";
l->__tmp5 = ((int64_t)1LL);
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:8";
strlcpy (l->__tmp6, "hello", MAXSTRINGLEN);
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:16";
strlcpy (l->__tmp7, l->a, MAXSTRINGLEN);
strlcpy (l->__tmp8, "chicken", MAXSTRINGLEN);
c->last_stmt = "identifier 'baz' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:2";
strlcpy (l->__tmp7, l->a, MAXSTRINGLEN);
strlcpy (l->__tmp8, "chicken", MAXSTRINGLEN);
c->last_stmt = "identifier 'baz' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:19:2";
strlcpy (l->__tmp9, l->__tmp8, MAXSTRINGLEN);
{ int rc = _stp_map_set_isss (global_baz, l->__tmp5, l->__tmp6, l->__tmp7, (l->__tmp9[0] ? l->__tmp9 : NULL)); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
strlcpy (l->__tmp9, l->__tmp8, MAXSTRINGLEN);
{ int rc = _stp_map_set_isss (global_baz, l->__tmp5, l->__tmp6, l->__tmp7, (l->__tmp9[0] ? l->__tmp9 : NULL)); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp8;
});
if (unlikely (c->last_error)) goto out;
l->__tmp8;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:21";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:21";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "number '1' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:6";
(void)
({
c->last_stmt = "number '1' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:6";
l->__tmp11 = ((int64_t)1LL);
c->last_stmt = "string 'goodbye' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:8";
l->__tmp11 = ((int64_t)1LL);
c->last_stmt = "string 'goodbye' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:8";
strlcpy (l->__tmp12, "goodbye", MAXSTRINGLEN);
strlcpy (l->__tmp12, "goodbye", MAXSTRINGLEN);
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:18";
strlcpy (l->__tmp13, l->a, MAXSTRINGLEN);
strlcpy (l->__tmp14, "supreme", MAXSTRINGLEN);
c->last_stmt = "identifier 'baz' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:2";
strlcpy (l->__tmp15, l->__tmp14, MAXSTRINGLEN);
{ int rc = _stp_map_set_isss (global_baz, l->__tmp11, l->__tmp12, l->__tmp13, (l->__tmp15[0] ? l->__tmp15 : NULL)); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp14;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:22:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
l->__tmp17 = _stp_map_start (global_baz);
top_1:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (l->__tmp17)) goto break_1;
{
l->x = _stp_key_get_int64 (l->__tmp17, 1);
strlcpy (l->y, ({ char *v = _stp_key_get_str (l->__tmp17, 2); if (! v) v = ""; v; }), MAXSTRINGLEN);
strlcpy (l->z, ({ char *v = _stp_key_get_str (l->__tmp17, 3); if (! v) v = ""; v; }), MAXSTRINGLEN);
{
if (unlikely (c->last_error)) goto break_1;
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_1;
}
(void)
({
c->last_stmt = "operator '.' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:18";
strlcpy (l->__tmp18, ({
c->last_stmt = "operator '.' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.st
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:18";
strlcpy (l->__tmp13, l->a, MAXSTRINGLEN);
strlcpy (l->__tmp14, "supreme", MAXSTRINGLEN);
c->last_stmt = "identifier 'baz' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:20:2";
strlcpy (l->__tmp15, l->__tmp14, MAXSTRINGLEN);
{ int rc = _stp_map_set_isss (global_baz, l->__tmp11, l->__tmp12, l->__tmp13, (l->__tmp15[0] ? l->__tmp15 : NULL)); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp14;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:22:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
l->__tmp17 = _stp_map_start (global_baz);
top_1:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (l->__tmp17)) goto break_1;
{
l->x = _stp_key_get_int64 (l->__tmp17, 1);
strlcpy (l->y, ({ char *v = _stp_key_get_str (l->__tmp17, 2); if (! v) v = ""; v; }), MAXSTRINGLEN);
strlcpy (l->z, ({ char *v = _stp_key_get_str (l->__tmp17, 3); if (! v) v = ""; v; }), MAXSTRINGLEN);
{
if (unlikely (c->last_error)) goto break_1;
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_1;
}
(void)
({
c->last_stmt = "operator '.' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:18";
strlcpy (l->__tmp18, ({
p:24:18";
strlcpy (l->__tmp19,
({
c->last_stmt = "identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:11";
l->__tmp20 = l->x;
c->last_stmt = "identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:13";
strlcpy (l->__tmp21, l->y, MAXSTRINGLEN);
c->last_stmt = "identifier 'z' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:15";
strlcpy (l->__tmp22, l->z, MAXSTRINGLEN);
c->last_stmt = "identifier 'baz' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:7";
strlcpy (l->__tmp23, ({ char *v = _stp_map_get_isss (global_baz, l->__tmp20, l->__tmp21, l->__tmp22);if (!v) v = ""; v; }), MAXSTRINGLEN);
l->__tmp23;
}), MAXSTRINGLEN);
strlcat (l->__tmp19, l->y, MAXSTRINGLEN);
l->__tmp19;
}), MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:3";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_log.msg, l->__tmp18, MAXSTRINGLEN);
c->nesting ++;
function_log (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
}
}
continue_1:
l->__tmp17 = _stp_map_iter (global_baz, l->__tmp17);
goto top_1;
break_1:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:27:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello from systemtap' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:27:6";
strlcpy (l->__tmp24, "hello from systemtap", MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:27:2";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_log.msg, l->__tmp24, MAXSTRINGLEN);
c->nesting ++;
function_log (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
}
out:
_stp_print_flush();
unlock_baz:
write_unlock (& global_baz_lock);
unlock_foo:
write_unlock (& global_foo_lock);
unlock_: ;
if (atomic_read (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit();
}
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycle
c->last_stmt = "operator '.' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:18";
strlcpy (l->__tmp19,
({
c->last_stmt = "identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:11";
l->__tmp20 = l->x;
c->last_stmt = "identifier 'y' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:13";
strlcpy (l->__tmp21, l->y, MAXSTRINGLEN);
c->last_stmt = "identifier 'z' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:15";
strlcpy (l->__tmp22, l->z, MAXSTRINGLEN);
c->last_stmt = "identifier 'baz' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:7";
strlcpy (l->__tmp23, ({ char *v = _stp_map_get_isss (global_baz, l->__tmp20, l->__tmp21, l->__tmp22);if (!v) v = ""; v; }), MAXSTRINGLEN);
l->__tmp23;
}), MAXSTRINGLEN);
strlcat (l->__tmp19, l->y, MAXSTRINGLEN);
l->__tmp19;
}), MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:24:3";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_log.msg, l->__tmp18, MAXSTRINGLEN);
c->nesting ++;
function_log (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
}
}
continue_1:
l->__tmp17 = _stp_map_iter (global_baz, l->__tmp17);
goto top_1;
break_1:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:27:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello from systemtap' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:27:6";
strlcpy (l->__tmp24, "hello from systemtap", MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:27:2";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_log.msg, l->__tmp24, MAXSTRINGLEN);
c->nesting ++;
function_log (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
}
out:
_stp_print_flush();
unlock_baz:
write_unlock (& global_baz_lock);
unlock_foo:
write_unlock (& global_foo_lock);
unlock_: ;
if (atomic_read (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit();
}
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
s_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
global_foo = _stp_map_new_si (MAXMAPENTRIES); if (global_foo == NULL) rc = -ENOMEM;
if (rc) {
_stp_error ("global variable foo allocation failed");
goto out;
}
rwlock_init (& global_foo_lock);
global_baz = _stp_map_new_isss (MAXMAPENTRIES); if (global_baz == NULL) rc = -ENOMEM;
if (rc) {
_stp_error ("global variable baz allocation failed");
goto out;
}
rwlock_init (& global_baz_lock);
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
_stp_map_del (global_foo);
_stp_map_del (global_baz);
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
_stp_map_del (global_foo);
_stp_map_del (global_baz);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:11:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
global_foo = _stp_map_new_si (MAXMAPENTRIES); if (global_foo == NULL) rc = -ENOMEM;
if (rc) {
_stp_error ("global variable foo allocation failed");
goto out;
}
rwlock_init (& global_foo_lock);
global_baz = _stp_map_new_isss (MAXMAPENTRIES); if (global_baz == NULL) rc = -ENOMEM;
if (rc) {
_stp_error ("global variable baz allocation failed");
goto out;
}
rwlock_init (& global_baz_lock);
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
_stp_map_del (global_foo);
_stp_map_del (global_baz);
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
_stp_map_del (global_foo);
_stp_map_del (global_baz);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/eight.stp:11:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
#undef foo
#undef baz
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
#undef foo
#undef baz
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14677 exp9 0 0
PASS: transok/eight.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
int64_t a;
union {
struct {
};
struct {
int64_t __tmp0;
union {
struct {
};
};
};
struct {
union {
struct {
};
};
};
struct {
union {
struct {
};
};
int64_t __tmp2;
};
struct {
int64_t __tmp4;
union {
struct {
};
};
};
struct {
union {
struct {
};
};
int64_t __tmp6;
};
struct {
int64_t __tmp8;
union {
struct {
};
};
int64_t __tmp10;
};
struct {
int64_t __tmp12;
int64_t __tmp14;
};
struct {
int64_t __tmp16;
union {
struct {
};
};
int64_t __tmp18;
};
struct {
};
struct {
};
struct {
};
struct {
union {
};
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
l->a = 0;
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:5:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_0:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)1LL))) goto break_0;
/* null */;
continue_0:
goto top_0;
break_0:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:9";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
int64_t a;
union {
struct {
};
struct {
int64_t __tmp0;
union {
struct {
};
};
};
struct {
union {
struct {
};
};
};
struct {
union {
struct {
};
};
int64_t __tmp2;
};
struct {
int64_t __tmp4;
union {
struct {
};
};
};
struct {
union {
struct {
};
};
int64_t __tmp6;
};
struct {
int64_t __tmp8;
union {
struct {
};
};
int64_t __tmp10;
};
struct {
int64_t __tmp12;
int64_t __tmp14;
};
struct {
int64_t __tmp16;
union {
struct {
};
};
int64_t __tmp18;
};
struct {
};
struct {
};
struct {
};
struct {
union {
};
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
l->a = 0;
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:5:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_0:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)1LL))) goto break_0;
/* null */;
continue_0:
goto top_0;
break_0:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:9";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:8";
l->__tmp0 = ((int64_t)0LL);
l->a = l->__tmp0;
l->__tmp0;
});
top_1:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)1LL))) goto break_1;
{
if (unlikely (c->last_error)) goto break_1;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:17";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_1;
}
if ((((l->a) > (((int64_t)4LL))))) {
if (unlikely (c->last_error)) goto break_1;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:28";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_1;
}
goto break_1;
}
}
continue_1:
goto top_1;
break_1:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:7:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_2:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) > (((int64_t)0LL)))))) goto break_2;
{
/* null */;
}
continue_2:
goto top_2;
break_2:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:8:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_3:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)1LL))) goto break_3;
{
/* null */;
}
continue_3:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:8:11";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:8:10";
l->__tmp2 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp2;
l->__tmp2;
});
goto top_3;
break_3:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:9";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:8";
l->__tmp4 = ((int64_t)0LL);
l->a = l->__tmp4;
l->__tmp4;
});
top_4:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) > (((int64_t)0LL)))))) goto break_4;
{
if (unlikely (c->last_error)) goto bre
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:8";
l->__tmp0 = ((int64_t)0LL);
l->a = l->__tmp0;
l->__tmp0;
});
top_1:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)1LL))) goto break_1;
{
if (unlikely (c->last_error)) goto break_1;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:17";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_1;
}
if ((((l->a) > (((int64_t)4LL))))) {
if (unlikely (c->last_error)) goto break_1;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:6:28";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_1;
}
goto break_1;
}
}
continue_1:
goto top_1;
break_1:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:7:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_2:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) > (((int64_t)0LL)))))) goto break_2;
{
/* null */;
}
continue_2:
goto top_2;
break_2:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:8:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_3:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)1LL))) goto break_3;
{
/* null */;
}
continue_3:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:8:11";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:8:10";
l->__tmp2 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp2;
l->__tmp2;
});
goto top_3;
break_3:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:9";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:8";
l->__tmp4 = ((int64_t)0LL);
l->a = l->__tmp4;
l->__tmp4;
});
top_4:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) > (((int64_t)0LL)))))) goto break_4;
{
ak_4;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:20";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_4;
}
if ((((l->a) < (((int64_t)4LL))))) {
if (unlikely (c->last_error)) goto break_4;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:31";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_4;
}
goto continue_4;
}
}
continue_4:
goto top_4;
break_4:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:10:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_5:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) > (((int64_t)0LL)))))) goto break_5;
{
/* null */;
}
continue_5:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:10:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:10:13";
l->__tmp6 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp6;
l->__tmp6;
});
goto top_5;
break_5:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:9";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:8";
l->__tmp8 = ((int64_t)0LL);
l->a = l->__tmp8;
l->__tmp8;
});
top_6:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)1LL))) goto break_6;
{
/* null */;
}
continue_6:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:13";
l->__tmp10 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp10;
l->__tmp10;
});
goto top_6;
break_6:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:9";
if (unlikely (c->last_error)) goto break_4;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:20";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_4;
}
if ((((l->a) < (((int64_t)4LL))))) {
if (unlikely (c->last_error)) goto break_4;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:9:31";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_4;
}
goto continue_4;
}
}
continue_4:
goto top_4;
break_4:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:10:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_5:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) > (((int64_t)0LL)))))) goto break_5;
{
/* null */;
}
continue_5:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:10:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:10:13";
l->__tmp6 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp6;
l->__tmp6;
});
goto top_5;
break_5:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:9";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:8";
l->__tmp8 = ((int64_t)0LL);
l->a = l->__tmp8;
l->__tmp8;
});
top_6:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)1LL))) goto break_6;
{
/* null */;
}
continue_6:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:11:13";
l->__tmp10 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp10;
l->__tmp10;
});
goto top_6;
break_6:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:9";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:8";
l->__tmp12 = ((int64_t)0LL);
l->a = l->__tmp12;
l->__tmp12;
});
top_7:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) <= (((int64_t)4LL)))))) goto break_7;
/* null */;
continue_7:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:20";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:19";
l->__tmp14 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp14;
l->__tmp14;
});
goto top_7;
break_7:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:9";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:8";
l->__tmp16 = ((int64_t)0LL);
l->a = l->__tmp16;
l->__tmp16;
});
top_8:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) <= (((int64_t)4LL)))))) goto break_8;
{
/* null */;
}
continue_8:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:20";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:19";
l->__tmp18 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp18;
l->__tmp18;
});
goto top_8;
break_8:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:15:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_9:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)99LL))) goto break_9;
if (unlikely (c->last_error)) goto break_9;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:15:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_9;
}
c->last_error = "";
continue_9:
goto top_9;
break_9:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:16:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION ex
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:8";
l->__tmp12 = ((int64_t)0LL);
l->a = l->__tmp12;
l->__tmp12;
});
top_7:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) <= (((int64_t)4LL)))))) goto break_7;
/* null */;
continue_7:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:20";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:12:19";
l->__tmp14 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp14;
l->__tmp14;
});
goto top_7;
break_7:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:9";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:8";
l->__tmp16 = ((int64_t)0LL);
l->a = l->__tmp16;
l->__tmp16;
});
top_8:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! ((((l->a) <= (((int64_t)4LL)))))) goto break_8;
{
/* null */;
}
continue_8:
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:20";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:13:19";
l->__tmp18 = ((l->a) + (((int64_t)1LL)));
l->a = l->__tmp18;
l->__tmp18;
});
goto top_8;
break_8:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:15:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_9:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)99LL))) goto break_9;
if (unlikely (c->last_error)) goto break_9;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:15:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_9;
}
c->last_error = "";
continue_9:
goto top_9;
break_9:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:16:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
ceeded";
goto out;
}
top_10:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)99LL))) goto break_10;
if (unlikely (c->last_error)) goto break_10;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:16:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_10;
}
goto break_10;
continue_10:
goto top_10;
break_10:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:17:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_11:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)99LL))) goto break_11;
if (unlikely (c->last_error)) goto break_11;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:17:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_11;
}
goto continue_11;
continue_11:
goto top_11;
break_11:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:18:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_12:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)99LL))) goto break_12;
{
}
continue_12:
goto top_12;
break_12:
; /* dummy statement */
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
c->last_error = "MAXACTION exceeded";
goto out;
}
top_10:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)99LL))) goto break_10;
if (unlikely (c->last_error)) goto break_10;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:16:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_10;
}
goto break_10;
continue_10:
goto top_10;
break_10:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:17:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_11:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)99LL))) goto break_11;
if (unlikely (c->last_error)) goto break_11;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:17:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto break_11;
}
goto continue_11;
continue_11:
goto top_11;
break_11:
; /* dummy statement */
if (unlikely (c->last_error)) goto out;
c->last_stmt = "keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:18:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
top_12:
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
if (! (((int64_t)99LL))) goto break_12;
{
}
continue_12:
goto top_12;
break_12:
; /* dummy statement */
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
free_percpu (contexts);
#ifdef STP_T
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
free_percpu (contexts);
IMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:3:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/five.stp:3:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14681 exp9 0 0
PASS: transok/five.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
int64_t a;
int64_t b;
int64_t c;
int64_t d;
union {
struct {
int64_t __tmp0;
};
struct {
};
struct {
int64_t __tmp2;
};
struct {
};
struct {
int64_t __tmp4;
};
struct {
};
struct {
int64_t __tmp6;
};
struct {
};
struct {
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
l->a = 0;
l->b = 0;
l->c = 0;
l->d = 0;
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:8:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:8:3";
l->__tmp0 = ((int64_t)0LL);
l->a = l->__tmp0;
l->__tmp0;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:9:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'b' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:9:3";
l->__tmp2 = ((((l->a) * (((l->b) + (l->c))))) - (l->d));
l->b = l->__tmp2;
l->__tmp2;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:10:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'c' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:10:3";
l->__tmp4 = (((((l->a) > (l->b)))) ? ((((l->a) == (l->b)))) : ((((l->a) != (l->b)))));
l->c = l->__tmp4;
l->__tmp4;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:11:5";
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
int64_t a;
int64_t b;
int64_t c;
int64_t d;
union {
struct {
int64_t __tmp0;
};
struct {
};
struct {
int64_t __tmp2;
};
struct {
};
struct {
int64_t __tmp4;
};
struct {
};
struct {
int64_t __tmp6;
};
struct {
};
struct {
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
l->a = 0;
l->b = 0;
l->c = 0;
l->d = 0;
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:8:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:8:3";
l->__tmp0 = ((int64_t)0LL);
l->a = l->__tmp0;
l->__tmp0;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:9:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'b' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:9:3";
l->__tmp2 = ((((l->a) * (((l->b) + (l->c))))) - (l->d));
l->b = l->__tmp2;
l->__tmp2;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:10:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'c' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:10:3";
l->__tmp4 = (((((l->a) > (l->b)))) ? ((((l->a) == (l->b)))) : ((((l->a) != (l->b)))));
l->c = l->__tmp4;
l->__tmp4;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:11:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'd' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:11:3";
l->__tmp6 = (((((((((l->a) > (l->b)))) + ((((l->a) >= (l->b)))))) + ((((l->a) < (l->b)))))) + ((((l->a) <= (l->b)))));
l->d = l->__tmp6;
l->__tmp6;
});
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_st
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'd' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:11:3";
l->__tmp6 = (((((((((l->a) > (l->b)))) + ((((l->a) >= (l->b)))))) + ((((l->a) < (l->b)))))) + ((((l->a) <= (l->b)))));
l->d = l->__tmp6;
l->__tmp6;
});
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
p_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
enter_end_probe (& probe_1461);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "end";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:7:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
enter_end_probe (& probe_1461);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "end";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/four.stp:7:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14685 exp9 0 0
PASS: transok/four.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/nine.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/nine.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
union {
struct {
int64_t __tmp0;
};
};
} probe_1461;
struct function_bar_locals {
int64_t foo;
int64_t __retvalue;
} function_bar;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
void just_some_declaration () {}
static void function_bar (struct context * __restrict__ c);
void function_bar (struct context* __restrict__ c) {
struct function_bar_locals * __restrict__ l =
& c->locals[c->nesting].function_bar;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
l->__retvalue = 0;
{
just_some_declaration(); THIS->__retvalue = THIS->foo + 5;
}
out:
;
#undef CONTEXT
#undef THIS
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '+' at <input>:10:11";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void) ((
({
c->last_stmt = "number '5' at <input>:10:8";
l->__tmp0 = ((int64_t)5LL);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'bar' at <input>:10:3";
} else if (likely (! c->last_error)) {
c->locals[c->nesting+1].function_bar.foo = l->__tmp0;
c->nesting ++;
function_bar (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
c->locals[c->nesting+1].function_bar.__retvalue;
})) + (((int64_t)0LL)));
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
union {
struct {
int64_t __tmp0;
};
};
} probe_1461;
struct function_bar_locals {
int64_t foo;
int64_t __retvalue;
} function_bar;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
void just_some_declaration () {}
static void function_bar (struct context * __restrict__ c);
void function_bar (struct context* __restrict__ c) {
struct function_bar_locals * __restrict__ l =
& c->locals[c->nesting].function_bar;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
l->__retvalue = 0;
{
just_some_declaration(); THIS->__retvalue = THIS->foo + 5;
}
out:
;
#undef CONTEXT
#undef THIS
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '+' at <input>:10:11";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void) ((
({
c->last_stmt = "number '5' at <input>:10:8";
l->__tmp0 = ((int64_t)5LL);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'bar' at <input>:10:3";
} else if (likely (! c->last_error)) {
c->locals[c->nesting+1].function_bar.foo = l->__tmp0;
c->nesting ++;
function_bar (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
c->locals[c->nesting+1].function_bar.__retvalue;
})) + (((int64_t)0LL)));
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "<input>:8:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "<input>:8:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14689 exp9 0 0
PASS: transok/nine.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
int64_t a;
int64_t b;
union {
struct {
int64_t __tmp0;
};
struct {
int64_t __tmp2;
int64_t __tmp3;
};
struct {
int64_t __tmp4;
int64_t __tmp5;
};
struct {
int64_t __tmp6;
int64_t __tmp7;
};
struct {
int64_t __tmp8;
int64_t __tmp9;
};
struct {
int64_t __tmp10;
int64_t __tmp11;
};
struct {
int64_t __tmp12;
int64_t __tmp13;
};
struct {
int64_t __tmp14;
int64_t __tmp15;
};
struct {
int64_t __tmp16;
int64_t __tmp17;
};
struct {
int64_t __tmp18;
int64_t __tmp19;
};
struct {
int64_t __tmp20;
int64_t __tmp21;
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
int64_t __tmp22;
int64_t __tmp23;
};
struct {
};
struct {
int64_t __tmp24;
int64_t __tmp25;
};
struct {
};
struct {
int64_t __tmp26;
int64_t __tmp27;
};
struct {
};
struct {
int64_t __tmp28;
int64_t __tmp29;
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
l->a = 0;
l->b = 0;
{
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
int64_t a;
int64_t b;
union {
struct {
int64_t __tmp0;
};
struct {
int64_t __tmp2;
int64_t __tmp3;
};
struct {
int64_t __tmp4;
int64_t __tmp5;
};
struct {
int64_t __tmp6;
int64_t __tmp7;
};
struct {
int64_t __tmp8;
int64_t __tmp9;
};
struct {
int64_t __tmp10;
int64_t __tmp11;
};
struct {
int64_t __tmp12;
int64_t __tmp13;
};
struct {
int64_t __tmp14;
int64_t __tmp15;
};
struct {
int64_t __tmp16;
int64_t __tmp17;
};
struct {
int64_t __tmp18;
int64_t __tmp19;
};
struct {
int64_t __tmp20;
int64_t __tmp21;
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
int64_t __tmp22;
int64_t __tmp23;
};
struct {
};
struct {
int64_t __tmp24;
int64_t __tmp25;
};
struct {
};
struct {
int64_t __tmp26;
int64_t __tmp27;
};
struct {
};
struct {
int64_t __tmp28;
int64_t __tmp29;
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
struct {
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
l->a = 0;
l->b = 0;
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:6:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:6:3";
l->__tmp0 = l->b;
l->a = l->__tmp0;
l->__tmp0;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '+=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:8:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:8:3";
l->__tmp2 = l->b;
l->__tmp3 = l->a + l->__tmp2;
l->a = l->__tmp3;
l->__tmp3;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '-=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:9:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:9:3";
l->__tmp4 = l->b;
l->__tmp5 = l->a - l->__tmp4;
l->a = l->__tmp5;
l->__tmp5;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '*=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:10:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:10:3";
l->__tmp6 = l->b;
l->__tmp7 = l->a * l->__tmp6;
l->a = l->__tmp7;
l->__tmp7;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '/=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:11:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:11:3";
l->__tmp8 = l->b;
l->__tmp9 = _stp_div64 (&c->last_error, l->a, l->__tmp8);
l->a = l->__tmp9;
l->__tmp9;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '%=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:12:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:12:3";
l->__tmp10 = l->b;
l->__tmp11 = _stp_mod64 (&c->last_error, l->a, l->__tmp10);
l->a = l->__tmp11;
l->__tmp11;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '<<=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:13:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:13:3";
l->__tmp12 = l->b;
l->__tmp13 = l->a << l->__tmp12;
l->a = l->__tmp13;
l->__tmp13;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '>>=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:14:5";
c->
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:6:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:6:3";
l->__tmp0 = l->b;
l->a = l->__tmp0;
l->__tmp0;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '+=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:8:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:8:3";
l->__tmp2 = l->b;
l->__tmp3 = l->a + l->__tmp2;
l->a = l->__tmp3;
l->__tmp3;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '-=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:9:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:9:3";
l->__tmp4 = l->b;
l->__tmp5 = l->a - l->__tmp4;
l->a = l->__tmp5;
l->__tmp5;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '*=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:10:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:10:3";
l->__tmp6 = l->b;
l->__tmp7 = l->a * l->__tmp6;
l->a = l->__tmp7;
l->__tmp7;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '/=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:11:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:11:3";
l->__tmp8 = l->b;
l->__tmp9 = _stp_div64 (&c->last_error, l->a, l->__tmp8);
l->a = l->__tmp9;
l->__tmp9;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '%=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:12:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:12:3";
l->__tmp10 = l->b;
l->__tmp11 = _stp_mod64 (&c->last_error, l->a, l->__tmp10);
l->a = l->__tmp11;
l->__tmp11;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '<<=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:13:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:13:3";
l->__tmp12 = l->b;
l->__tmp13 = l->a << l->__tmp12;
l->a = l->__tmp13;
l->__tmp13;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '>>=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:14:5";
actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:14:3";
l->__tmp14 = l->b;
l->__tmp15 = l->a >> l->__tmp14;
l->a = l->__tmp15;
l->__tmp15;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '&=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:15:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:15:3";
l->__tmp16 = l->b;
l->__tmp17 = l->a & l->__tmp16;
l->a = l->__tmp17;
l->__tmp17;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '^=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:16:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:16:3";
l->__tmp18 = l->b;
l->__tmp19 = l->a ^ l->__tmp18;
l->a = l->__tmp19;
l->__tmp19;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '|=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:17:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:17:3";
l->__tmp20 = l->b;
l->__tmp21 = l->a | l->__tmp20;
l->a = l->__tmp21;
l->__tmp21;
});
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '++' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:46:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:46:3";
l->__tmp22 = 1;
l->__tmp23 = l->a;
l->a = l->__tmp23 + l->__tmp22;
l->__tmp23;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '--' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:47:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:47:3";
l->__tmp24 = 1;
l->__tmp25 = l->a;
l->a = l->__tmp25 - l->__tmp24;
l->__tmp25;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '++' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:48:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->la
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:14:3";
l->__tmp14 = l->b;
l->__tmp15 = l->a >> l->__tmp14;
l->a = l->__tmp15;
l->__tmp15;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '&=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:15:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:15:3";
l->__tmp16 = l->b;
l->__tmp17 = l->a & l->__tmp16;
l->a = l->__tmp17;
l->__tmp17;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '^=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:16:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:16:3";
l->__tmp18 = l->b;
l->__tmp19 = l->a ^ l->__tmp18;
l->a = l->__tmp19;
l->__tmp19;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '|=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:17:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:17:3";
l->__tmp20 = l->b;
l->__tmp21 = l->a | l->__tmp20;
l->a = l->__tmp21;
l->__tmp21;
});
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '++' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:46:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:46:3";
l->__tmp22 = 1;
l->__tmp23 = l->a;
l->a = l->__tmp23 + l->__tmp22;
l->__tmp23;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '--' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:47:5";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:47:3";
l->__tmp24 = 1;
l->__tmp25 = l->a;
l->a = l->__tmp25 - l->__tmp24;
l->__tmp25;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '++' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:48:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
st_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:48:6";
l->__tmp26 = 1;
l->__tmp27 = l->a + l->__tmp26;
l->a = l->__tmp27;
l->__tmp27;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '--' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:49:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'b' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:49:6";
l->__tmp28 = 1;
l->__tmp29 = l->b - l->__tmp28;
l->b = l->__tmp29;
l->__tmp29;
});
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef
c->last_stmt = "identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:48:6";
l->__tmp26 = 1;
l->__tmp27 = l->a + l->__tmp26;
l->a = l->__tmp27;
l->__tmp27;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '--' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:49:3";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'b' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:49:6";
l->__tmp28 = 1;
l->__tmp29 = l->b - l->__tmp28;
l->b = l->__tmp29;
l->__tmp29;
});
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:3:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/one.stp:3:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14694 exp9 0 0
PASS: transok/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
int64_t x;
union {
struct {
int64_t __tmp0;
};
struct {
string_t __tmp2;
int64_t __tmp3;
int64_t __tmp4;
int64_t __tmp5;
};
struct {
string_t __tmp6;
int64_t __tmp7;
int64_t __tmp8;
int64_t __tmp9;
};
struct {
string_t __tmp10;
int64_t __tmp11;
int64_t __tmp12;
int64_t __tmp13;
};
struct {
int64_t __tmp14;
string_t __tmp16;
int64_t __tmp17;
};
struct {
string_t __tmp18;
int64_t __tmp19;
int64_t __tmp20;
int64_t __tmp21;
int64_t __tmp22;
int64_t __tmp23;
string_t __tmp24;
int64_t __tmp25;
string_t __tmp26;
int64_t __tmp27;
int64_t __tmp28;
int64_t __tmp29;
};
struct {
};
struct {
string_t __tmp30;
};
};
} probe_1461;
struct function_log_locals {
string_t msg;
/* no return value */
} function_log;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#include "alloc.c"
#define VALUE_TYPE INT64
#define KEY1_TYPE INT64
#define KEY2_TYPE INT64
#define KEY3_TYPE STRING
#include "map-gen.c"
#undef VALUE_TYPE
#undef KEY1_TYPE
#undef KEY2_TYPE
#undef KEY3_TYPE
#define VALUE_TYPE INT64
#define KEY1_TYPE STRING
#include "map-gen.c"
#undef VALUE_TYPE
#undef KEY1_TYPE
#include "map.c"
static __cacheline_aligned MAP global_foo;
static __cacheline_aligned rwlock_t global_foo_lock;
static __cacheline_aligned MAP global_bar;
static __cacheline_aligned rwlock_t global_bar_lock;
static void function_log (struct context * __restrict__ c);
void function_log (struct context* __restrict__ c) {
struct function_log_locals * __restrict__ l =
& c->locals[c->nesting].function_log;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
{
_stp_printf ("%s\n", THIS->msg);
}
out:
;
#undef CONTEXT
#undef THIS
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
while (! write_trylock (& global_foo_lock)&& (++numtrylock < MAXTRYLOCK))
ndelay (TRYLOCKDELAY);
if (unlikely (numtrylock >= MAXTRYLOCK)) {
atomic_inc (& skipped_count);
goto unlock_;
}
while (! write_trylock (& global_bar_lock)&& (++numtrylock < MAXTRYLOCK))
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
int64_t x;
union {
struct {
int64_t __tmp0;
};
struct {
string_t __tmp2;
int64_t __tmp3;
int64_t __tmp4;
int64_t __tmp5;
};
struct {
string_t __tmp6;
int64_t __tmp7;
int64_t __tmp8;
int64_t __tmp9;
};
struct {
string_t __tmp10;
int64_t __tmp11;
int64_t __tmp12;
int64_t __tmp13;
};
struct {
int64_t __tmp14;
string_t __tmp16;
int64_t __tmp17;
};
struct {
string_t __tmp18;
int64_t __tmp19;
int64_t __tmp20;
int64_t __tmp21;
int64_t __tmp22;
int64_t __tmp23;
string_t __tmp24;
int64_t __tmp25;
string_t __tmp26;
int64_t __tmp27;
int64_t __tmp28;
int64_t __tmp29;
};
struct {
};
struct {
string_t __tmp30;
};
};
} probe_1461;
struct function_log_locals {
string_t msg;
/* no return value */
} function_log;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#include "alloc.c"
#define VALUE_TYPE INT64
#define KEY1_TYPE INT64
#define KEY2_TYPE INT64
#define KEY3_TYPE STRING
#include "map-gen.c"
#undef VALUE_TYPE
#undef KEY1_TYPE
#undef KEY2_TYPE
#undef KEY3_TYPE
#define VALUE_TYPE INT64
#define KEY1_TYPE STRING
#include "map-gen.c"
#undef VALUE_TYPE
#undef KEY1_TYPE
#include "map.c"
static __cacheline_aligned MAP global_foo;
static __cacheline_aligned rwlock_t global_foo_lock;
static __cacheline_aligned MAP global_bar;
static __cacheline_aligned rwlock_t global_bar_lock;
static void function_log (struct context * __restrict__ c);
void function_log (struct context* __restrict__ c) {
struct function_log_locals * __restrict__ l =
& c->locals[c->nesting].function_log;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
{
_stp_printf ("%s\n", THIS->msg);
}
out:
;
#undef CONTEXT
#undef THIS
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
while (! write_trylock (& global_foo_lock)&& (++numtrylock < MAXTRYLOCK))
ndelay (TRYLOCKDELAY);
if (unlikely (numtrylock >= MAXTRYLOCK)) {
atomic_inc (& skipped_count);
goto unlock_;
}
while (! write_trylock (& global_bar_lock)&& (++numtrylock < MAXTRYLOCK))
ndelay (TRYLOCKDELAY);
if (unlikely (numtrylock >= MAXTRYLOCK)) {
atomic_inc (& skipped_count);
goto unlock_foo;
}
if (0) goto unlock_;
}
l->x = 0;
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:10:4";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:10:2";
l->__tmp0 = ((int64_t)10LL);
l->x = l->__tmp0;
l->__tmp0;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:11:15";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:11:6";
strlcpy (l->__tmp2, "hello", MAXSTRINGLEN);
l->__tmp3 = ((int64_t)25LL);
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:11:2";
l->__tmp4 = l->__tmp3;
{ int rc = _stp_map_set_si (global_foo, l->__tmp2, l->__tmp4); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp3;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '++' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:12:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:12:6";
strlcpy (l->__tmp6, "hello", MAXSTRINGLEN);
l->__tmp7 = 1;
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:12:2";
l->__tmp8 = _stp_map_get_si (global_foo, l->__tmp6);
l->__tmp9 = l->__tmp8;
l->__tmp8 = l->__tmp9 + l->__tmp7;
{ int rc = _stp_map_set_si (global_foo, l->__tmp6, l->__tmp8); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp9;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '++' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:13:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:13:8";
strlcpy (l->__tmp10, "hello", MAXSTRINGLEN);
l->__tmp11 = 1;
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:13:4";
l->__tmp12 = _stp_map_get_si (global_foo, l->__tmp10);
l->__tmp13 = l->__tmp12 + l->__tmp11;
l->__tmp12 = l->__tmp13;
{ int rc = _stp_map_set_si (global_foo, l->__tmp10, l->__tmp12); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp13;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:14:4";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:14:2";
l->__tmp14 =
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:14:10";
strlc
ndelay (TRYLOCKDELAY);
if (unlikely (numtrylock >= MAXTRYLOCK)) {
atomic_inc (& skipped_count);
goto unlock_foo;
}
if (0) goto unlock_;
}
l->x = 0;
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:10:4";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:10:2";
l->__tmp0 = ((int64_t)10LL);
l->x = l->__tmp0;
l->__tmp0;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:11:15";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:11:6";
strlcpy (l->__tmp2, "hello", MAXSTRINGLEN);
l->__tmp3 = ((int64_t)25LL);
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:11:2";
l->__tmp4 = l->__tmp3;
{ int rc = _stp_map_set_si (global_foo, l->__tmp2, l->__tmp4); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp3;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '++' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:12:14";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:12:6";
strlcpy (l->__tmp6, "hello", MAXSTRINGLEN);
l->__tmp7 = 1;
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:12:2";
l->__tmp8 = _stp_map_get_si (global_foo, l->__tmp6);
l->__tmp9 = l->__tmp8;
l->__tmp8 = l->__tmp9 + l->__tmp7;
{ int rc = _stp_map_set_si (global_foo, l->__tmp6, l->__tmp8); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp9;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '++' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:13:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:13:8";
strlcpy (l->__tmp10, "hello", MAXSTRINGLEN);
l->__tmp11 = 1;
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:13:4";
l->__tmp12 = _stp_map_get_si (global_foo, l->__tmp10);
l->__tmp13 = l->__tmp12 + l->__tmp11;
l->__tmp12 = l->__tmp13;
{ int rc = _stp_map_set_si (global_foo, l->__tmp10, l->__tmp12); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp13;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:14:4";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:14:2";
l->__tmp14 =
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:14:10";
py (l->__tmp16, "hello", MAXSTRINGLEN);
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:14:6";
l->__tmp17 = _stp_map_get_si (global_foo, l->__tmp16);
l->__tmp17;
});
l->x = l->__tmp14;
l->__tmp14;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '*=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:12";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'yo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:6";
strlcpy (l->__tmp18, "yo", MAXSTRINGLEN);
l->__tmp19 =
({
c->last_stmt = "identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:19";
l->__tmp22 = l->x;
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:22";
l->__tmp23 =
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:26";
strlcpy (l->__tmp24, "hello", MAXSTRINGLEN);
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:22";
l->__tmp25 = _stp_map_get_si (global_foo, l->__tmp24);
l->__tmp25;
});
c->last_stmt = "string 'goodbye' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:36";
strlcpy (l->__tmp26, "goodbye", MAXSTRINGLEN);
l->__tmp27 = 1;
c->last_stmt = "identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:15";
l->__tmp28 = _stp_map_get_iisi (global_bar, l->__tmp22, l->__tmp23, l->__tmp26);
l->__tmp29 = l->__tmp28;
l->__tmp28 = l->__tmp29 + l->__tmp27;
{ int rc = _stp_map_set_iisi (global_bar, l->__tmp22, l->__tmp23, l->__tmp26, l->__tmp28); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp29;
});
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:2";
l->__tmp20 = _stp_map_get_si (global_foo, l->__tmp18);
l->__tmp21 = l->__tmp20 * l->__tmp19;
l->__tmp20 = l->__tmp21;
{ int rc = _stp_map_set_si (global_foo, l->__tmp18, l->__tmp20); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp21;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:16:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello from systemtap' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:16:6";
strlcpy (l->__tmp30, "hello from systemtap", MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:16:2";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_log.msg, l->__tmp30, MAXSTRINGLEN);
c->nesting ++;
function_log (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
}
out:
_stp_print_flush();
unlock_bar:
write_unlock (& global_bar_lock);
unlock_foo:
write_unlock (& global_foo_lock);
unlock_: ;
if (atomic_read (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit();
}
}
/* ---- begi
strlcpy (l->__tmp16, "hello", MAXSTRINGLEN);
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:14:6";
l->__tmp17 = _stp_map_get_si (global_foo, l->__tmp16);
l->__tmp17;
});
l->x = l->__tmp14;
l->__tmp14;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "operator '*=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:12";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'yo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:6";
strlcpy (l->__tmp18, "yo", MAXSTRINGLEN);
l->__tmp19 =
({
c->last_stmt = "identifier 'x' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:19";
l->__tmp22 = l->x;
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:22";
l->__tmp23 =
({
c->last_stmt = "string 'hello' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:26";
strlcpy (l->__tmp24, "hello", MAXSTRINGLEN);
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:22";
l->__tmp25 = _stp_map_get_si (global_foo, l->__tmp24);
l->__tmp25;
});
c->last_stmt = "string 'goodbye' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:36";
strlcpy (l->__tmp26, "goodbye", MAXSTRINGLEN);
l->__tmp27 = 1;
c->last_stmt = "identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:15";
l->__tmp28 = _stp_map_get_iisi (global_bar, l->__tmp22, l->__tmp23, l->__tmp26);
l->__tmp29 = l->__tmp28;
l->__tmp28 = l->__tmp29 + l->__tmp27;
{ int rc = _stp_map_set_iisi (global_bar, l->__tmp22, l->__tmp23, l->__tmp26, l->__tmp28); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp29;
});
c->last_stmt = "identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:15:2";
l->__tmp20 = _stp_map_get_si (global_foo, l->__tmp18);
l->__tmp21 = l->__tmp20 * l->__tmp19;
l->__tmp20 = l->__tmp21;
{ int rc = _stp_map_set_si (global_foo, l->__tmp18, l->__tmp20); if (unlikely(rc)) c->last_error = "Array overflow, check MAXMAPENTRIES"; };
l->__tmp21;
});
/* null */;
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:16:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello from systemtap' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:16:6";
strlcpy (l->__tmp30, "hello from systemtap", MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:16:2";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_log.msg, l->__tmp30, MAXSTRINGLEN);
c->nesting ++;
function_log (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
}
out:
_stp_print_flush();
unlock_bar:
write_unlock (& global_bar_lock);
unlock_foo:
write_unlock (& global_foo_lock);
unlock_: ;
if (atomic_read (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit();
}
}
n/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine =
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
global_foo = _stp_map_new_si (MAXMAPENTRIES); if (global_foo == NULL) rc = -ENOMEM;
if (rc) {
_stp_error ("global variable foo allocation failed");
goto out;
}
rwlock_init (& global_foo_lock);
global_bar = _stp_map_new_iisi (MAXMAPENTRIES); if (global_bar == NULL) rc = -ENOMEM;
if (rc) {
_stp_error ("global variable bar allocation failed");
goto out;
}
rwlock_init (& global_bar_lock);
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
_stp_map_del (global_foo);
_stp_map_del (global_bar);
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
_stp_map_del (global_foo);
_stp_map_del (global_bar);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:8:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
#undef foo
#undef bar
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
global_foo = _stp_map_new_si (MAXMAPENTRIES); if (global_foo == NULL) rc = -ENOMEM;
if (rc) {
_stp_error ("global variable foo allocation failed");
goto out;
}
rwlock_init (& global_foo_lock);
global_bar = _stp_map_new_iisi (MAXMAPENTRIES); if (global_bar == NULL) rc = -ENOMEM;
if (rc) {
_stp_error ("global variable bar allocation failed");
goto out;
}
rwlock_init (& global_bar_lock);
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
_stp_map_del (global_foo);
_stp_map_del (global_bar);
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
_stp_map_del (global_foo);
_stp_map_del (global_bar);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/seven.stp:8:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
#undef foo
#undef bar
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14698 exp9 0 0
PASS: transok/seven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
union {
struct {
string_t __tmp0;
int64_t __tmp1;
};
struct {
string_t __tmp2;
};
struct {
string_t __tmp3;
};
};
} probe_1461;
struct function_log_locals {
string_t msg;
/* no return value */
} function_log;
struct function_warn_locals {
string_t msg;
/* no return value */
} function_warn;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
static void function_log (struct context * __restrict__ c);
static void function_warn (struct context * __restrict__ c);
void function_log (struct context* __restrict__ c) {
struct function_log_locals * __restrict__ l =
& c->locals[c->nesting].function_log;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
{
_stp_printf ("%s\n", THIS->msg);
}
out:
;
#undef CONTEXT
#undef THIS
}
void function_warn (struct context* __restrict__ c) {
struct function_warn_locals * __restrict__ l =
& c->locals[c->nesting].function_warn;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
{
_stp_warn ("%s", THIS->msg);
}
out:
;
#undef CONTEXT
#undef THIS
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'print' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:5:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'kernel time\\n' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:5:8";
strlcpy (l->__tmp0, "kernel time\n", MAXSTRINGLEN);
if (likely (! c->last_error)) {
l->__tmp1 = 0;
_stp_printf ("%s", l->__tmp0);
}
l->__tmp1;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:6:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello there' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:6:6";
strlcpy (l->__tmp2, "hello there", MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
union {
struct {
string_t __tmp0;
int64_t __tmp1;
};
struct {
string_t __tmp2;
};
struct {
string_t __tmp3;
};
};
} probe_1461;
struct function_log_locals {
string_t msg;
/* no return value */
} function_log;
struct function_warn_locals {
string_t msg;
/* no return value */
} function_warn;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
static void function_log (struct context * __restrict__ c);
static void function_warn (struct context * __restrict__ c);
void function_log (struct context* __restrict__ c) {
struct function_log_locals * __restrict__ l =
& c->locals[c->nesting].function_log;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
{
_stp_printf ("%s\n", THIS->msg);
}
out:
;
#undef CONTEXT
#undef THIS
}
void function_warn (struct context* __restrict__ c) {
struct function_warn_locals * __restrict__ l =
& c->locals[c->nesting].function_warn;
(void) l;
#define CONTEXT c
#define THIS l
if (0) goto out;
{
_stp_warn ("%s", THIS->msg);
}
out:
;
#undef CONTEXT
#undef THIS
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'print' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:5:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'kernel time\\n' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:5:8";
strlcpy (l->__tmp0, "kernel time\n", MAXSTRINGLEN);
if (likely (! c->last_error)) {
l->__tmp1 = 0;
_stp_printf ("%s", l->__tmp0);
}
l->__tmp1;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:6:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'hello there' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:6:6";
strlcpy (l->__tmp2, "hello there", MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:6:2";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_log.msg, l->__tmp2, MAXSTRINGLEN);
c->nesting ++;
function_log (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'warn' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:7:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'this is a builtin' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:7:7";
strlcpy (l->__tmp3, "this is a builtin", MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'warn' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:7:2";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_warn.msg, l->__tmp3, MAXSTRINGLEN);
c->nesting ++;
function_warn (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_
c->last_stmt = "identifier 'log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:6:2";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_log.msg, l->__tmp2, MAXSTRINGLEN);
c->nesting ++;
function_log (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
if (unlikely (c->last_error)) goto out;
c->last_stmt = "identifier 'warn' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:7:2";
c->actioncount += 1;
if (unlikely (c->actioncount > MAXACTION)) {
c->last_error = "MAXACTION exceeded";
goto out;
}
(void)
({
c->last_stmt = "string 'this is a builtin' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:7:7";
strlcpy (l->__tmp3, "this is a builtin", MAXSTRINGLEN);
if (unlikely (c->nesting+2 >= MAXNESTING)) {
c->last_error = "MAXNESTING exceeded";
c->last_stmt = "identifier 'warn' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:7:2";
} else if (likely (! c->last_error)) {
strlcpy (c->locals[c->nesting+1].function_warn.msg, l->__tmp3, MAXSTRINGLEN);
c->nesting ++;
function_warn (c);
c->nesting --;
if (c->last_error && ! c->last_error[0])
c->last_error = 0;
}
(void) 0;
});
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:3:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/six.stp:3:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14702 exp9 0 0
PASS: transok/six.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/ten.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/ten.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
union {
struct {
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- dwarf probes ---- */
static int enter_kprobe_probe (struct kprobe *inst, struct pt_regs *regs);
static int enter_kretprobe_probe (struct kretprobe_instance *inst, struct pt_regs *regs);
struct stap_dwarf_probe {
union { struct kprobe kp; struct kretprobe krp; } u;
unsigned return_p:1;
unsigned maxactive_p:1;
unsigned registered_p:1;
const char *module;
const char *section;
unsigned long address;
unsigned long maxactive_val;
const char *pp;
void (*ph) (struct context*);
} stap_dwarf_probes[] = {
{ .address=0x9b488UL, .pp="kernel.function(\"dentry_open@fs/open.c:964\")", .ph=&probe_1461 },
};
static int enter_kprobe_probe (struct kprobe *inst, struct pt_regs *regs) {
struct stap_dwarf_probe *sdp = container_of(inst, struct stap_dwarf_probe, u.kp);
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_RUNNING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = sdp->pp;
c->regs = regs;
(*sdp->ph) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
union {
struct {
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- dwarf probes ---- */
static int enter_kprobe_probe (struct kprobe *inst, struct pt_regs *regs);
static int enter_kretprobe_probe (struct kretprobe_instance *inst, struct pt_regs *regs);
struct stap_dwarf_probe {
union { struct kprobe kp; struct kretprobe krp; } u;
unsigned return_p:1;
unsigned maxactive_p:1;
unsigned registered_p:1;
const char *module;
const char *section;
unsigned long address;
unsigned long maxactive_val;
const char *pp;
void (*ph) (struct context*);
} stap_dwarf_probes[] = {
{ .address=0x9b488UL, .pp="kernel.function(\"dentry_open@fs/open.c:964\")", .ph=&probe_1461 },
};
static int enter_kprobe_probe (struct kprobe *inst, struct pt_regs *regs) {
struct stap_dwarf_probe *sdp = container_of(inst, struct stap_dwarf_probe, u.kp);
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_RUNNING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = sdp->pp;
c->regs = regs;
(*sdp->ph) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
return 0;
}
static int enter_kretprobe_probe (struct kretprobe_instance *inst, struct pt_regs *regs) {
struct kretprobe *krp = inst->rp;
struct stap_dwarf_probe *sdp = container_of(krp, struct stap_dwarf_probe, u.krp);
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_RUNNING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = sdp->pp;
c->regs = regs;
c->pi = inst;
(*sdp->ph) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
return 0;
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
for (i=0; i<1; i++) {
struct stap_dwarf_probe *sdp = & stap_dwarf_probes[i];
unsigned long relocated_addr = _stp_module_relocate (sdp->module, sdp->section, sdp->address);
if (relocated_addr == 0) continue;
probe_point = sdp->pp;
if (sdp->return_p) {
sdp->u.krp.kp.addr = (void *) relocated_addr;
if (sdp->maxac
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
return 0;
}
static int enter_kretprobe_probe (struct kretprobe_instance *inst, struct pt_regs *regs) {
struct kretprobe *krp = inst->rp;
struct stap_dwarf_probe *sdp = container_of(krp, struct stap_dwarf_probe, u.krp);
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_RUNNING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = sdp->pp;
c->regs = regs;
c->pi = inst;
(*sdp->ph) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
return 0;
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
for (i=0; i<1; i++) {
struct stap_dwarf_probe *sdp = & stap_dwarf_probes[i];
unsigned long relocated_addr = _stp_module_relocate (sdp->module, sdp->section, sdp->address);
if (relocated_addr == 0) continue;
probe_point = sdp->pp;
if (sdp->return_p) {
sdp->u.krp.kp.addr = (void *) relocated_addr;
tive_p) {
sdp->u.krp.maxactive = sdp->maxactive_val;
} else {
sdp->u.krp.maxactive = max(10, 4*NR_CPUS);
}
sdp->u.krp.handler = &enter_kretprobe_probe;
rc = register_kretprobe (& sdp->u.krp);
} else {
sdp->u.kp.addr = (void *) relocated_addr;
sdp->u.kp.pre_handler = &enter_kprobe_probe;
rc = register_kprobe (& sdp->u.kp);
}
if (rc) for (j=i-1; j>=0; j--) {
struct stap_dwarf_probe *sdp2 = & stap_dwarf_probes[j];
if (sdp2->return_p) unregister_kretprobe (&sdp2->u.krp);
else unregister_kprobe (&sdp2->u.kp);
}
else sdp->registered_p = 1;
}
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
for (i=0; i<1; i++) {
struct stap_dwarf_probe *sdp = & stap_dwarf_probes[i];
if (! sdp->registered_p) continue;
if (sdp->return_p) {
unregister_kretprobe (&sdp->u.krp);
atomic_add (sdp->u.krp.nmissed, & skipped_count);
atomic_add (sdp->u.krp.kp.nmissed, & skipped_count);
} else {
unregister_kprobe (&sdp->u.kp);
atomic_add (sdp->u.kp.nmissed, & skipped_count);
}
sdp->registered_p = 0;
}
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "kernel.function(\"dentry_open\")";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/ten.stp:3:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
if (sdp->maxactive_p) {
sdp->u.krp.maxactive = sdp->maxactive_val;
} else {
sdp->u.krp.maxactive = max(10, 4*NR_CPUS);
}
sdp->u.krp.handler = &enter_kretprobe_probe;
rc = register_kretprobe (& sdp->u.krp);
} else {
sdp->u.kp.addr = (void *) relocated_addr;
sdp->u.kp.pre_handler = &enter_kprobe_probe;
rc = register_kprobe (& sdp->u.kp);
}
if (rc) for (j=i-1; j>=0; j--) {
struct stap_dwarf_probe *sdp2 = & stap_dwarf_probes[j];
if (sdp2->return_p) unregister_kretprobe (&sdp2->u.krp);
else unregister_kprobe (&sdp2->u.kp);
}
else sdp->registered_p = 1;
}
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
for (i=0; i<1; i++) {
struct stap_dwarf_probe *sdp = & stap_dwarf_probes[i];
if (! sdp->registered_p) continue;
if (sdp->return_p) {
unregister_kretprobe (&sdp->u.krp);
atomic_add (sdp->u.krp.nmissed, & skipped_count);
atomic_add (sdp->u.krp.kp.nmissed, & skipped_count);
} else {
unregister_kprobe (&sdp->u.kp);
atomic_add (sdp->u.kp.nmissed, & skipped_count);
}
sdp->registered_p = 0;
}
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "kernel.function(\"dentry_open\")";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/ten.stp:3:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14706 exp9 0 0
PASS: transok/ten.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/three.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/three.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1462_locals {
union {
struct {
};
struct {
};
struct {
};
};
} probe_1462;
struct probe_1463_locals {
union {
struct {
};
struct {
};
struct {
};
};
} probe_1463;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1462 (struct context * __restrict__ c) {
struct probe_1462_locals * __restrict__ l =
& c->locals[0].probe_1462;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
/* null */;
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_1;
#endif
static void probe_1463 (struct context * __restrict__ c) {
struct probe_1463_locals * __restrict__ l =
& c->locals[0].probe_1463;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_1;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
/* null */;
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->p#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1462_locals {
union {
struct {
};
struct {
};
struct {
};
};
} probe_1462;
struct probe_1463_locals {
union {
struct {
};
struct {
};
struct {
};
};
} probe_1463;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1462 (struct context * __restrict__ c) {
struct probe_1462_locals * __restrict__ l =
& c->locals[0].probe_1462;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
/* null */;
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_1;
#endif
static void probe_1463 (struct context * __restrict__ c) {
struct probe_1463_locals * __restrict__ l =
& c->locals[0].probe_1463;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_1;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
/* null */;
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
robe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
time_probe_1 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
time_probe_1 = _stp_stat_init (HIST_NONE);
#endif
& probe_1462);
enter_begin_probe (& probe_1463);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
enter_end_probe (& probe_1463);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/three.stp:20:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
{
const char *probe_point = "begin""+""1";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/three.stp:25:1";
struct stat_data *stats = _stp_stat_get (time_probe_1, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
enter_begin_probe (& probe_1462);
enter_begin_probe (& probe_1463);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
enter_end_probe (& probe_1463);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/three.stp:20:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
{
const char *probe_point = "begin""+""1";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/three.stp:25:1";
struct stat_data *stats = _stp_stat_get (time_probe_1, 0);
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14710 exp9 0 0
PASS: transok/three.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/tval-opt.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/tval-opt.stp
wait results: 14714 exp9 0 0
PASS: transok/tval-opt.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/two.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/two.stp
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
union {
struct {
};
struct {
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
#define TEST_MODE 0
#ifndef MAXNESTING
#define MAXNESTING 10
#endif
#ifndef MAXSTRINGLEN
#define MAXSTRINGLEN 128
#endif
#ifndef MAXACTION
#define MAXACTION 1000
#endif
#ifndef MAXTRYLOCK
#define MAXTRYLOCK MAXACTION
#endif
#ifndef TRYLOCKDELAY
#define TRYLOCKDELAY 100
#endif
#ifndef MAXMAPENTRIES
#define MAXMAPENTRIES 2048
#endif
#ifndef MAXERRORS
#define MAXERRORS 0
#endif
#ifndef MAXSKIPPED
#define MAXSKIPPED 100
#endif
#ifndef MINSTACKSPACE
#define MINSTACKSPACE 1024
#endif
#ifndef STP_STRING_SIZE
#define STP_STRING_SIZE 1024
#endif
#define STP_NUM_STRINGS 1
#include "runtime.h"
#include "current.c"
#include "stack.c"
#include "regs.c"
#include "stat.c"
#include "arith.c"
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/profile.h>
#include <linux/random.h>
#include <linux/utsname.h>
#include "loc2c-runtime.h"
#ifndef read_trylock
#define read_trylock(x) ({ read_lock(x); 1; })
#endif
typedef char string_t[MAXSTRINGLEN];
#define STAP_SESSION_STARTING 0
#define STAP_SESSION_RUNNING 1
#define STAP_SESSION_ERROR 2
#define STAP_SESSION_STOPPING 3
#define STAP_SESSION_STOPPED 4
atomic_t session_state = ATOMIC_INIT (STAP_SESSION_STARTING);
atomic_t error_count = ATOMIC_INIT (0);
atomic_t skipped_count = ATOMIC_INIT (0);
struct context {
atomic_t busy;
const char *probe_point;
unsigned actioncount;
unsigned nesting;
const char *last_error;
const char *last_stmt;
struct pt_regs *regs;
struct kretprobe_instance *pi;
#ifdef STP_TIMING
Stat *statp;
#endif
union {
struct probe_1461_locals {
union {
struct {
};
struct {
};
};
} probe_1461;
} locals [MAXNESTING];
};
void *contexts = NULL; /* alloc_percpu */
#ifdef STP_TIMING
static __cacheline_aligned Stat time_probe_0;
#endif
static void probe_1461 (struct context * __restrict__ c) {
struct probe_1461_locals * __restrict__ l =
& c->locals[0].probe_1461;
(void) l;
#ifdef STP_TIMING
c->statp = & time_probe_0;
#endif
{
unsigned numtrylock = 0;
(void) numtrylock;
if (0) goto unlock_;
}
{
/* null */;
/* null */;
}
out:
_stp_print_flush();
unlock_: ;
}
/* ---- begin/end probes ---- */
void enter_begin_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STARTING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "begin";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
void enter_end_probe (void (*fn)(struct context*)) {
struct context* __restrict__ c;
unsigned long flags;
#ifdef STP_TIMING
int32_t cycles_atstart = (int32_t) get_cycles ();
#endif
local_irq_save (flags);
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
enter_end_probe (& probe_1461);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin""+""1";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/two.stp:2:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
const char *err
if (unlikely ((((unsigned long) (& c)) & (THREAD_SIZE-1))
< (MINSTACKSPACE + sizeof (struct thread_info)))) {
if (unlikely (atomic_inc_return (& skipped_count) > MAXSKIPPED)) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
goto probe_epilogue;
}
if (atomic_read (&session_state) != STAP_SESSION_STOPPING)
goto probe_epilogue;
c = per_cpu_ptr (contexts, smp_processor_id());
if (unlikely (atomic_inc_return (&c->busy) != 1)) {
if (atomic_inc_return (& skipped_count) > MAXSKIPPED) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
atomic_dec (& c->busy);
goto probe_epilogue;
}
c->last_error = 0;
c->nesting = 0;
c->regs = 0;
c->pi = 0;
c->probe_point = 0;
c->actioncount = 0;
#ifdef STP_TIMING
c->statp = 0;
#endif
c->probe_point = "end";
(*fn) (c);
#ifdef STP_TIMING
{
int32_t cycles_atend = (int32_t) get_cycles ();
int32_t cycles_elapsed = (cycles_atend > cycles_atstart)
? (cycles_atend - cycles_atstart)
: (~(int32_t)0) - cycles_atstart + cycles_atend + 1;
if (likely (c->statp)) _stp_stat_add(*c->statp, cycles_elapsed);
}
#endif
if (unlikely (c->last_error && c->last_error[0])) {
if (c->last_stmt != NULL)
_stp_softerror ("%s near %s", c->last_error, c->last_stmt);
else
_stp_softerror ("%s", c->last_error);
atomic_inc (& error_count);
if (atomic_read (& error_count) > MAXERRORS) {
atomic_set (& session_state, STAP_SESSION_ERROR);
_stp_exit ();
}
}
atomic_dec (&c->busy);
probe_epilogue:
local_irq_restore (flags);
}
int systemtap_module_init (void) {
int rc = 0;
int i=0, j=0;
const char *probe_point = "";
down_read (& uts_sem);
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
const char* machine = utsname()->machine;
const char* release = utsname()->release;
#else
const char* machine = system_utsname.machine;
const char* release = system_utsname.release;
#endif
if (strcmp (machine, "s390x")) {
_stp_error ("module machine mismatch (%s vs %s)", machine, "s390x");
rc = -EINVAL;
}
if (strcmp (release, "2.6.18-8.el5")) {
_stp_error ("module release mismatch (%s vs %s)", release, "2.6.18-8.el5");
rc = -EINVAL;
}
}
up_read (& uts_sem);
if (rc) goto out;
(void) probe_point;
(void) i;
(void) j;
atomic_set (&session_state, STAP_SESSION_STARTING);
if (sizeof (struct context) <= 131072)
contexts = alloc_percpu (struct context);
if (contexts == NULL) {
_stp_error ("percpu context (size %lu) allocation failed", sizeof (struct context));
rc = -ENOMEM;
goto out;
}
#ifdef STP_TIMING
time_probe_0 = _stp_stat_init (HIST_NONE);
#endif
enter_begin_probe (& probe_1461);
rc = (atomic_read (&session_state) == STAP_SESSION_ERROR);
if (rc) {
_stp_error ("probe %s registration error (rc %d)", probe_point, rc);
atomic_set (&session_state, STAP_SESSION_ERROR);
goto out;
}
atomic_set (&session_state, STAP_SESSION_RUNNING);
return 0;
out:
return rc;
}
void systemtap_module_exit (void) {
int holdon;
int i=0, j=0;
(void) i;
(void) j;
if (atomic_read (&session_state) == STAP_SESSION_STARTING)
return;
if (atomic_read (&session_state) == STAP_SESSION_RUNNING)
atomic_set (&session_state, STAP_SESSION_STOPPING);
do {
int i;
holdon = 0;
for (i=0; i < NR_CPUS; i++)
if (cpu_possible (i) && atomic_read (& ((struct context *)per_cpu_ptr(contexts, i))->busy)) holdon = 1;
cpu_relax ();
} while (holdon);
enter_end_probe (& probe_1461);
free_percpu (contexts);
#ifdef STP_TIMING
{
{
const char *probe_point = "begin""+""1";
const char *decl_location = "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/transok/two.stp:2:1";
struct stat_data *stats = _stp_stat_get (time_probe_0, 0);
or;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
const char *error;
if (stats->count) {
int64_t avg = _stp_div64 (&error, stats->sum, stats->count);
_stp_printf ("probe %s (%s), hits: %lld, cycles: %lldmin/%lldavg/%lldmax\n",
probe_point, decl_location, (long long) stats->count, (long long) stats->min, (long long) avg, (long long) stats->max);
}
}
_stp_print_flush();
}
#endif
if (atomic_read (& skipped_count) || atomic_read (& error_count))
_stp_warn ("Number of errors: %d, skipped probes: %d\n", (int) atomic_read (& error_count), (int) atomic_read (& skipped_count));
}
int probe_start () {
return systemtap_module_init () ? -1 : 0;
}
void probe_exit () {
systemtap_module_exit ();
}
MODULE_DESCRIPTION("systemtap probe");
MODULE_LICENSE("GPL");
struct stap_symbol *stap_symbols;
unsigned stap_num_symbols = 0;
wait results: 14725 exp9 0 0
PASS: transok/two.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/transok.exp completed in 10 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic1.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapRCXaDd/stap_bb6800812466fac7cffb6a7914022f99_281.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_bb6800812466fac7cffb6a7914022f99_281.ko" in 3270usr/300sys/3428real ms.
Pass 5: starting run.
HelloWorldPASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic1.stp passed
Pass 5: run completed in 260usr/1180sys/1445real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic1.stp 570 10 593 10 0 10 0 0 1 3270 300 3428 260 1180 1445
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic1.exp completed in 5 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic2.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/593real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapjau13N/stap_4de061b78f72c311a319d6986854b840_280.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_4de061b78f72c311a319d6986854b840_280.ko" in 3280usr/300sys/3429real ms.
Pass 5: starting run.
HelloWorldPASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic2.stp passed
Pass 5: run completed in 260usr/1180sys/1465real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic2.stp 560 10 593 10 0 10 0 0 1 3280 300 3429 260 1180 1465
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic2.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic3.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/592real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 0usr/10sys/10real ms.
Pass 3: translated to C into "/tmp/stapQslYSi/stap_a44345c25d58962d6353e103dd0f4562_285.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_a44345c25d58962d6353e103dd0f4562_285.ko" in 3280usr/290sys/3427real ms.
Pass 5: starting run.
Hello
World
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic3.stp passed
Pass 5: run completed in 260usr/1180sys/1459real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic3.stp 570 10 592 0 10 10 0 0 1 3280 290 3427 260 1180 1459
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic3.exp completed in 5 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic4.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/604real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapOPPe4T/stap_76baef5fb53affb7baf4367993bebf90_332.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_76baef5fb53affb7baf4367993bebf90_332.ko" in 3300usr/280sys/3445real ms.
Pass 5: starting run.
HelloWorldHelloWorldPASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic4.stp passed
Pass 5: run completed in 250usr/1180sys/1457real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic4.stp 570 10 604 10 0 10 0 0 1 3300 280 3445 250 1180 1457
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic4.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic5.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
Pass 2: analyzed script: 3 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stapVtUzTn/stap_81c03afc6a93e9732cf4ff0e015a5954_351.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_81c03afc6a93e9732cf4ff0e015a5954_351.ko" in 3440usr/290sys/3606real ms.
Pass 5: starting run.
HelloWorldHelloWorldPASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic5.stp passed
Pass 5: run completed in 260usr/1190sys/2458real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic5.stp 570 10 593 0 0 11 0 0 1 3440 290 3606 260 1190 2458
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic5.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin1.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin1.stp passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin1.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin2.stp passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin2.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3.stp passed
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3a.stp passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3.exp completed in 11 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4.stp passed
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4a.stp passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4.exp completed in 12 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5.stp passed
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5a.stp passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5.exp completed in 11 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/int1.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/20sys/602real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stap297nCX/stap_964bc3c5536748b8a5c06b3160c569ba_1334.c" in 0usr/0sys/7real ms.
Pass 4: compiled C into "stap_964bc3c5536748b8a5c06b3160c569ba_1334.ko" in 4140usr/290sys/4298real ms.
Pass 5: starting run.
1,10,9000000000000,-1,-1024
1,10,9000000000000,-1,-1024
1, 10, 9000000000000, -1, -1024
0000000000000001,0000000000000010,0009000000000000,-000000000000001,-000000000001024
1,10,9000000000000,18446744073709551615,18446744073709550592
1,10,9000000000000,18446744073709551615,18446744073709550592
1, 10, 9000000000000,18446744073709551615,18446744073709550592
0000000000000001,0000000000000010,0009000000000000,18446744073709551615,18446744073709550592
1,a,82f79cd9000,ffffffffffffffff,fffffffffffffc00
1, a,82f79cd9000,ffffffffffffffff,fffffffffffffc00
1, a, 82f79cd9000,ffffffffffffffff,fffffffffffffc00
0000000000000001,000000000000000a,0000082f79cd9000,ffffffffffffffff,fffffffffffffc00
1, A, 82F79CD9000,FFFFFFFFFFFFFFFF,FFFFFFFFFFFFFC00
0000000000000001,000000000000000A,0000082F79CD9000,FFFFFFFFFFFFFFFF,FFFFFFFFFFFFFC00
1,12,202757163310000,1777777777777777777777,1777777777777777776000
1,12,202757163310000,1777777777777777777777,1777777777777777776000
1, 12, 202757163310000,1777777777777777777777,1777777777777777776000
0000000000000001,0000000000000012,0202757163310000,1777777777777777777777,1777777777777777776000
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/int1.stp passed
Pass 5: run completed in 260usr/1190sys/1458real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/int1.stp 570 20 602 0 0 11 0 0 7 4140 290 4298 260 1190 1458
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/int1.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/oct.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/oct.stp passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/oct.exp completed in 5 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/ptr.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/597real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapFVZohT/stap_bd276a6dc7103f6b92f5747b57e5a0a7_1001.c" in 0usr/0sys/4real ms.
Pass 4: compiled C into "stap_bd276a6dc7103f6b92f5747b57e5a0a7_1001.ko" in 3790usr/300sys/3934real ms.
Pass 5: starting run.
0x0000000000000000
0x0000000000000001
0x0000000012345678
0x12345678abcdef00
0x0000000012345678
0x0000000000000000X
0x0000000000000001X
0x0000000012345678X
0x12345678abcdef00X
0x0000000012345678X
0x000000000000000000X
0x000000000000000001X
0x000000000012345678X
0x0012345678abcdef00X
0x000000000012345678X
0x000000
0x000001
0x12345678
0x12345678abcdef00
0x12345678
0x000000X
0x000001X
0x12345678X
0x12345678abcdef00X
0x12345678X
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/ptr.stp passed
Pass 5: run completed in 250usr/1190sys/1453real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/ptr.stp 580 10 597 0 0 10 0 0 4 3790 300 3934 250 1190 1453
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/ptr.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string1.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/20sys/596real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapGcz7nV/stap_624417e2bf89a0e53ef7af722bac3bb8_411.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_624417e2bf89a0e53ef7af722bac3bb8_411.ko" in 3380usr/290sys/3528real ms.
Pass 5: starting run.
The string is <Foobar!>
Foobar!XYZZY
XYZZYFoobar!XYZZYFoobar!
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string1.stp passed
Pass 5: run completed in 250usr/1180sys/1451real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string1.stp 570 20 596 10 0 10 0 0 1 3380 290 3528 250 1180 1451
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string1.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string2.stp passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string2.exp completed in 5 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/args.exp ...
PASS: args search for staprun (/usr/local/bin/staprun)
Warning: using '-m' disables cache support.
Keeping temporary directory "/tmp/stapHuQm9d"
PASS: args compile
PASS: args search for tmpdir (/tmp/stapHuQm9d)
PASS: args search for probe module (/tmp/stapHuQm9d/args_3770.ko)
Warning: -r option deprecated. Ignoring...
foo=hello bar=999
PASS: args run 1
Warning: -r option deprecated. Ignoring...
foo=goodbye bar=0
PASS: args run 2
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/args.exp completed in 8 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/arith.exp ...
test 1 [+] pass
test 2 [+] pass
test 3 [-] pass
test 4 [==] pass
test 5 [!=] pass
test 6 [== s] pass
test 7 [<= s] pass
test 8 [> s] pass
test 9 [<] pass
test 10 [<] pass
test 11 [*] pass
test 12 [*] pass
test 13 [/] pass
test 14 [%] pass
test 15 [/] pass
test 16 [%] pass
test 17 [/] pass
test 18 [%] pass
test 19 [/] pass
test 20 [%] pass
test 21 [%] pass
test 22 [&] pass
test 23 [|] pass
test 24 [^] pass
test 25 [&&] pass
test 26 [||] pass
test 27 [<<] pass
test 28 [<<] pass
test 29 [<<] pass
test 30 [<<] pass
test 31 [<<] pass
test 32 [>>] pass
test 33 [>>] pass
test 34 [>>] pass
test 35 [>>] pass
test 36 [--i] pass
test 37 [++i] pass
test 38 [i--] pass
test 39 [i++] pass
test 40 [+=] pass
test 41 [after +=] pass
test 42 [/=] pass
test 43 [after /=] pass
test 44 [.=] pass
test 45 [after .=] pass
passes: 45 failures: 0
PASS: arith
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/arith.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/arith_limits.exp ...
test 0 [string lmax] pass
test 1 [hex lmax] pass
test 2 [string lmin] pass
test 3 [hex lmin] pass
test 4 [lmax/-1] pass
test 5 [lmin/-1] pass
test 6 [lmax +1] pass
test 7 [lmin -1] pass
test 8 [string llmax] pass
test 9 [hex llmax] pass
test 10 [string llmin] pass
test 11 [hex llmin] pass
test 12 [llmax/-1] pass
test 13 [llmax*-1] pass
test 14 [llmin/-1] pass
test 15 [llmin*-1] pass
test 16 [llmax +1] pass
test 17 [llmin -1] pass
test 18 [llmax%1] pass
test 19 [llmin%1] pass
test 20 [0%1 ] pass
test 21 [0%lmax] pass
test 22 [1%lmax] pass
test 23 [0%lmin] pass
test 24 [1%lmin] pass
passes: 25 failures: 0
PASS: arith
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/arith_limits.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/control_limits.exp ...
ERROR: MAXNESTING exceeded near identifier 'recurse' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/control_limits.stp:4:14
ERROR: probe registration error (rc 1)
PASS: control_limits MAXNESTING (1)
ERROR: MAXACTION exceeded near identifier 'i' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/control_limits.stp:12:20
ERROR: probe registration error (rc 1)
PASS: control_limits MAXACTION (1)
ERROR: MAXSTRINGLEN reduced
ERROR: probe registration error (rc 1)
PASS: control_limits MAXSTRINGLEN small (1)
ERROR: MAXSTRINGLEN enlarged
ERROR: probe registration error (rc 1)
PASS: control_limits MAXSTRINGLEN large (1)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/control_limits.exp completed in 23 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/594real ms.
Pass 2: analyzed script: 5 probe(s), 9 function(s), 1 embed(s), 2 global(s) in 420usr/60sys/485real ms.
Pass 3: translated to C into "/tmp/stapspqTDU/stap_d6aab1f17082b6a28c56e5b9bc7655b9_4866.c" in 0usr/0sys/5real ms.
Pass 4: compiled C into "stap_d6aab1f17082b6a28c56e5b9bc7655b9_4866.ko" in 4220usr/320sys/4355real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp load generation
systemtap ending probe
ioblock: dasda 848880 W 1
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp shutdown and output
Pass 5: run completed in 250usr/1190sys/11580real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp 570 10 594 420 60 485 0 0 5 4220 320 4355 250 1190 11580
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.exp completed in 18 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/lket.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/595real ms.
FAIL: systemtap.samples/lket(pass1)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/lket.exp completed in 2 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/pfaults.exp ...
Page fault tracking, start time=1170966110
time=1170966111
staprun[17582] reads=1 writes=1 oom=0 sigbus=0 minor=0 major=1
expect[3770] reads=1 writes=18 oom=0 sigbus=0 minor=0 major=1
time=1170966112
time=1170966113
time=1170966114
time=1170966115
time=1170966116
time=1170966117
time=1170966118
time=1170966119
time=1170966120
automount[1468] reads=2 writes=2 oom=0 sigbus=0 minor=0 major=2
Page fault tracking, end time=1170966120
PASS: pfaults (2)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/pfaults.exp completed in 18 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/poll_map.exp ...
setroubleshootd called 83 times
rpc.idmapd called 12 times
init called 10 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 16 times
staprun called 9 times
automount called 4 times
setroubleshootd called 83 times
expect called 16 times
sendmail called 9 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 16 times
automount called 4 times
staprun called 2 times
setroubleshootd called 84 times
expect called 19 times
init called 5 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 16 times
rpc.idmapd called 12 times
automount called 4 times
staprun called 2 times
setroubleshootd called 83 times
expect called 16 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 16 times
sendmail called 9 times
automount called 4 times
staprun called 2 times
setroubleshootd called 83 times
expect called 16 times
staprun called 7 times
automount called 4 times
setroubleshootd called 80 times
expect called 16 times
init called 5 times
automount called 4 times
staprun called 2 times
setroubleshootd called 84 times
expect called 16 times
rpc.idmapd called 12 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 17 times
automount called 4 times
staprun called 2 times
setroubleshootd called 83 times
expect called 16 times
sendmail called 9 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 17 times
automount called 4 times
staprun called 2 times
setroubleshootd called 83 times
expect called 19 times
init called 5 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 19 times
rpc.idmapd called 12 times
automount called 4 times
staprun called 2 times
setroubleshootd called 84 times
expect called 16 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 16 times
sendmail called 9 times
automount called 4 times
staprun called 2 times
setroubleshootd called 83 times
expect called 16 times
staprun called 7 times
automount called 4 times
setroubleshootd called 80 times
expect called 19 times
init called 5 times
automount called 4 times
staprun called 2 times
setroubleshootd called 83 times
expect called 16 times
rpc.idmapd called 12 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 16 times
automount called 4 times
staprun called 2 times
setroubleshootd called 84 times
expect called 16 times
sendmail called 9 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 19 times
automount called 4 times
staprun called 2 times
setroubleshootd called 83 times
expect called 16 times
init called 5 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 17 times
rpc.idmapd called 12 times
automount called 4 times
staprun called 2 times
setroubleshootd called 83 times
expect called 16 times
syslogd called 6 times
automount called 4 times
staprun called 2 times
setroubleshootd called 80 times
expect called 19 times
sendmail called 9 times
automount called 4 times
staprun called 2 times
setroubleshootd called 84 times
expect called 16 times
staprun called 7 times
automount called 4 times
auditd called 1 times
setroubleshootd called 80 times
expect called 16 times
init called 5 times
automount called 4 times
staprun called 2 times
setroubleshootd called 83 times
expect called 16 times
rpc.idmapd called 12 times
automount called 4 times
staprun called 2 times
SUCCESS
PASS: poll_map (1)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/poll_map.exp completed in 50 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/primes.exp ...
odds[0] = 1
odds[1] = 3
odds[3] = 7
odds[4] = 9
evens[2] = 6
evens[1] = 4
evens[0] = 2
PASS: primes
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/primes.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/profile.exp ...
setroubleshootd(1364) kernel.function("sys_futex@kernel/futex.c:1812") count=354 ttime=1979
setroubleshootd(1364) kernel.function("sys_poll@fs/select.c:742") count=50 ttime=4608951
automount(1468) kernel.function("sys_futex@kernel/futex.c:1812") count=10 ttime=3999246
rpc.idmapd(1418) kernel.function("sys_rt_sigaction@kernel/signal.c:2376") count=6 ttime=44
automount(1468) kernel.function("sys_gettimeofday@kernel/time.c:102") count=5 ttime=30
automount(1468) kernel.function("sys_clock_gettime@kernel/posix-timers.c:913") count=5 ttime=27
init(1) kernel.function("sys_wait4@kernel/exit.c:1502") count=4 ttime=74
init(1) kernel.function("sys_newstat@fs/stat.c:247") count=4 ttime=71
setroubleshootd(1364) kernel.function("sys_gettimeofday@kernel/time.c:102") count=3 ttime=19
setroubleshootd(1364) kernel.function("sys_select@fs/select.c:386") count=3 ttime=270469
rpc.idmapd(1418) kernel.function("sys_rt_sigprocmask@kernel/signal.c:1884") count=3 ttime=28
staprun(20155) kernel.function("sys_read@fs/read_write.c:343") count=2 ttime=20
init(1) kernel.function("sys_gettimeofday@kernel/time.c:102") count=2 ttime=11
init(1) kernel.function("sys_newfstat@fs/stat.c:292") count=2 ttime=10
init(1) kernel.function("sys_select@fs/select.c:386") count=2 ttime=4999571
sendmail(1559) kernel.function("sys_rt_sigprocmask@kernel/signal.c:1884") count=2 ttime=16
sendmail(1559) kernel.function("sys_gettimeofday@kernel/time.c:102") count=2 ttime=13
rpc.idmapd(1418) kernel.function("sys_gettimeofday@kernel/time.c:102") count=2 ttime=12
init(1) kernel.function("sys_sigreturn@arch/s390/kernel/signal.c:176") count=1 ttime=4
sendmail(1559) kernel.function("sys_open@fs/open.c:1105") count=1 ttime=91
sendmail(1559) kernel.function("sys_newfstat@fs/stat.c:292") count=1 ttime=5
sendmail(1559) kernel.function("sys_read@fs/read_write.c:343") count=1 ttime=17
sendmail(1559) kernel.function("sys_close@fs/open.c:1174") count=1 ttime=15
sendmail(1559) kernel.function("sys_select@fs/select.c:386") count=1 ttime=0
rpc.idmapd(1418) kernel.function("sys_epoll_wait@fs/eventpoll.c:651") count=1 ttime=0
PASS: profile (25)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/profile.exp completed in 36 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/queue_demo.exp ...
block-read: 9 ops/s, 0.958 qlen, 194857 await, 98810 svctm, 69% wait, 72% util
block-write: 8 ops/s, 1.022 qlen, 233608 await, 113964 svctm, 78% wait, 68% util
block-read: 10 ops/s, 0.992 qlen, 183797 await, 87327 svctm, 74% wait, 63% util
block-write: 9 ops/s, 0.995 qlen, 199663 await, 94053 svctm, 72% wait, 71% util
block-read: 10 ops/s, 0.846 qlen, 165673 await, 86315 svctm, 66% wait, 73% util
block-write: 9 ops/s, 0.822 qlen, 188682 await, 103535 svctm, 61% wait, 71% util
PASS: queue_demo
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/queue_demo.exp completed in 19 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/symbols.exp ...
0x0000000000000000
0x0000000080000000 : _stp_work_queue+0x3d8d8a50/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
0x00000000c0000000 : _stp_work_queue+0x7d8d8a50/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
0x00000000e0000000 : _stp_work_queue+0x9d8d8a50/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
0x00000000f0000000 : _stp_work_queue+0xad8d8a50/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
0x00000000ffffffff : _stp_work_queue+0xbd8d8a4f/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
0xffffffff00000000 : _stp_work_queue+0xfffffffebd8d8a50/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
0xffffffff80000000 : _stp_work_queue+0xffffffff3d8d8a50/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
0xffffffff80120000 : _stp_work_queue+0xffffffff3d9f8a50/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
0xffffffff88000000 : _stp_work_queue+0xffffffff458d8a50/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
0xffffffffffffffff : _stp_work_queue+0xffffffffbd8d8a4f/0x0 [stap_580a8b3403400b3dded6729c976a9b98_693]
PASS: symbols (11)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/symbols.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/syscalls1.exp ...
# globals
count:long
# functions
pid:long ()
pp:string ()
exit:unknown ()
# probes
kernel.function("sys_execve@arch/s390/kernel/process.c:323")
kernel.function("sys_vfork@arch/s390/kernel/process.c:314")
kernel.function("sys_clone@arch/s390/kernel/process.c:288")
kernel.function("sys_fork@arch/s390/kernel/process.c:283")
kernel.function("sys_ipc@arch/s390/kernel/sys_s390.c:148")
kernel.function("sys_pipe@arch/s390/kernel/sys_s390.c:39")
kernel.function("sys_mmap2@arch/s390/kernel/sys_s390.c:94")
kernel.function("sys_sigaltstack@arch/s390/kernel/signal.c:108")
kernel.function("sys_rt_sigreturn@arch/s390/kernel/signal.c:202")
kernel.function("sys_sigsuspend@arch/s390/kernel/signal.c:58")
kernel.function("sys_sigaction@arch/s390/kernel/signal.c:76")
kernel.function("sys_sigreturn@arch/s390/kernel/signal.c:176")
kernel.function("sys_sched_get_priority_max@kernel/sched.c:4632")
kernel.function("sys_sched_get_priority_min@kernel/sched.c:4656")
kernel.function("sys_nice@kernel/sched.c:3980")
kernel.function("sys_sched_setparam@kernel/sched.c:4233")
kernel.function("sys_sched_setscheduler@kernel/sched.c:4219")
kernel.function("sys_sched_yield@kernel/sched.c:4452")
kernel.function("sys_sched_setaffinity@kernel/sched.c:4365")
kernel.function("sys_sched_rr_get_interval@kernel/sched.c:4681")
kernel.function("sys_sched_getscheduler@kernel/sched.c:4242")
kernel.function("sys_sched_getparam@kernel/sched.c:4269")
kernel.function("sys_sched_getaffinity@kernel/sched.c:4427")
kernel.function("sys_set_tid_address@kernel/fork.c:921")
kernel.function("sys_unshare@kernel/fork.c:1571")
kernel.function("sys_personality@kernel/exec_domain.c:194")
kernel.function("sys_syslog@kernel/printk.c:348")
kernel.function("sys_wait4@kernel/exit.c:1502")
kernel.function("sys_waitid@kernel/exit.c:1468")
kernel.function("sys_exit_group@kernel/exit.c:943")
kernel.function("sys_exit@kernel/exit.c:904")
kernel.function("sys_setitimer@kernel/itimer.c:335")
kernel.function("sys_getitimer@kernel/itimer.c:114")
kernel.function("sys_adjtimex@kernel/time.c:379")
kernel.function("sys_settimeofday@kernel/time.c:186")
kernel.function("sys_gettimeofday@kernel/time.c:102")
kernel.function("sys_sysctl@kernel/sysctl.c:1265")
kernel.function("sys_capget@kernel/capability.c:45")
kernel.function("sys_capset@kernel/capability.c:172")
kernel.function("sys_ptrace@kernel/ptrace.c:911")
kernel.function("sys_getpid@kernel/timer.c:1322")
kernel.function("sys_getppid@kernel/timer.c:1333")
kernel.function("sys_getuid@kernel/timer.c:1344")
kernel.function("sys_geteuid@kernel/timer.c:1350")
kernel.function("sys_getgid@kernel/timer.c:1356")
kernel.function("sys_getegid@kernel/timer.c:1362")
kernel.function("sys_gettid@kernel/timer.c:1469")
kernel.function("sys_sysinfo@kernel/timer.c:1477")
kernel.function("sys_alarm@kernel/timer.c:1299")
kernel.function("sys_pause@kernel/signal.c:2453")
kernel.function("sys_sigpending@kernel/signal.c:2310")
kernel.function("sys_rt_sigpending@kernel/signal.c:1944")
kernel.function("sys_rt_sigsuspend@kernel/signal.c:2463")
kernel.function("sys_signal@kernel/signal.c:2435")
kernel.function("sys_kill@kernel/signal.c:2091")
kernel.function("sys_tkill@kernel/signal.c:2160")
kernel.function("sys_tgkill@kernel/signal.c:2147")
kernel.function("sys_restart_syscall@kernel/signal.c:1830")
kernel.function("sys_rt_sigtimedwait@kernel/signal.c:2017")
kernel.function("sys_rt_sigqueueinfo@kernel/signal.c:2170")
kernel.function("sys_rt_sigaction@kernel/signal.c:2376")
kernel.function("sys_rt_sigprocmask@kernel/signal.c:1884")
kernel.function("sys_sigprocmask@kernel/signal.c:2322")
kernel.function("sys_getresuid@kernel/sys.c:1075")
kernel.function("sys_getresgid@kernel/sys.c:1127")
kernel.function("sys_umask@kernel/sys.c:1957")
kernel.function("sys_getgroups@kernel/sys.c:1587")
kernel.function("sys_prctl@kernel/sys.c:1964")
kernel.function("sys_getrusage@kernel/sys.c:1950")
kernel.function("sys_setrlimit@kernel/sys.c:1788")
kernel.function("sys_setsid@kernel/sys.c:1377")
kernel.function("sys_setfsgid@kernel/sys.c:1176")
kernel.function("sys_setfsuid@kernel/sys.c:1145")
kernel.function("sys_setgroups@kernel/sys.c:1620")
kernel.function("sys_getsid@kernel/sys.c:1355")
kernel.function("sys_setpgid@kernel/sys.c:1251")
kernel.function("sys_getpgid@kernel/sys.c:1323")
kernel.function("sys_getpgrp@kernel/sys.c:1347")
kernel.function("sys_setpriority@kernel/sys.c:463")
kernel.function("sys_getpriority@kernel/sys.c:523")
kernel.function("sys_setreuid@kernel/sys.c:928")
kernel.function("sys_setuid@kernel/sys.c:991")
kernel.function("sys_setresuid@kernel/sys.c:1031")
kernel.function("sys_setregid@kernel/sys.c:801")
kernel.function("sys_setgid@kernel/sys.c:852")
kernel.function("sys_setresgid@kernel/sys.c:1089")
kernel.function("sys_reboot@kernel/sys.c:682")
kernel.function("sys_times@kernel/sys.c:1200")
kernel.function("sys_newuname@kernel/sys.c:1674")
kernel.function("sys_gethostname@kernel/sys.c:1707")
kernel.function("sys_sethostname@kernel/sys.c:1685")
kernel.function("sys_setdomainname@kernel/sys.c:1730")
kernel.function("sys_getrlimit@kernel/sys.c:1751")
kernel.function("sys_old_getrlimit@kernel/sys.c:1770")
kernel.function("sys_clock_nanosleep@kernel/posix-timers.c:961")
kernel.function("sys_clock_getres@kernel/posix-timers.c:930")
kernel.function("sys_clock_settime@kernel/posix-timers.c:900")
kernel.function("sys_timer_create@kernel/posix-timers.c:436")
kernel.function("sys_clock_gettime@kernel/posix-timers.c:913")
kernel.function("sys_timer_gettime@kernel/posix-timers.c:652")
kernel.function("sys_timer_getoverrun@kernel/posix-timers.c:682")
kernel.function("sys_timer_settime@kernel/posix-timers.c:753")
kernel.function("sys_timer_delete@kernel/posix-timers.c:807")
kernel.function("sys_ni_syscall@kernel/sys_ni.c:11")
kernel.function("sys_nanosleep@kernel/hrtimer.c:765")
kernel.function("sys_set_robust_list@kernel/futex.c:1596")
kernel.function("sys_futex@kernel/futex.c:1812")
kernel.function("sys_get_robust_list@kernel/futex.c:1617")
kernel.function("sys_delete_module@kernel/module.c:649")
kernel.function("sys_init_module@kernel/module.c:1894")
kernel.function("sys_acct@kernel/acct.c:252")
kernel.function("sys_kexec_load@kernel/kexec.c:918")
kernel.function("sys_readahead@mm/filemap.c:1331")
kernel.function("sys_fadvise64_64@mm/fadvise.c:28")
kernel.function("sys_fadvise64@mm/fadvise.c:121")
kernel.function("sys_remap_file_pages@mm/fremap.c:153")
kernel.function("sys_madvise@mm/madvise.c:257")
kernel.function("sys_mincore@mm/mincore.c:114")
kernel.function("sys_munlockall@mm/mlock.c:214")
kernel.function("sys_mlockall@mm/mlock.c:188")
kernel.function("sys_munlock@mm/mlock.c:151")
kernel.function("sys_mlock@mm/mlock.c:125")
kernel.function("sys_munmap@mm/mmap.c:1929")
kernel.function("sys_brk@mm/mmap.c:238")
kernel.function("sys_mprotect@mm/mprotect.c:220")
kernel.function("sys_mremap@mm/mremap.c:408")
kernel.function("sys_msync@mm/msync.c:31")
kernel.function("sys_swapoff@mm/swapfile.c:1139")
kernel.function("sys_swapon@mm/swapfile.c:1365")
kernel.function("sys_vhangup@fs/open.c:1204")
kernel.function("sys_openat@fs/open.c:1119")
kernel.function("sys_open@fs/open.c:1105")
kernel.function("sys_creat@fs/open.c:1138")
kernel.function("sys_fchown@fs/open.c:785")
kernel.function("sys_lchown@fs/open.c:771")
kernel.function("sys_fchownat@fs/open.c:752")
kernel.function("sys_chown@fs/open.c:738")
kernel.function("sys_fchmodat@fs/open.c:664")
kernel.function("sys_chmod@fs/open.c:698")
kernel.function("sys_faccessat@fs/open.c:493")
kernel.function("sys_access@fs/open.c:540")
kernel.function("sys_utime@fs/open.c:370")
kernel.function("sys_chroot@fs/open.c:598")
kernel.function("sys_fchdir@fs/open.c:568")
kernel.function("sys_chdir@fs/open.c:545")
kernel.function("sys_futimesat@fs/open.c:473")
kernel.function("sys_utimes@fs/open.c:482")
kernel.function("sys_ftruncate@fs/open.c:333")
kernel.function("sys_truncate@fs/open.c:284")
kernel.function("sys_fstatfs64@fs/open.c:180")
kernel.function("sys_close@fs/open.c:1174")
kernel.function("sys_fchmod@fs/open.c:626")
kernel.function("sys_statfs@fs/open.c:126")
kernel.function("sys_statfs64@fs/open.c:143")
kernel.function("sys_fstatfs@fs/open.c:162")
kernel.function("sys_sendfile64@fs/read_write.c:756")
kernel.function("sys_sendfile@fs/read_write.c:737")
kernel.function("sys_writev@fs/read_write.c:622")
kernel.function("sys_lseek@fs/read_write.c:129")
kernel.function("sys_llseek@fs/read_write.c:155")
kernel.function("sys_read@fs/read_write.c:343")
kernel.function("sys_write@fs/read_write.c:361")
kernel.function("sys_pread64@fs/read_write.c:381")
kernel.function("sys_pwrite64@fs/read_write.c:402")
kernel.function("sys_readv@fs/read_write.c:601")
kernel.function("sys_bdflush@fs/buffer.c:3056")
kernel.function("sys_fdatasync@fs/buffer.c:372")
kernel.function("sys_fsync@fs/buffer.c:367")
kernel.function("sys_sync@fs/buffer.c:284")
kernel.function("sys_ustat@fs/super.c:487")
kernel.function("sys_readlinkat@fs/stat.c:304")
kernel.function("sys_readlink@fs/stat.c:330")
kernel.function("sys_newfstatat@fs/stat.c:271")
kernel.function("sys_newlstat@fs/stat.c:258")
kernel.function("sys_newstat@fs/stat.c:247")
kernel.function("sys_newfstat@fs/stat.c:292")
kernel.function("sys_uselib@fs/exec.c:125")
kernel.function("sys_renameat@fs/namei.c:2555")
kernel.function("sys_rename@fs/namei.c:2574")
kernel.function("sys_symlinkat@fs/namei.c:2197")
kernel.function("sys_symlink@fs/namei.c:2230")
kernel.function("sys_unlink@fs/namei.c:2170")
kernel.function("sys_unlinkat@fs/namei.c:2159")
kernel.function("sys_rmdir@fs/namei.c:2071")
kernel.function("sys_mkdirat@fs/namei.c:1933")
kernel.function("sys_mkdir@fs/namei.c:1964")
kernel.function("sys_mknodat@fs/namei.c:1857")
kernel.function("sys_mknod@fs/namei.c:1906")
kernel.function("sys_linkat@fs/namei.c:2284")
kernel.function("sys_link@fs/namei.c:2326")
kernel.function("sys_fcntl@fs/fcntl.c:357")
kernel.function("sys_dup@fs/fcntl.c:196")
kernel.function("sys_dup2@fs/fcntl.c:140")
kernel.function("sys_ioctl@fs/ioctl.c:160")
kernel.function("sys_getdents64@fs/readdir.c:271")
kernel.function("sys_getdents@fs/readdir.c:185")
kernel.function("sys_poll@fs/select.c:742")
kernel.function("sys_pselect7@fs/select.c:440")
kernel.function("sys_pselect6@fs/select.c:525")
kernel.function("sys_ppoll@fs/select.c:765")
kernel.function("sys_select@fs/select.c:386")
kernel.function("sys_flock@fs/locks.c:1570")
kernel.function("sys_getcwd@fs/dcache.c:1794")
kernel.function("sys_sysfs@fs/filesystems.c:182")
kernel.function("sys_umount@fs/namespace.c:641")
kernel.function("sys_oldumount@fs/namespace.c:671")
kernel.function("sys_mount@fs/namespace.c:1552")
kernel.function("sys_pivot_root@fs/namespace.c:1689")
kernel.function("sys_io_destroy@fs/aio.c:1293")
kernel.function("sys_io_getevents@fs/aio.c:1704")
kernel.function("sys_io_setup@fs/aio.c:1255")
kernel.function("sys_io_submit@fs/aio.c:1564")
kernel.function("sys_io_cancel@fs/aio.c:1639")
kernel.function("sys_flistxattr@fs/xattr.c:403")
kernel.function("sys_llistxattr@fs/xattr.c:389")
kernel.function("sys_listxattr@fs/xattr.c:375")
kernel.function("sys_fgetxattr@fs/xattr.c:320")
kernel.function("sys_lgetxattr@fs/xattr.c:306")
kernel.function("sys_getxattr@fs/xattr.c:291")
kernel.function("sys_fremovexattr@fs/xattr.c:463")
kernel.function("sys_lremovexattr@fs/xattr.c:449")
kernel.function("sys_removexattr@fs/xattr.c:435")
kernel.function("sys_lsetxattr@fs/xattr.c:221")
kernel.function("sys_setxattr@fs/xattr.c:206")
kernel.function("sys_fsetxattr@fs/xattr.c:236")
kernel.function("sys_ioprio_get@fs/ioprio.c:167")
kernel.function("sys_ioprio_set@fs/ioprio.c:58")
kernel.function("sys_vmsplice@fs/splice.c:1275")
kernel.function("sys_splice@fs/splice.c:1295")
kernel.function("sys_tee@fs/splice.c:1520")
kernel.function("sys_sync_file_range@fs/sync.c:65")
kernel.function("sys_inotify_rm_watch@fs/inotify_user.c:650")
kernel.function("sys_inotify_init@fs/inotify_user.c:535")
kernel.function("sys_inotify_add_watch@fs/inotify_user.c:606")
kernel.function("sys_epoll_wait@fs/eventpoll.c:651")
kernel.function("sys_epoll_create@fs/eventpoll.c:499")
kernel.function("sys_epoll_ctl@fs/eventpoll.c:547")
kernel.function("sys_nfsservctl@fs/nfsctl.c:91")
kernel.function("sys_quotactl@fs/quota.c:347")
kernel.function("sys_lookup_dcookie@fs/dcookies.c:146")
kernel.function("sys_msgget@ipc/msg.c:212")
kernel.function("sys_msgctl@ipc/msg.c:339")
kernel.function("sys_msgrcv@ipc/msg.c:693")
kernel.function("sys_msgsnd@ipc/msg.c:580")
kernel.function("sys_semtimedop@ipc/sem.c:1064")
kernel.function("sys_semop@ipc/sem.c:1225")
kernel.function("sys_semctl@ipc/sem.c:872")
kernel.function("sys_semget@ipc/sem.c:215")
kernel.function("sys_shmat@ipc/shm.c:806")
kernel.function("sys_shmget@ipc/shm.c:273")
kernel.function("sys_shmdt@ipc/shm.c:822")
kernel.function("sys_shmctl@ipc/shm.c:429")
kernel.function("sys_mq_getsetattr@ipc/mqueue.c:1107")
kernel.function("sys_mq_timedreceive@ipc/mqueue.c:900")
kernel.function("sys_mq_open@ipc/mqueue.c:656")
kernel.function("sys_mq_unlink@ipc/mqueue.c:722")
kernel.function("sys_mq_timedsend@ipc/mqueue.c:813")
kernel.function("sys_mq_notify@ipc/mqueue.c:983")
kernel.function("sys_keyctl@security/keys/keyctl.c:1064")
kernel.function("sys_add_key@security/keys/keyctl.c:60")
kernel.function("sys_request_key@security/keys/keyctl.c:139")
kernel.function("sys_shutdown@net/socket.c:1753")
kernel.function("sys_listen@net/socket.c:1384")
kernel.function("sys_sendmsg@net/socket.c:1780")
kernel.function("sys_getsockopt@net/socket.c:1728")
kernel.function("sys_setsockopt@net/socket.c:1699")
kernel.function("sys_socketpair@net/socket.c:1286")
kernel.function("sys_socket@net/socket.c:1260")
kernel.function("sys_sendto@net/socket.c:1586")
kernel.function("sys_send@net/socket.c:1632")
kernel.function("sys_connect@net/socket.c:1498")
kernel.function("sys_bind@net/socket.c:1356")
kernel.function("sys_recvmsg@net/socket.c:1878")
kernel.function("sys_recvfrom@net/socket.c:1644")
kernel.function("sys_recv@net/socket.c:1689")
kernel.function("sys_getpeername@net/socket.c:1558")
kernel.function("sys_getsockname@net/socket.c:1528")
kernel.function("sys_accept@net/socket.c:1415")
kernel.function("sys_socketcall@net/socket.c:1992")
kernel.function("sys_tux@net/socket.c:2164")
PASS: syscalls-count (280)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/syscalls1.exp completed in 1 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/syscalls2.exp ...
1 kernel.function("sys_wait4@kernel/exit.c:1502")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_read@fs/read_write.c:343")
1 kernel.function("sys_wait4@kernel/exit.c:1502")
1 kernel.function("sys_wait4@kernel/exit.c:1502")
24700 kernel.function("sys_newfstat@fs/stat.c:292")
1 kernel.function("sys_wait4@kernel/exit.c:1502")
1 kernel.function("sys_sigreturn@arch/s390/kernel/signal.c:176")
1 kernel.function("sys_gettimeofday@kernel/time.c:102")
1 kernel.function("sys_newstat@fs/stat.c:247")
24700 kernel.function("sys_write@fs/read_write.c:361")
1 kernel.function("sys_newfstat@fs/stat.c:292")
1 kernel.function("sys_newstat@fs/stat.c:247")
1 kernel.function("sys_select@fs/select.c:386")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
3770 kernel.function("sys_futex@kernel/futex.c:1812")
24700 kernel.function("sys_read@fs/read_write.c:343")
3770 kernel.function("sys_select@fs/select.c:386")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
3770 kernel.function("sys_futex@kernel/futex.c:1812")
24700 kernel.function("sys_read@fs/read_write.c:343")
3770 kernel.function("sys_gettimeofday@kernel/time.c:102")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
3770 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
3770 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
3770 kernel.function("sys_gettimeofday@kernel/time.c:102")
24700 kernel.function("sys_read@fs/read_write.c:343")
3770 kernel.function("sys_gettimeofday@kernel/time.c:102")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
24700 kernel.function("sys_write@fs/read_write.c:361")
24700 kernel.function("sys_read@fs/read_write.c:343")
PASS: syscalls-run (101)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/syscalls2.exp completed in 18 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/sysopen.exp ...
sendmail opened /proc/loadavg
automount opened /proc/mounts
automount opened /proc/mounts
sendmail opened /proc/loadavg
PASS: sysopen (3)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/sysopen.exp completed in 16 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/596real ms.
Pass 2: analyzed script: 7 probe(s), 14 function(s), 2 embed(s), 12 global(s) in 410usr/70sys/481real ms.
Pass 3: translated to C into "/tmp/stapHqfYQB/stap_dd8973e1d54428e216d4950077063d1f_5696.c" in 10usr/0sys/11real ms.
Pass 4: compiled C into "stap_dd8973e1d54428e216d4950077063d1f_5696.ko" in 6390usr/360sys/6531real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp load generation
systemtap ending probe
TCP totalbytes: 204800
UID PID SIZE NAME PORT SOURCE RTO RCVMSS SSTHRES CWND STATE
0 27192 102400 tcptest.tcl 49396 127.0.0.1 210000 0 0 0 0
0 27194 102400 tcptest.tcl 0 0 16256 100 2 8
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp shutdown and output
Pass 5: run completed in 270usr/1220sys/3840real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp 570 10 596 410 70 481 10 0 11 6390 360 6531 270 1220 3840
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.exp completed in 12 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/transport.exp ...
total missing: 0
repeats: 0
last event logged: 1000
test passed
PASS: transport normal - procfs (1)
total missing: 0
repeats: 0
last event logged: 1000
test passed
PASS: transport normal - relayfs (1)
total missing: 0
repeats: 0
last event logged: 10000
test passed
PASS: transport fill staging buffer - procfs (1)
total missing: 0
repeats: 0
last event logged: 10000
test passed
PASS: transport fill staging buffer - relayfs (1)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/transport.exp completed in 34 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/all_kernel_functions.exp ...
UNTESTED: all_kernel_functions is disabled
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/all_kernel_functions.exp completed in 0 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/current.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/20sys/597real ms.
semantic error: no match for probe point while resolving probe point kernel.function("__switch_to")
FAIL: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/current.stp compilation
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/current.exp completed in 1 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/whitelist.exp ...
UNTESTED: whitelist is disabled
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/whitelist.exp completed in 0 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/isinstr.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/20sys/594real ms.
Pass 2: analyzed script: 1 probe(s), 2 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapiLQenk/stap_beda5f3349840240a298742a4023659c_846.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_beda5f3349840240a298742a4023659c_846.ko" in 3510usr/290sys/3650real ms.
Pass 5: starting run.
"foo" is in "abcfoobad"
"foo" is NOT in "abcdefg"
"" is in ""
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/isinstr.stp passed
Pass 5: run completed in 250usr/1180sys/1458real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/isinstr.stp 570 20 594 10 0 10 0 0 3 3510 290 3650 250 1180 1458
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/isinstr.exp completed in 5 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/strlen.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/597real ms.
Pass 2: analyzed script: 1 probe(s), 2 function(s), 0 embed(s), 0 global(s) in 10usr/10sys/10real ms.
Pass 3: translated to C into "/tmp/stapybaQNb/stap_a9e2f7cb49ea45a9fef584abbc15771b_848.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_a9e2f7cb49ea45a9fef584abbc15771b_848.ko" in 3430usr/290sys/3577real ms.
Pass 5: starting run.
strlen("") = 0
strlen("1") = 1
strlen("0123456789") = 10
strlen("012345678901234567890123456789012345678901234567890123456789012") = 63
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/strlen.stp passed
Pass 5: run completed in 250usr/1190sys/1511real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/strlen.stp 570 10 597 10 10 10 0 0 2 3430 290 3577 250 1190 1511
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/strlen.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/substr.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/595real ms.
Pass 2: analyzed script: 1 probe(s), 2 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/staprExQPU/stap_9dd744dd308780488ba60fe7911b5b11_1296.c" in 0usr/0sys/7real ms.
Pass 4: compiled C into "stap_9dd744dd308780488ba60fe7911b5b11_1296.ko" in 4040usr/300sys/4187real ms.
Pass 5: starting run.
Hello World!
0,0:
-1,10:
10,0:
0,1: H
1,1: e
2,1: l
2,5: llo W
6,1: W
11,1: !
11,100: !
12,1:
0,10: Hello Worl
0,100: Hello World!
0,100000: Hello World!
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/substr.stp passed
Pass 5: run completed in 260usr/1180sys/1456real ms.
metric: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/substr.stp 570 10 595 0 0 11 0 0 7 4040 300 4187 260 1180 1456
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/substr.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/text_str.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/599real ms.
Pass 2: analyzed script: 1 probe(s), 3 function(s), 0 embed(s), 0 global(s) in 10usr/10sys/11real ms.
Pass 3: translated to C into "/tmp/stapA700qf/stap_c4d9630d2d67b9abc900518e5a9a0792_2850.c" in 10usr/0sys/15real ms.
Pass 4: compiled C into "stap_c4d9630d2d67b9abc900518e5a9a0792_2850.ko" in 5220usr/310sys/5368real ms.
Pass 5: starting run.
a=1234567890
b=12345678901234567890
c=123456789012345678901234567890
----- Using text_str -----
a=1234567890
b=12345678901234567890
c=123456789012345678901234567890
----- Using text_strn -----
a=1234567890
b=12345678901234567890
c=123456789012345678901234567890
----- Using text_strn len = 10 -----
a=1234567890
b=1234567890
c=1234567890
----- Using text_strn quoted -----
a="1234567890"
b="12345678901234567890"
c="123456789012345678901234567890"
----- Using text_strn len=10, quoted -----
a="12345"...
b="12345"...
c="12345"...
----- Using text_strn len=12, quoted -----
a="1234567890"
b="1234567"...
c="1234567"...
----- Using text_str -----
a=\n\nXYZZY\31
b=?\31\a\n\n\r\n
c=\n\nXYZZY\31?\31\a\n\n\r\n
----- Using text_strn -----
a=\n\nXYZZY\31
b=?\31\a\n\n\r\n
c=\n\nXYZZY\31?\31\a\n\n\r\n
----- Using text_strn len = 10 -----
a=\n\nXYZZY
b=?\31\a\n\n
c=\n\nXYZZY
----- Using text_strn len = 12 -----
a=\n\nXYZZY\31
b=?\31\a\n\n\r
c=\n\nXYZZY\31
----- Using text_strn quoted -----
a="\n\nXYZZY\31"
b="?\31\a\n\n\r\n"
c="\n\nXYZZY\31?\31\a\n\n\r\n"
----- Using text_strn len=10, quoted -----
a="\n\nX"...
b="?\31\"...
c="\n\nX"...
----- Using text_strn len=14, quoted -----
a="\n\nXYZZY\31"
b="?\31\a\n\"...
c="\n\nXYZZY"...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/text_str.stp passed
Pass 5: run completed in 250usr/1190sys/1464real ms.
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/text_str.exp completed in 8 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.syscall/test.exp ...
Executing on host: gcc access.c -lm -o access (timeout = 300)
Testing access
FAIL: access
access FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
access: access \("foobar1", F_OK\) = 0
access: access \("foobar1", R_OK\) = 0
access: access \("foobar1", W_OK\) = 0
access: access \("foobar1", X_OK\) = -[\-0-9]+ \(EACCES\)
access: access \("foobar1", W_OK \|R_OK\) = 0
access: access \("foobar1", X_OK \|W_OK \|R_OK\) = -[\-0-9]+ \(EACCES\)
Executing on host: gcc acct.c -lm -o acct (timeout = 300)
Testing acct
FAIL: acct
acct FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
acct: acct \("foobar"\) = -[\-0-9]+
Executing on host: gcc alarm.c -lm -o alarm (timeout = 300)
Testing alarm
FAIL: alarm
alarm FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
alarm: alarm \(1\) = 0
alarm: pause \(\) =
alarm: alarm \(0\) = 0
alarm: nanosleep \(\[1.000000000\], [x0-9a-fA-F]+\) = 0
alarm: nanosleep \(\[0.001234000\], 0x[0]+\) = 0
alarm: nanosleep \(\[0.000000789\], [x0-9a-fA-F]+\) = 0
alarm: nanosleep \(\[0.000000789\], 0x[0]+\) = 0
Executing on host: gcc chmod.c -lm -o chmod (timeout = 300)
Testing chmod
FAIL: chmod
chmod FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
chmod: open \("foobar", O_WRONLY\|O_CREAT, 0666\) = 4
chmod: chmod \("foobar", 0644\) = 0
chmod: fchmod \(4, 0444\) = 0
chmod: chown \("foobar", 5000, [\-0-9]+\) =
chmod: chown \("foobar", [\-0-9]+, 5001\) =
chmod: fchown \(4, 5002, [\-0-9]+\) =
chmod: fchown \(4, [\-0-9]+, 5003\) =
chmod: lchown \("foobar", 5004, [\-0-9]+\) =
chmod: lchown \("foobar", [\-0-9]+, 5005\) =
Executing on host: gcc clock.c -lm -o clock (timeout = 300)
clock.c: In function â??mainâ??:
clock.c:15: error: â??SYS_timeâ?? undeclared (first use in this function)
clock.c:15: error: (Each undeclared identifier is reported only once
clock.c:15: error: for each function it appears in.)
compiler exited with status 1
output is:
clock.c: In function â??mainâ??:
clock.c:15: error: â??SYS_timeâ?? undeclared (first use in this function)
clock.c:15: error: (Each undeclared identifier is reported only once
clock.c:15: error: for each function it appears in.)
Testing clock
FAIL: clock
clock FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
clock: time \([x0-9a-fA-F]+\) = [\-0-9]+
clock: time \(0x[0]+\) = [\-0-9]+
clock: gettimeofday \([x0-9a-fA-F]+, 0x[0]+\) = 0
clock: settimeofday \(\[[\-0-9]+.[\-0-9]+\], NULL\) =
clock: clock_gettime \(CLOCK_REALTIME, [x0-9a-fA-F]+\) = 0
clock: clock_settime \(CLOCK_REALTIME, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_REALTIME, [x0-9a-fA-F]+\) = 0
clock: clock_gettime \(CLOCK_MONOTONIC, [x0-9a-fA-F]+\) = 0
clock: clock_settime \(CLOCK_MONOTONIC, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_MONOTONIC, [x0-9a-fA-F]+\) = 0
clock: clock_gettime \(CLOCK_PROCESS_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_settime \(CLOCK_PROCESS_CPUTIME_ID, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_PROCESS_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_gettime \(CLOCK_THREAD_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_settime \(CLOCK_THREAD_CPUTIME_ID, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_THREAD_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_gettime \(CLOCK_REALTIME, [x0-9a-fA-F]+\) = 0
clock: clock_nanosleep \(CLOCK_REALTIME, TIMER_ABSTIME, \[[\-0-9]+.[\-0-9]+\], [x0-9a-fA-F]+\) = 0
clock: clock_nanosleep \(CLOCK_REALTIME, 0, \[[\-0-9]+.[\-0-9]+\], [x0-9a-fA-F]+\) = 0
Executing on host: gcc dir.c -lm -o dir (timeout = 300)
Testing dir
FAIL: dir
dir FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
dir: mkdir \("foobar", 0765\) =
dir: chdir \("foobar"\) = 0
dir: chdir \(".."\) = 0
dir: open \("foobar", O_RDONLY\) = 4
dir: fchdir \(4\) = 0
dir: chdir \(".."\) = 0
dir: close \(4\) = 0
dir: rmdir \("foobar"\) = 0
dir: open \(".", O_RDONLY\) = 4
dir: mkdirat \(4, "xyzzy", 0765\) = 0
dir: close \(4\) = 0
dir: rmdir \("xyzzy"\) =
Executing on host: gcc forkwait.c -lm -o forkwait (timeout = 300)
Testing forkwait
FAIL: forkwait
forkwait FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
forkwait: clone \(CLONE_CHILD_CLEARTID\|CLONE_CHILD_SETTID\) = [\-0-9]+
forkwait: wait4 \([\-0-9]+, [x0-9a-fA-F]+, WNOHANG, [x0-9a-fA-F]+\) = [\-0-9]+
Executing on host: gcc itimer.c -lm -o itimer (timeout = 300)
Testing itimer
FAIL: itimer
itimer FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
itimer: setitimer \(ITIMER_REAL, \[0.500000,1.000000\], [x0-9a-fA-F]+\) = 0
itimer: setitimer \(ITIMER_REAL, \[0.500000,0.000000\], 0x[0]+\) = 0
itimer: setitimer \(ITIMER_VIRTUAL, \[0.500000,0.000000\], 0x[0]+\) = 0
itimer: setitimer \(ITIMER_PROF, \[0.500000,0.000000\], 0x[0]+\) = 0
itimer: getitimer \(ITIMER_REAL, [x0-9a-fA-F]+\) = 0
itimer: getitimer \(ITIMER_VIRTUAL, [x0-9a-fA-F]+\) = 0
itimer: getitimer \(ITIMER_PROF, [x0-9a-fA-F]+\) = 0
Executing on host: gcc link.c -lm -o link (timeout = 300)
Testing link
FAIL: link
link FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
link: link \("foobar", "foobar2"\) = 0
link: link \("foobar", "foobar"\) = -[\-0-9]+ \(EEXIST\)
link: link \("nonexist", "foo"\) = -[\-0-9]+ \(ENOENT\)
link: symlink \("foobar", "Sfoobar"\) = 0
link: readlink \("Sfoobar", [x0-9a-fA-F]+, 128\) = 6
Executing on host: gcc mmap.c -lm -o mmap (timeout = 300)
Testing mmap
FAIL: mmap
mmap FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
mmap: open \("foobar", O_WRONLY\|O_CREAT\|O_TRUNC, 0600\) = 4
mmap: close \(4\) = 0
mmap: open \("foobar", O_RDONLY\) = 4
mmap: fstat \(4, [x0-9a-fA-F]+\) = 0
mmap: mmap[2]* \([x0-9a-fA-F]+, 1030, PROT_READ, MAP_SHARED, 4, [x0-9a-fA-F]+\) = [x0-9a-fA-F]+
mmap: mlock \([x0-9a-fA-F]+, 1030\) = 0
mmap: msync \([x0-9a-fA-F]+, 1030, MS_SYNC\) = 0
mmap: munlock \([x0-9a-fA-F]+, 1030\) = 0
mmap: mlockall \(MCL_CURRENT\) =
mmap: munlockall \(\) = 0
mmap: munmap \([x0-9a-fA-F]+, 1030\) = 0
Executing on host: gcc mount.c -lm -o mount (timeout = 300)
Testing mount
FAIL: mount
mount FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
mount: mount \("mount_source", "mount_target", "ext2", MS_BIND\|MS_NOATIME\|MS_NODIRATIME\|MS_NOSUID, "some arguments"\) = -[\-0-9]+ \(ENOENT\)
mount: umount \("umount_target", 0\) = -[\-0-9]+ \(ENOENT\)
mount: umount \("umount2_target", MNT_FORCE\) = -[\-0-9]+ \(ENOENT\)
mount: umount \("umount2_target", MNT_DETACH\) = -[\-0-9]+ \(ENOENT\)
mount: umount \("umount2_target", MNT_EXPIRE\) = -[\-0-9]+ \(ENOENT\)
Executing on host: gcc net1.c -lm -o net1 (timeout = 300)
Testing net1
FAIL: net1
net1 FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
net1: socket \(PF_INET, SOCK_STREAM, 0\) = [\-0-9]+
net1: fcntl[64]* \([\-0-9]+, F_GETFL, 0x[0]+\) = [\-0-9]+
net1: fcntl[64]* \([\-0-9]+, F_SETFL, [x0-9a-fA-F]+\) = 0
net1: bind \([\-0-9]+, {AF_INET, 0.0.0.0, 8765}, 16\) = 0
net1: listen \(4, 7\) = 0
net1: accept \([\-0-9]+, 0x[0]+, 0x[0]+\) = -[\-0-9]+ \(EAGAIN\)
Executing on host: gcc openclose.c -lm -o openclose (timeout = 300)
Testing openclose
FAIL: openclose
openclose FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
openclose: open \("foobar1", O_WRONLY\|O_CREAT\|O_TRUNC, 0600\) = [\-0-9]+
openclose: open \("foobar2", O_WRONLY\|O_CREAT, 0700\) = [\-0-9]+
openclose: close \([\-0-9]+\) = 0
openclose: open \("foobar2", O_RDONLY\) = [\-0-9]+
openclose: close \([\-0-9]+\) = 0
openclose: open \("foobar2", O_RDWR\) = [\-0-9]+
openclose: close \([\-0-9]+\) = 0
openclose: open \("foobar2", O_WRONLY\|O_APPEND\) = [\-0-9]+
openclose: close \([\-0-9]+\) = 0
openclose: open \("foobar2", O_RDWR\|O_DIRECT\) = [\-0-9]+
openclose: close \([\-0-9]+\) = 0
openclose: open \("foobar2", O_RDWR\|O_NOATIME\|O_SYNC\) = [\-0-9]+
openclose: close \([\-0-9]+\) = 0
openclose: open \("/", O_WRONLY\) = -[\-0-9]+ \(EISDIR\)
openclose: close \([\-0-9]+\) = -[\-0-9]+ \(EBADF\)
openclose: open \("foobar2", O_WRONLY\|O_CREAT\|O_EXCL, 0700\) = -[\-0-9]+ \(EEXIST\)
Executing on host: gcc readwrite.c -lm -o readwrite (timeout = 300)
Testing readwrite
FAIL: readwrite
readwrite FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
readwrite: open \("foobar1", O_WRONLY\|O_CREAT, 0666\) = 4
readwrite: write \(4, "Hello world", 11\) = 11
readwrite: write \(4, "Hello world abc"..., 50\) = 50
readwrite: writev \(4, [x0-9a-fA-F]+, 3\) = 15
readwrite: lseek \(4, 0, SEEK_SET\) = 0
readwrite: lseek \(4, 1, SEEK_CUR\) = 1
readwrite: lseek \(4, -1, SEEK_END\) = 75
readwrite: open \("foobar1", O_RDONLY\) = 4
readwrite: read \(4, [x0-9a-fA-F]+, 11\) = 11
readwrite: read \(4, [x0-9a-fA-F]+, 50\) = 50
readwrite: readv \(4, [x0-9a-fA-F]+, 3\) = 15
Executing on host: gcc rt_signal.c -lm -o rt_signal (timeout = 300)
Testing rt_signal
FAIL: rt_signal
rt_signal FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
rt_signal: rt_sigprocmask \(SIG_BLOCK, [x0-9a-fA-F]+, 0x[0]+, 8\) = 0
rt_signal: rt_sigprocmask \(SIG_UNBLOCK, [x0-9a-fA-F]+, 0x[0]+, 8\) = 0
rt_signal: rt_sigaction \(SIGUSR1, [x0-9a-fA-F]+, 0x[0]+, 8\) = 0
rt_signal: rt_sigaction \(SIGUSR1, [x0-9a-fA-F]+, 0x[0]+, 8\) = 0
rt_signal: rt_sigaction \(SIGUSR1, [x0-9a-fA-F]+, 0x[0]+, 8\) = 0
Executing on host: gcc sendfile.c -lm -o sendfile (timeout = 300)
Testing sendfile
FAIL: sendfile
sendfile FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
sendfile: sendfile \([\-0-9]+, [\-0-9]+, [x0-9a-fA-F]+, 512\) = -22 \(EINVAL\)
Executing on host: gcc signal.c -lm -o signal (timeout = 300)
Testing signal
FAIL: signal
signal FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
signal: signal \(SIGUSR1, 0x00000001\) = 0
signal: signal \(SIGUSR1, 0x00000000\) = 1
signal: signal \(SIGUSR1, [x0-9a-fA-F]+\) = 0
signal: sigprocmask \(SIG_BLOCK, [x0-9a-fA-F]+, 0x[0]+\) = 0
signal: sigprocmask \(SIG_UNBLOCK, [x0-9a-fA-F]+, 0x[0]+\) = 0
signal: sigaction \(SIGUSR1, [x0-9a-fA-F]+, 0x[0]+\) = 0
Executing on host: gcc stat.c -lm -o stat (timeout = 300)
Testing stat
FAIL: stat
stat FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
stat: getcwd \([x0-9a-fA-F]+, 128\) = [\-0-9]+
stat: open \("foobar", O_WRONLY\|O_CREAT\|O_TRUNC, 0600\) = 4
stat: fstat \(4, [x0-9a-fA-F]+\) = 0
stat: stat \("foobar", [x0-9a-fA-F]+\) = 0
stat: lstat \("foobar", [x0-9a-fA-F]+\) = 0
stat: utime \("foobar", \[1970/01/01-00:00:01, 2005/12/27-00:00:00\]\) = 0
stat: utime \("foobar", \[2005/12/27-13:26:40, 2005/12/27-16:13:20\]\) = 0
Executing on host: gcc statfs.c -lm -o statfs (timeout = 300)
Testing statfs
FAIL: statfs
statfs FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
statfs: ustat \(42, 0x0000000012345678\) =
statfs: statfs \("abc", 0x0000000012345678\) =
statfs: fstatfs \(77, 0x0000000012345678\) =
Executing on host: gcc swap.c -lm -o swap (timeout = 300)
Testing swap
FAIL: swap
swap FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
swap: swapon \("foobar_swap", 0\) =
swap: swapon \("foobar_swap", 32769\) =
swap: swapon \("foobar_swap", 32775\) =
swap: swapon \(NULL, 0\) =
swap: swapoff \("foobar_swap"\) =
swap: swapoff \(NULL\) =
Executing on host: gcc sync.c -lm -o sync (timeout = 300)
Testing sync
FAIL: sync
sync FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
sync: sync \(\) = 0
sync: fsync \(4\) = 0
sync: fdatasync \(4\) = 0
Executing on host: gcc timer.c -lm -o timer (timeout = 300)
Testing timer
FAIL: timer
timer FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
timer: timer_create \(CLOCK_REALTIME, 0x[0]+, [x0-9a-fA-F]+\)
timer: timer_gettime \(0, [x0-9a-fA-F]+\) = 0
timer: timer_settime \(0, 0, \[0.000000,0.000000\], [x0-9a-fA-F]+\) = 0
timer: timer_getoverrun \(0\) = 0
timer: timer_delete \(0\) = 0
Executing on host: gcc trunc.c -lm -o trunc (timeout = 300)
Testing trunc
FAIL: trunc
trunc FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
trunc: ftruncate \(4, 1024\) = 0
trunc: truncate \("foobar", 2048\) = 0
Executing on host: gcc uid.c -lm -o uid (timeout = 300)
Testing uid
FAIL: uid
uid FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
uid: getuid \(\) = [\-0-9]+
uid: geteuid \(\) = [\-0-9]+
uid: getgid \(\) = [\-0-9]+
uid: getegid \(\) = [\-0-9]+
uid: setuid \(4096\) = [\-0-9]+
uid: setresuid \(-1, 4097, -1\) = [\-0-9]+
uid: getresuid \([x0-9a-fA-F]+, [x0-9a-fA-F]+, [x0-9a-fA-F]+\) = 0
uid: setgid \(4098\) = [\-0-9]+
uid: setresgid \(-1, 4099, -1\) = [\-0-9]+
uid: getresgid \([x0-9a-fA-F]+, [x0-9a-fA-F]+, [x0-9a-fA-F]+\) = 0
uid: setreuid \([\-0-9]+, 5000\) =
uid: setreuid \(5001, [\-0-9]+\) =
uid: setregid \([\-0-9]+, 5002\) =
uid: setregid \(5003, [\-0-9]+\) =
uid: setfsuid \(5004\) =
uid: setfsgid \(5005\) =
Executing on host: gcc uid16.c -lm -o uid16 (timeout = 300)
/usr/lib/gcc/s390x-redhat-linux/4.1.1/../../../../lib64/crt1.o: In function `_start':
(.text+0x34): undefined reference to `main'
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/usr/lib/gcc/s390x-redhat-linux/4.1.1/../../../../lib64/crt1.o: In function `_start':
(.text+0x34): undefined reference to `main'
collect2: ld returned 1 exit status
Testing uid16
UNSUPPORTED: uid16 not supported on this arch
Executing on host: gcc umask.c -lm -o umask (timeout = 300)
Testing umask
FAIL: umask
umask FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
umask: umask \(00\) = [\-0-9]+
umask: umask \(07\) = 00
umask: umask \(077\) = 07
umask: umask \(0666\) = 077
umask: umask \(0777\) = 0666
umask: umask \(01777\) = 0777
Executing on host: gcc unlink.c -lm -o unlink (timeout = 300)
Testing unlink
FAIL: unlink
unlink FAILED
RESULTS: ('*' = MATCHED EXPECTED)
--------- EXPECTED and NOT MATCHED ----------
unlink: unlink \("foobar1"\) = 0
unlink: unlink \("foobar1"\) = -[\-0-9]+ \(ENOENT\)
unlink: unlink \("foobar2"\) = -[\-0-9]+ \(ENOENT\)
unlink: unlink \(NULL\) = -[\-0-9]+ \(EFAULT\)
unlink: unlink \(".."\) = -[\-0-9]+ \(EISDIR\)
unlink: unlink \(""\) = -[\-0-9]+ \(ENOENT\)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.syscall/test.exp completed in 93 seconds
=== systemtap Summary ===
# of expected passes 260
# of unexpected failures 34
# of expected failures 122
# of unknown successes 1
# of known failures 4
# of untested testcases 2
# of unsupported tests 1
runtest completed at Thu Feb 8 12:27:17 2007