summaryrefslogtreecommitdiffstats
path: root/runtime/probes
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/probes')
-rw-r--r--runtime/probes/ChangeLog113
-rw-r--r--runtime/probes/Makefile.template21
-rw-r--r--runtime/probes/README10
-rw-r--r--runtime/probes/agg/README3
-rwxr-xr-xruntime/probes/agg/build2
-rw-r--r--runtime/probes/agg/count1.c102
-rw-r--r--runtime/probes/agg/count2.c81
-rw-r--r--runtime/probes/agg/stat1.c72
-rw-r--r--runtime/probes/agg/targets3
-rw-r--r--runtime/probes/bench/Makefile10
-rw-r--r--runtime/probes/bench/README18
-rw-r--r--runtime/probes/bench/bench.c51
-rw-r--r--runtime/probes/bench/bench_io1.c46
-rw-r--r--runtime/probes/bench/bench_io2.c47
-rw-r--r--runtime/probes/bench/bench_io3.c44
-rw-r--r--runtime/probes/bench/bench_io4.c45
-rw-r--r--runtime/probes/bench/bench_multi.c73
-rw-r--r--runtime/probes/bench/bench_ret.c61
-rwxr-xr-xruntime/probes/bench/build2
-rwxr-xr-xruntime/probes/bench/check_modules28
-rw-r--r--runtime/probes/bench/itest.c71
-rwxr-xr-xruntime/probes/bench/run_bench136
-rw-r--r--runtime/probes/bench/targets7
-rwxr-xr-xruntime/probes/bench/trans_bench186
-rw-r--r--runtime/probes/bench/ttest.c74
-rwxr-xr-xruntime/probes/build40
-rwxr-xr-xruntime/probes/build_probe154
-rwxr-xr-xruntime/probes/os_timer/build2
-rw-r--r--runtime/probes/os_timer/os_timer.c126
-rwxr-xr-xruntime/probes/os_timer/stp2
-rw-r--r--runtime/probes/os_timer/targets1
-rw-r--r--runtime/probes/scf/README12
-rwxr-xr-xruntime/probes/scf/build2
-rw-r--r--runtime/probes/scf/scf.c50
-rw-r--r--runtime/probes/scf/targets1
-rw-r--r--runtime/probes/shellsnoop/README73
-rwxr-xr-xruntime/probes/shellsnoop/build2
-rw-r--r--runtime/probes/shellsnoop/shellsnoop.c161
-rw-r--r--runtime/probes/shellsnoop/targets1
-rw-r--r--runtime/probes/tasklet/README9
-rwxr-xr-xruntime/probes/tasklet/build2
-rw-r--r--runtime/probes/tasklet/stp_tasklet.c40
-rw-r--r--runtime/probes/tasklet/targets1
-rw-r--r--runtime/probes/test4/README24
-rwxr-xr-xruntime/probes/test4/build2
-rw-r--r--runtime/probes/test4/targets1
-rw-r--r--runtime/probes/test4/test4.c79
-rw-r--r--runtime/probes/where_func/README29
-rwxr-xr-xruntime/probes/where_func/build2
-rw-r--r--runtime/probes/where_func/kprobe_where_funct.c62
-rw-r--r--runtime/probes/where_func/targets1
51 files changed, 0 insertions, 2185 deletions
diff --git a/runtime/probes/ChangeLog b/runtime/probes/ChangeLog
deleted file mode 100644
index 47976f5c..00000000
--- a/runtime/probes/ChangeLog
+++ /dev/null
@@ -1,113 +0,0 @@
-2006-09-26 David Smith <dsmith@redhat.com>
-
- * bench/run_bench: Changed 'stpd' references to 'staprun'.
- * bench/trans_bench: Ditto.
- * where_func/README: Ditto.
-
-2005-11-08 Martin Hunt <hunt@redhat.com>
-
- * shellsnoop/shellsnoop.c: Updated to use new map API.
- * where_func/kprobe_where_funct.c: Ditto.
- * os_timer/os_timer.c (probe_start): Ditto.
- * test4/test4.c: Ditto.
- * scf/scf.c: Ditto.
-
-2005-09-08 Martin Hunt <hunt@redhat.com>
-
- * scf/scf.c (inst_smp_call_function): Add new verbose arg
- to _stp_stack_sprint() call.
-
-2005-08-31 Martin Hunt <hunt@redhat.com>
-
- * Makefile.template: Remove KTA, KALLSYMS_LOOKUP,
- and KALLSYMS_LOOKUP_NAME
-
-2005-08-19 Martin Hunt <hunt@redhat.com>
-
- * shellsnoop/shellsnoop.c: Remove STP_NETLINK_ONLY.
- * stp: Deleted. Use stpd directly.
-
-
-2005-08-01 Martin Hunt <hunt@redhat.com>
-
- * agg/stat1.c (probe_exit): Remove "static"
- * agg/count1.c (probe_exit): Ditto.
- * agg/count2.c (probe_exit): Ditto.
- * bench/bench_io2.c (probe_exit): Ditto.
- * bench/bench_io1.c (probe_exit): Ditto.
- * bench/bench.c (probe_exit): Ditto.
- * bench/bench_ret.c (probe_exit): Ditto.
- * bench/bench_multi.c (probe_exit): Ditto.
- * where_func/kprobe_where_funct.c (probe_exit): Ditto.
- * test4/test4.c (probe_exit): Ditto.
- * tasklet/stp_tasklet.c (probe_exit): Ditto.
- * os_timer/os_timer.c (probe_exit): Ditto.
- * scf/scf.c (probe_exit): Ditto.
-
-2005-07-28 Martin Hunt <hunt@redhat.com>
-
- * bench/ALL: Chnage to probe sys_getuid() and sys_getgid()
- because those aren't used by stpd, unlike sys_read() and sys_write().
-
-2005-07-11 Martin Hunt <hunt@redhat.com>
-
- * build_probe: Set RELAYFS correctly.
-
- * Makefile.template: Fix for RELAYFS.
-
- * stp: Moved here. All probes now use this copy.
-
- * ALL/stp: source the master copy of stp.
-
-2005-07-08 Martin Hunt <hunt@redhat.com>
-
- * ALL: Use new runtime.h. Change init_module()
- to probe_start() and don't do transport calls.
- Remove MODULE_LICENSE and cleanup_module().
-
-2005-07-01 Martin Hunt <hunt@redhat.com>
-
- * Makefile.template (debug): New target.
-
- * build: Support "debug" target.
-
- * build_probe: Ditto.
-
-2005-06-28 Martin Hunt <hunt@redhat.com>
-
- * bench/bench_ret.c (inst_sys_write_ret): Fix prototype.
-
- * bench: New probe to do benchmarks.
-
-2005-06-23 Martin Hunt <hunt@redhat.com>
-
- * all probes: Modified to use latest changes to transport.h.
-
-2005-06-21 Martin Hunt <hunt@redhat.com>
-
- * build_probe (build): Add relay_flush and relay_switch_subbuf to the
- list of undefines to ignore.
-
-2005-06-20 Tom Zanussi <zanussi@us.ibm.com>
-
- * added transport_mode, subbuf_size, n_subbufs to all
- probes and changed _stp_transport_open() calls.
-
- * removed all obsolete params from stp scripts.
-
-2005-06-18 Martin Hunt <hunt@redhat.com>
-
- * build: Modified to use build_probe.
-
- * build_probe: New file. This does the work of building
- a single probe or set of probes in a directory.
-
- * Makefile.template: New file. Template used by
- build_probe to create Makefiles.
-
- * agg: New set of probes to test/demonstrate
- Counter and Stat aggregations.
-
- * all probes modified for latest changes and new build
- process.
-
diff --git a/runtime/probes/Makefile.template b/runtime/probes/Makefile.template
deleted file mode 100644
index 5d770e95..00000000
--- a/runtime/probes/Makefile.template
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile
-PWD := $(shell pwd)
-RT := $(PWD)/../..
-KVERSION := $(shell uname -r)
-KDIR := /lib/modules/$(KVERSION)/build include
-
-FLAGS := -I $(RT) RELAYFS
-
-DFLAGS := $(FLAGS) -D DEBUG
-
-obj-m := XXX.o
-
-default:
- $(MAKE) V=1 -C $(KDIR) M=$(PWD) RT=$(RT) EXTRA_CFLAGS="$(FLAGS)" modules
-
-debug:
- $(MAKE) V=1 -C $(KDIR) M=$(PWD) RT=$(RT) EXTRA_CFLAGS="$(DFLAGS)" modules
-
-
-clean:
- /bin/rm -rf *.o *.o.d *.ko *~ *.mod.c .*.cmd .tmp_versions
diff --git a/runtime/probes/README b/runtime/probes/README
deleted file mode 100644
index f3cd9fb2..00000000
--- a/runtime/probes/README
+++ /dev/null
@@ -1,10 +0,0 @@
-/** @dir probes
-This directory contains working example probes that demonstrate and test
-the runtime library. They are tested on i386 and x86_64.
-*/
-
-To build all probes, just type "./build"
-To clean up, "./build clean"
-To see a verbose build "./build -v"
-
-The same commands work in any probe subdirectory.
diff --git a/runtime/probes/agg/README b/runtime/probes/agg/README
deleted file mode 100644
index b48db1b8..00000000
--- a/runtime/probes/agg/README
+++ /dev/null
@@ -1,3 +0,0 @@
-/** @dir agg
-Test probes to use the Counter and Stat aggregations.
-*/
diff --git a/runtime/probes/agg/build b/runtime/probes/agg/build
deleted file mode 100755
index f3e83244..00000000
--- a/runtime/probes/agg/build
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-../build_probe $*
diff --git a/runtime/probes/agg/count1.c b/runtime/probes/agg/count1.c
deleted file mode 100644
index 731b236b..00000000
--- a/runtime/probes/agg/count1.c
+++ /dev/null
@@ -1,102 +0,0 @@
-#define STP_NETLINK_ONLY
-#define STP_NUM_STRINGS 1
-
-#include "runtime.h"
-
-#include "counter.c"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: count1");
-MODULE_AUTHOR("Martin Hunt <hunt@redhat.com>");
-
-Counter opens;
-Counter reads;
-Counter writes;
-Counter sched;
-Counter idle;
-
-static int inst_sys_open (struct kprobe *p, struct pt_regs *regs)
-{
- _stp_counter_add (opens, 1);
- return 0;
-}
-
-static int inst_sys_read (struct kprobe *p, struct pt_regs *regs)
-{
- _stp_counter_add (reads, 1);
- return 0;
-}
-
-static int inst_sys_write (struct kprobe *p, struct pt_regs *regs)
-{
- _stp_counter_add (writes, 1);
- return 0;
-}
-
-static int inst_schedule(struct kprobe *p, struct pt_regs *regs)
-{
- _stp_counter_add (sched, 1);
- return 0;
-}
-
-static int inst_idle_cpu(struct kprobe *p, struct pt_regs *regs)
-{
- _stp_counter_add (idle, 1);
- return 0;
-}
-
-static struct kprobe stp_probes[] = {
- {
- .addr = "sys_open",
- .pre_handler = inst_sys_open
- },
- {
- .addr = "sys_read",
- .pre_handler = inst_sys_read
- },
- {
- .addr = "sys_write",
- .pre_handler = inst_sys_write
- },
- {
- .addr = "schedule",
- .pre_handler = inst_schedule
- },
- {
- .addr = "idle_cpu",
- .pre_handler = inst_idle_cpu
- },
-};
-
-#define MAX_STP_ROUTINE (sizeof(stp_probes)/sizeof(struct kprobe))
-
-int probe_start(void)
-{
- opens = _stp_counter_init();
- reads = _stp_counter_init();
- writes = _stp_counter_init();
- sched = _stp_counter_init();
- idle = _stp_counter_init();
-
- return _stp_register_kprobes (stp_probes, MAX_STP_ROUTINE);
-}
-
-void probe_exit (void)
-{
- int i;
-
- _stp_unregister_kprobes (stp_probes, MAX_STP_ROUTINE);
-
- for_each_cpu(i)
- _stp_printf ("sched calls for cpu %d = %lld\n", i, _stp_counter_get_cpu(sched, i, 0));
-
- _stp_print ("\n\n");
-
- _stp_printf ("open calls: %lld\n", _stp_counter_get(opens, 0));
- _stp_printf ("read calls: %lld\n", _stp_counter_get(reads, 0));
- _stp_printf ("write calls: %lld\n", _stp_counter_get(writes, 0));
- _stp_printf ("sched calls: %lld\n", _stp_counter_get(sched, 0));
- _stp_printf ("idle calls: %lld\n", _stp_counter_get(idle, 0));
- _stp_print_flush();
-}
-
diff --git a/runtime/probes/agg/count2.c b/runtime/probes/agg/count2.c
deleted file mode 100644
index 23987759..00000000
--- a/runtime/probes/agg/count2.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#define STP_NETLINK_ONLY
-#define STP_NUM_STRINGS 1
-#include "runtime.h"
-
-#include "counter.c"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: count2");
-MODULE_AUTHOR("Martin Hunt <hunt@redhat.com>");
-
-Counter opens;
-Counter reads;
-Counter writes;
-Counter read_bytes;
-Counter write_bytes;
-
-asmlinkage long inst_sys_open (const char __user * filename, int flags, int mode)
-{
- _stp_counter_add (opens, 1);
- jprobe_return();
- return 0;
-}
-
-asmlinkage ssize_t inst_sys_read (unsigned int fd, char __user * buf, size_t count)
-{
- _stp_counter_add (reads, 1);
- _stp_counter_add (read_bytes, count);
- jprobe_return();
- return 0;
-}
-
-asmlinkage ssize_t inst_sys_write (unsigned int fd, const char __user * buf, size_t count)
-{
- _stp_counter_add (writes, 1);
- _stp_counter_add (write_bytes, count);
- jprobe_return();
- return 0;
-}
-
-static struct jprobe stp_probes[] = {
- {
- .kp.addr = (kprobe_opcode_t *)"sys_open",
- .entry = (kprobe_opcode_t *) inst_sys_open
- },
- {
- .kp.addr = (kprobe_opcode_t *)"sys_read",
- .entry = (kprobe_opcode_t *) inst_sys_read
- },
- {
- .kp.addr = (kprobe_opcode_t *)"sys_write",
- .entry = (kprobe_opcode_t *) inst_sys_write
- },
-};
-
-#define MAX_STP_ROUTINE (sizeof(stp_probes)/sizeof(struct jprobe))
-
-int probe_start(void)
-{
- opens = _stp_counter_init();
- reads = _stp_counter_init();
- writes = _stp_counter_init();
- read_bytes = _stp_counter_init();
- write_bytes = _stp_counter_init();
-
- return _stp_register_jprobes (stp_probes, MAX_STP_ROUTINE);
-}
-
-void probe_exit (void)
-{
- int i;
-
- _stp_unregister_jprobes (stp_probes, MAX_STP_ROUTINE);
-
- _stp_printf ("open calls: %lld\n", _stp_counter_get(opens, 0));
- _stp_printf ("read calls: %lld\n", _stp_counter_get(reads, 0));
- _stp_printf ("read bytes: %lld\n", _stp_counter_get(read_bytes, 0));
- _stp_printf ("write calls: %lld\n", _stp_counter_get(writes, 0));
- _stp_printf ("write bytes: %lld\n", _stp_counter_get(write_bytes, 0));
-
- _stp_print_flush();
-}
diff --git a/runtime/probes/agg/stat1.c b/runtime/probes/agg/stat1.c
deleted file mode 100644
index 4e0cf961..00000000
--- a/runtime/probes/agg/stat1.c
+++ /dev/null
@@ -1,72 +0,0 @@
-#define STP_NETLINK_ONLY
-#define STP_NUM_STRINGS 1
-#include "runtime.h"
-#include "stat.c"
-#include "counter.c"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: stat1");
-MODULE_AUTHOR("Martin Hunt <hunt@redhat.com>");
-
-
-Counter opens;
-Stat reads;
-Stat writes;
-
-asmlinkage long inst_sys_open (const char __user * filename, int flags, int mode)
-{
- _stp_counter_add (opens, 1);
- jprobe_return();
- return 0;
-}
-
-asmlinkage ssize_t inst_sys_read (unsigned int fd, char __user * buf, size_t count)
-{
- _stp_stat_add (reads, count);
- jprobe_return();
- return 0;
-}
-
-asmlinkage ssize_t inst_sys_write (unsigned int fd, const char __user * buf, size_t count)
-{
- _stp_stat_add (writes, count);
- jprobe_return();
- return 0;
-}
-
-static struct jprobe stp_probes[] = {
- {
- .kp.addr = (kprobe_opcode_t *)"sys_open",
- .entry = (kprobe_opcode_t *) inst_sys_open
- },
- {
- .kp.addr = (kprobe_opcode_t *)"sys_read",
- .entry = (kprobe_opcode_t *) inst_sys_read
- },
- {
- .kp.addr = (kprobe_opcode_t *)"sys_write",
- .entry = (kprobe_opcode_t *) inst_sys_write
- },
-};
-
-#define MAX_STP_ROUTINE (sizeof(stp_probes)/sizeof(struct jprobe))
-
-int probe_start(void)
-{
- opens = _stp_counter_init();
- reads = _stp_stat_init(HIST_LOG,24);
- writes = _stp_stat_init(HIST_LINEAR,0,1000,50);
-
- return _stp_register_jprobes (stp_probes, MAX_STP_ROUTINE);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_jprobes (stp_probes, MAX_STP_ROUTINE);
-
- _stp_printf ("OPENS: %lld\n", _stp_counter_get(opens, 0));
- _stp_stat_print (reads, "READS: count:%C sum:%S avg:%A min:%m max:%M\n%H", 0);
- _stp_stat_print (writes, "WRITES: count:%C sum:%S avg:%A min:%m max:%M\n%H", 0);
-
- _stp_print_flush();
-}
diff --git a/runtime/probes/agg/targets b/runtime/probes/agg/targets
deleted file mode 100644
index 614a00d2..00000000
--- a/runtime/probes/agg/targets
+++ /dev/null
@@ -1,3 +0,0 @@
-count1
-count2
-stat1
diff --git a/runtime/probes/bench/Makefile b/runtime/probes/bench/Makefile
deleted file mode 100644
index 9154e3dc..00000000
--- a/runtime/probes/bench/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-all: ttest itest
-
-ttest: ttest.c
- gcc -Wall -O3 -o ttest ttest.c
-
-itest: itest.c
- gcc -Wall -O3 -o itest itest.c
-
-clean:
- /bin/rm -f itest ttest stpd_cpu* xxx*
diff --git a/runtime/probes/bench/README b/runtime/probes/bench/README
deleted file mode 100644
index 04801a74..00000000
--- a/runtime/probes/bench/README
+++ /dev/null
@@ -1,18 +0,0 @@
-This is a benchmark program for the SystemTap Runtime.
-
-It works by instrumenting sys_uid() and sys_gid(). It calls each a million
-times and measures how long it takes. Then it puts an empty kprobe on one and jprobe on the
-other and measures that. Subtracting the difference between the two runs gives
-the kprobe and jprobe overhead. The process is then repeated for more
-complicated probes.
-
-To Start:
-
-1. Build the test program.
-> gcc -O3 -o time time.c
-
-2. Run the benchmarks
-> ./run_bench
-
-
-
diff --git a/runtime/probes/bench/bench.c b/runtime/probes/bench/bench.c
deleted file mode 100644
index a00efa05..00000000
--- a/runtime/probes/bench/bench.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#define STP_NETLINK_ONLY
-#define STP_NUM_STRINGS 1
-
-#include "runtime.h"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: bench");
-MODULE_AUTHOR("Martin Hunt");
-
-asmlinkage ssize_t inst_sys_getgid (unsigned int fd, const char __user * buf, size_t count)
-{
- jprobe_return();
- return 0;
-}
-
-static int inst_sys_getuid (struct kprobe *p, struct pt_regs *regs)
-{
- return 0;
-}
-
-static struct jprobe jp[] = {
- {
- .kp.addr = (kprobe_opcode_t *)"sys_getgid",
- .entry = (kprobe_opcode_t *) inst_sys_getgid
- },
-};
-
-static struct kprobe kp[] = {
- {
- .addr = "sys_getuid",
- .pre_handler = inst_sys_getuid
- }
-};
-
-#define NUM_JPROBES (sizeof(jp)/sizeof(struct jprobe))
-#define NUM_KPROBES (sizeof(kp)/sizeof(struct kprobe))
-
-int probe_start(void)
-{
- int ret = _stp_register_jprobes (jp, NUM_JPROBES);
- if (ret >= 0)
- if ((ret = _stp_register_kprobes (kp, NUM_KPROBES)) < 0)
- _stp_unregister_jprobes (jp, NUM_JPROBES);
- return ret;
-}
-
-void probe_exit (void)
-{
- _stp_unregister_jprobes (jp, NUM_JPROBES);
- _stp_unregister_kprobes (kp, NUM_KPROBES);
-}
diff --git a/runtime/probes/bench/bench_io1.c b/runtime/probes/bench/bench_io1.c
deleted file mode 100644
index 8bdc4018..00000000
--- a/runtime/probes/bench/bench_io1.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#define STP_NUM_STRINGS 1
-
-#include "runtime.h"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: bench_io1");
-MODULE_AUTHOR("Martin Hunt");
-
-static int inst_sys_getuid (struct kprobe *p, struct pt_regs *regs)
-{
- /* print 100 chars */
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_print_flush();
- return 0;
-}
-
-static int inst_sys_getgid (struct kprobe *p, struct pt_regs *regs)
-{
- /* print 100 chars */
- _stp_print_cstr ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_print_flush();
- return 0;
-}
-
-static struct kprobe kp[] = {
- {
- .addr = "sys_getuid",
- .pre_handler = inst_sys_getuid
- },
- {
- .addr = "sys_getgid",
- .pre_handler = inst_sys_getgid
- }
-};
-
-#define NUM_KPROBES (sizeof(kp)/sizeof(struct kprobe))
-
-int probe_start(void)
-{
- return _stp_register_kprobes (kp, NUM_KPROBES);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_kprobes (kp, NUM_KPROBES);
-}
diff --git a/runtime/probes/bench/bench_io2.c b/runtime/probes/bench/bench_io2.c
deleted file mode 100644
index 14216913..00000000
--- a/runtime/probes/bench/bench_io2.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#define STP_RELAYFS
-#define STP_NUM_STRINGS 1
-
-#include "runtime.h"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: bench_io2");
-MODULE_AUTHOR("Martin Hunt");
-
-static int inst_sys_getuid (struct kprobe *p, struct pt_regs *regs)
-{
- /* print 100 chars */
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_print_flush();
- return 0;
-}
-
-static int inst_sys_getgid (struct kprobe *p, struct pt_regs *regs)
-{
- /* print 100 chars */
- _stp_print_cstr ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_print_flush();
- return 0;
-}
-
-static struct kprobe kp[] = {
- {
- .addr = "sys_getuid",
- .pre_handler = inst_sys_getuid
- },
- {
- .addr = "sys_getgid",
- .pre_handler = inst_sys_getgid
- }
-};
-
-#define NUM_KPROBES (sizeof(kp)/sizeof(struct kprobe))
-
-int probe_start(void)
-{
- return _stp_register_kprobes (kp, NUM_KPROBES);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_kprobes (kp, NUM_KPROBES);
-}
diff --git a/runtime/probes/bench/bench_io3.c b/runtime/probes/bench/bench_io3.c
deleted file mode 100644
index a491edd9..00000000
--- a/runtime/probes/bench/bench_io3.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#define STP_NUM_STRINGS 1
-
-#include "runtime.h"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: bench_io3");
-MODULE_AUTHOR("Martin Hunt");
-
-static int inst_sys_getuid (struct kprobe *p, struct pt_regs *regs)
-{
- /* print 1000 chars */
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_print_flush();
- return 0;
-}
-
-
-static struct kprobe kp[] = {
- {
- .addr = "sys_getuid",
- .pre_handler = inst_sys_getuid
- },
-};
-
-#define NUM_KPROBES (sizeof(kp)/sizeof(struct kprobe))
-
-int probe_start(void)
-{
- return _stp_register_kprobes (kp, NUM_KPROBES);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_kprobes (kp, NUM_KPROBES);
-}
diff --git a/runtime/probes/bench/bench_io4.c b/runtime/probes/bench/bench_io4.c
deleted file mode 100644
index a6b19ab5..00000000
--- a/runtime/probes/bench/bench_io4.c
+++ /dev/null
@@ -1,45 +0,0 @@
-#define STP_RELAYFS
-#define STP_NUM_STRINGS 1
-
-#include "runtime.h"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: bench_io3");
-MODULE_AUTHOR("Martin Hunt");
-
-static int inst_sys_getuid (struct kprobe *p, struct pt_regs *regs)
-{
- /* print 1000 chars */
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_printf ("123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
- _stp_print_flush();
- return 0;
-}
-
-
-static struct kprobe kp[] = {
- {
- .addr = "sys_getuid",
- .pre_handler = inst_sys_getuid
- },
-};
-
-#define NUM_KPROBES (sizeof(kp)/sizeof(struct kprobe))
-
-int probe_start(void)
-{
- return _stp_register_kprobes (kp, NUM_KPROBES);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_kprobes (kp, NUM_KPROBES);
-}
diff --git a/runtime/probes/bench/bench_multi.c b/runtime/probes/bench/bench_multi.c
deleted file mode 100644
index a6dc38a4..00000000
--- a/runtime/probes/bench/bench_multi.c
+++ /dev/null
@@ -1,73 +0,0 @@
-#define STP_NETLINK_ONLY
-#define STP_NUM_STRINGS 1
-
-#include "runtime.h"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: bench_multi");
-MODULE_AUTHOR("Martin Hunt");
-
-static int inst_sys_getuid1 (struct kprobe *p, struct pt_regs *regs)
-{
- return 0;
-}
-static int inst_sys_getuid2 (struct kprobe *p, struct pt_regs *regs)
-{
- return 0;
-}
-
-static int inst_sys_getgid1 (struct kprobe *p, struct pt_regs *regs)
-{
- return 0;
-}
-static int inst_sys_getgid2 (struct kprobe *p, struct pt_regs *regs)
-{
- return 0;
-}
-static int inst_sys_getgid3 (struct kprobe *p, struct pt_regs *regs)
-{
- return 0;
-}
-static int inst_sys_getgid4 (struct kprobe *p, struct pt_regs *regs)
-{
- return 0;
-}
-
-static struct kprobe kp[] = {
- {
- .addr = "sys_getuid",
- .pre_handler = inst_sys_getuid1
- },
- {
- .addr = "sys_getuid",
- .pre_handler = inst_sys_getuid2
- },
- {
- .addr = "sys_getgid",
- .pre_handler = inst_sys_getgid1
- },
- {
- .addr = "sys_getgid",
- .pre_handler = inst_sys_getgid2
- },
- {
- .addr = "sys_getgid",
- .pre_handler = inst_sys_getgid3
- },
- {
- .addr = "sys_getgid",
- .pre_handler = inst_sys_getgid4
- }
-};
-
-#define NUM_KPROBES (sizeof(kp)/sizeof(struct kprobe))
-
-int probe_start(void)
-{
- return _stp_register_kprobes (kp, NUM_KPROBES);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_kprobes (kp, NUM_KPROBES);
-}
diff --git a/runtime/probes/bench/bench_ret.c b/runtime/probes/bench/bench_ret.c
deleted file mode 100644
index 40f2ddad..00000000
--- a/runtime/probes/bench/bench_ret.c
+++ /dev/null
@@ -1,61 +0,0 @@
-#define STP_NETLINK_ONLY
-#define STP_NUM_STRINGS 1
-#define USE_RET_PROBES
-
-#include "runtime.h"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: bench_ret");
-MODULE_AUTHOR("Martin Hunt");
-
-static int inst_sys_getuid (struct kprobe *p, struct pt_regs *regs)
-{
- return 0;
-}
-
-static int inst_sys_getgid_ret (struct kretprobe_instance *ri, struct pt_regs *regs)
-{
- return 0;
-}
-
-static int inst_sys_getgid (struct kprobe *p, struct pt_regs *regs)
-{
- return 0;
-}
-
-static struct kretprobe kpr[] = {
- {
- .kp.addr = "sys_getuid",
- .handler = inst_sys_getuid
- },
- {
- .kp.addr = "sys_getgid",
- .handler = inst_sys_getgid_ret
- }
-};
-
-static struct kprobe kp[] = {
- {
- .addr = "sys_getgid",
- .pre_handler = inst_sys_getgid
- }
-};
-
-
-#define NUM_KPROBES (sizeof(kpr)/sizeof(struct kretprobe))
-
-int probe_start(void)
-{
- int ret = _stp_register_kretprobes (kpr, NUM_KPROBES);
- if (ret >= 0) {
- if ((ret = _stp_register_kprobes (kp, 1)) < 0)
- _stp_unregister_kretprobes (kpr, NUM_KPROBES);
- }
- return ret;
-}
-
-void probe_exit (void)
-{
- _stp_unregister_kretprobes (kpr, NUM_KPROBES);
- _stp_unregister_kprobes (kp, 1);
-}
diff --git a/runtime/probes/bench/build b/runtime/probes/bench/build
deleted file mode 100755
index f3e83244..00000000
--- a/runtime/probes/bench/build
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-../build_probe $*
diff --git a/runtime/probes/bench/check_modules b/runtime/probes/bench/check_modules
deleted file mode 100755
index c3ab9ac3..00000000
--- a/runtime/probes/bench/check_modules
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-RELAYFS=`grep " relayfs_poll" /boot/System.map-\`uname -r\``
-if [ -z "$RELAYFS" ]
-then
- RELAYFS=`lsmod | grep relayfs`
- if [ -z "$RELAYFS" ]
- then
- /sbin/insmod ../../relayfs/relayfs.ko
- fi
-fi
-
-if [ ! -d "/mnt/relay" ]
-then
- mkdir /mnt/relay
-fi
-
-MOUNT=`mount | grep relayfs |awk '{print $1}'`
-if [ "$MOUNT" != "relayfs" ]
-then
- mount -t relayfs relayfs /mnt/relay
-fi
-
-STP_CONTROL=`lsmod | grep stp_control |awk '{print $1}'`
-if [ "$STP_CONTROL" != "stp_control" ]
-then
- /sbin/insmod ../../transport/stp-control.ko
-fi
diff --git a/runtime/probes/bench/itest.c b/runtime/probes/bench/itest.c
deleted file mode 100644
index 8ac11b8f..00000000
--- a/runtime/probes/bench/itest.c
+++ /dev/null
@@ -1,71 +0,0 @@
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/time.h>
-#include <stdlib.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-typedef unsigned long long uint64;
-struct rusage rstart;
-struct timeval tstart, tstop;
-uint64 ttime = 0;
-
-void start()
-{
- gettimeofday (&tstart, NULL);
- getrusage (RUSAGE_SELF, &rstart);
-}
-
-uint64 usecs (struct timeval *tv)
-{
- return tv->tv_sec * 1000000 + tv->tv_usec;
-}
-
-uint64 stop()
-{
- struct rusage rend;
- getrusage (RUSAGE_SELF, &rend);
- gettimeofday (&tstop, NULL);
- uint64 utime = usecs(&rend.ru_utime) - usecs(&rstart.ru_utime);
- uint64 stime = usecs(&rend.ru_stime) - usecs(&rstart.ru_stime);
- ttime = usecs(&tstop) - usecs(&tstart);
- return utime + stime;
-}
-
-void usage(char *name)
-{
- printf ("Usage %s [time]\nWhere \"time\" is millions of times to loop.\n", name);
- exit(1);
-}
-
-int main(int argc, char *argv[])
-{
- int i, n = 1;
- uint64 nsecs;
-
- if (argc > 2)
- usage(argv[0]);
-
- if (argc == 2) {
- n = strtol(argv[1], NULL, 10);
- if (n == 0)
- usage(argv[0]);
- }
-
-
- start();
- for (i = 0; i < n * 1000000; i++)
- getuid();
-
- nsecs = stop() / (n * 1000);
-
- /* returns
- nanosecs per call (user + system time)
- elapsed usecs (real time)
- */
- printf("%lld %.2f\n", nsecs, ttime/1000000.0);
-
- return 0;
-}
diff --git a/runtime/probes/bench/run_bench b/runtime/probes/bench/run_bench
deleted file mode 100755
index a9442d3b..00000000
--- a/runtime/probes/bench/run_bench
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/usr/bin/tclsh
-# -*- tcl -*-
-
-proc do_time {module n} {
- global Failures
-
- # start kprobes
- if {[catch {exec ../../stpd/staprun -rmq $module.ko > xxx &} pid]} {
- puts $pid
- exit -1
- }
-
- exec sleep 2
-
- # get the timings while kprobes running
- if {[catch {exec ./ttest $n} res2]} {
- puts $res2
- exit -1
- }
-
- # terminate kprobes
- if {[catch {exec kill -s SIGINT $pid} res]} {
- puts $res
- }
-
- exec sleep 2
-
- # look for warnings
- exec tail xxx >xxx.tail
- if {[catch {open xxx.tail r} fd]} {
- puts "Cannot open test output\n"
- exit -1
- }
-
- set Failures 0
- while {[gets $fd line] >= 0} {
- if {[regexp {^\033\[33mWARNING: \033\[0mThere were ([0-9]*) transport failures.} $line match var]} {
- set Failures $var
- break
- }
- }
- close $fd
- exec /bin/rm -f xxx xxx.out
- return $res2
-}
-
-######## START HERE ###########
-
-
-set nproc [exec grep ^processor /proc/cpuinfo | wc -l]
-if {![catch {exec grep "physical id" /proc/cpuinfo} phyid]} {
- foreach phy [split $phyid \n] {
- set cpu($phy) 1
- }
-}
-set model [exec grep "model name" /proc/cpuinfo]
-set model [lindex [split $model \n] 0]
-set model [string range $model [expr [string first : $model]+1] end]
-set model [string trimleft $model]
-
-puts "STP BENCH for [exec uname -r] on [exec uname -m]"
-if {[file exists /etc/redhat-release]} {
- puts [exec cat /etc/redhat-release]
-}
-puts "[exec uname -n]: [exec uptime]"
-if {$nproc > 1} {
- puts "processors: $nproc ([array size cpu] physical) $model"
-} else {
- puts "processors: $nproc $model"
-}
-set mem [split [exec cat /proc/meminfo] \n]
-puts "[lindex $mem 0] [lindex $mem 1]"
-puts "--------------------------------------"
-
-# get the timings without kprobes
-if {[catch {exec ./ttest 4} res1]} {
- puts $res1
- exit -1
-}
-
-set r_overhead [lindex $res1 0]
-set w_overhead [lindex $res1 1]
-
-puts "function call overhead = $r_overhead ns"
-puts "--------------------------------------"
-
-set res2 [do_time bench 4]
-set t_kprobe [expr [lindex $res2 0] - $r_overhead]
-set t_jprobe [expr [lindex $res2 1] - $w_overhead]
-
-puts "Jprobes overhead = $t_jprobe ns"
-puts "Kprobes overhead = $t_kprobe ns"
-puts "--------------------------------------"
-
-if {[file exists bench_ret.ko]} {
- set res2 [do_time bench_ret 4]
- set t_ret [expr [lindex $res2 0] - $r_overhead]
- set t_entret [expr [lindex $res2 1] - $w_overhead]
-
- puts "Return probe overhead = $t_ret ns"
- puts "Entry+Return probe overhead = $t_entret ns"
- puts "--------------------------------------"
-}
-
-set res2 [do_time bench_multi 4]
-set t_k2 [expr [lindex $res2 0] - $r_overhead]
-set t_k4 [expr [lindex $res2 1] - $w_overhead]
-
-puts "2 kprobes on same func = $t_k2 ns"
-puts "4 kprobes on same func = $t_k4 ns"
-puts "--------------------------------------"
-
-set res2 [do_time bench_io1 1]
-# subtract function call overhead and kprobe overhead
-set t_printf [expr [lindex $res2 0] - $r_overhead - $t_kprobe]
-set t_print [expr [lindex $res2 1] - $w_overhead - $t_kprobe]
-
-puts "PROCFS"
-puts "_stp_printf on 100 chars = $t_printf ns."
-puts "_stp_print on 100 chars = $t_print ns."
-puts "Transport failures: $Failures"
-puts "--------------------------------------"
-exec sleep 4
-
-set res2 [do_time bench_io2 1]
-# subtract function call overhead and kprobe overhead
-set t_printf [expr [lindex $res2 0] - $r_overhead - $t_kprobe]
-set t_print [expr [lindex $res2 1] - $w_overhead - $t_kprobe]
-
-puts "RELAYFS"
-puts "_stp_printf on 100 chars = $t_printf ns."
-puts "_stp_print on 100 chars = $t_print ns."
-puts "Transport failures: $Failures"
-puts "--------------------------------------"
-
-exec /bin/rm -f stpd_cpu*
diff --git a/runtime/probes/bench/targets b/runtime/probes/bench/targets
deleted file mode 100644
index 6c89c8d7..00000000
--- a/runtime/probes/bench/targets
+++ /dev/null
@@ -1,7 +0,0 @@
-bench
-bench_io1
-bench_io2
-bench_io3
-bench_io4
-bench_ret
-bench_multi
diff --git a/runtime/probes/bench/trans_bench b/runtime/probes/bench/trans_bench
deleted file mode 100755
index 12adbaff..00000000
--- a/runtime/probes/bench/trans_bench
+++ /dev/null
@@ -1,186 +0,0 @@
-#!/usr/bin/tclsh
-# -*- tcl -*-
-
-proc do_time {module n buf} {
- global Failures Filesize
-
- # start kprobes
- if {[catch {exec ../../stpd/staprun -b $buf $module.ko > xxx &} pid]} {
- puts $pid
- exit -1
- }
-
- exec sleep 2
-
- # get the timings while kprobes running
- if {[catch {exec ./itest $n} res2]} {
- puts "itest failed: $res2"
- exit -1
- }
-
- exec sleep 4
- # terminate kprobes
- if {[catch {exec kill -s SIGINT $pid} res]} {
- puts "Kill failed: $res"
- }
-
- exec sleep 4
-
- # look for warnings
- exec tail xxx >xxx.tail
- if {[catch {open xxx.tail r} fd]} {
- puts "Cannot open test output\n"
- exit -1
- }
-
- set Failures 0
- while {[gets $fd line] >= 0} {
- if {[regexp {^\033\[33mWARNING: \033\[0mThere were ([0-9]*) transport failures.} $line match var]} {
- set Failures $var
- break
- }
- }
- close $fd
-
- set Filesize [file size xxx]
- exec /bin/rm -f xxx xxx.out
- return $res2
-}
-
-######## START HERE ###########
-
-
-set nproc [exec grep ^processor /proc/cpuinfo | wc -l]
-if {![catch {exec grep "physical id" /proc/cpuinfo} phyid]} {
- foreach phy [split $phyid \n] {
- set cpu($phy) 1
- }
-}
-set model [exec grep "model name" /proc/cpuinfo]
-set model [lindex [split $model \n] 0]
-set model [string range $model [expr [string first : $model]+1] end]
-set model [string trimleft $model]
-
-puts "TRANS BENCH for [exec uname -r] on [exec uname -m]"
-if {[file exists /etc/redhat-release]} {
- puts [exec cat /etc/redhat-release]
-}
-puts "[exec uname -n]: [exec uptime]"
-if {$nproc > 1} {
- puts "processors: $nproc ([array size cpu] physical) $model"
-} else {
- puts "processors: $nproc $model"
-}
-set mem [split [exec cat /proc/meminfo] \n]
-puts "[lindex $mem 0] [lindex $mem 1]"
-puts "--------------------------------------"
-
-# load the modules
-if {[catch {exec stp_check} res]} {
- puts $res
- exit -1
-}
-
-# warmup
-exec ./itest 20 > /dev/null
-
-set res1 [do_time bench 1 1]
-set call_overhead [lindex $res1 0]
-
-puts "Function call plus kprobe overhead = $call_overhead ns per call"
-puts "--------------------------------------"
-
-
-set max 5
-set n 1
-set buf 1
-while {$buf <= 64 && $n < $max} {
- set Failures 0
- while {!$Failures && $n < $max} {
- set res2 [do_time bench_io1 $n $buf]
- set t_printf [expr [lindex $res2 0] - $call_overhead]
- set total_print [lindex $res2 1]
- puts "PROCFS with ${buf}MB buffers"
- puts "_stp_printf on 100 chars = $t_printf ns / call system + user time."
- if {$t_printf < 0} {
- puts "res2=$res2"
- exit
- }
- puts "_stp_printf of [expr $n * 100]MB in $total_print secs real time."
- puts "Transfer rate = [format "%6.2f" [expr ($n * 100)/$total_print]] MB/sec"
- puts "Transport failures: $Failures"
- if {$Filesize != [expr $n * 100000000]} {
- puts "WARNING: file size was $Filesize (expected [expr $n * 100000000])."
- }
- puts "--------------------------------------"
- if {$Failures == 0} {incr n}
- }
- set buf [expr $buf + $buf]
-}
-
-set max 5
-set n 1
-set buf 1
-while {$buf <= 64 && $n < $max} {
- set Failures 0
- while {!$Failures && $n < $max} {
- set res2 [do_time bench_io2 $n $buf]
- set t_printf [expr [lindex $res2 0] - $call_overhead]
- set total_print [lindex $res2 1]
- puts "RELAYFS with ${buf}MB buffers"
- puts "_stp_printf on 100 chars = $t_printf ns / call system + user time."
- if {$t_printf < 0} {
- puts "res2=$res2"
- exit
- }
- puts "_stp_printf of [expr $n * 100]MB in $total_print secs real time."
- puts "Transfer rate = [format "%6.2f" [expr ($n * 100)/$total_print]] MB/sec"
- puts "Transport failures: $Failures"
- if {$Filesize != [expr $n * 100000000]} {
- puts "WARNING: file size was $Filesize (expected [expr $n * 100000000])."
- }
- puts "--------------------------------------"
- if {$Failures == 0} {incr n}
- }
- set buf [expr $buf + $buf]
-}
-
-set Failures 0
-set buf 1
-set res2 [do_time bench_io3 1 $buf]
-set t_printf [expr [lindex $res2 0] - $call_overhead]
-set total_print [lindex $res2 1]
-puts "PROCFS with ${buf}MB buffers"
-puts "_stp_printf on 1000 chars = $t_printf ns / call system + user time."
-if {$t_printf < 0} {
- puts "res2=$res2"
- exit
-}
-puts "_stp_printf of 1GB in $total_print secs real time."
-puts "Transfer rate = [format "%6.2f" [expr 1000/$total_print]] MB/sec"
-puts "Transport failures: $Failures"
-if {$Filesize != 1000000000} {
- puts "WARNING: file size was $Filesize (expected 1000000000)."
-}
-puts "--------------------------------------"
-
-set Failures 0
-set buf 1
-set res2 [do_time bench_io4 1 $buf]
-set t_printf [expr [lindex $res2 0] - $call_overhead]
-set total_print [lindex $res2 1]
-puts "RELAYFS with ${buf}MB buffers"
-puts "_stp_printf on 1000 chars = $t_printf ns / call system + user time."
-if {$t_printf < 0} {
- puts "res2=$res2"
- exit
-}
-puts "_stp_printf of 1GB in $total_print secs real time."
-puts "Transfer rate = [format "%6.2f" [expr 1000/$total_print]] MB/sec"
-puts "Transport failures: $Failures"
-if {$Filesize != 1000000000} {
- puts "WARNING: file size was $Filesize (expected 1000000000)."
-}
-puts "--------------------------------------"
-
-exec /bin/rm -f stpd_cpu*
diff --git a/runtime/probes/bench/ttest.c b/runtime/probes/bench/ttest.c
deleted file mode 100644
index 93b37c84..00000000
--- a/runtime/probes/bench/ttest.c
+++ /dev/null
@@ -1,74 +0,0 @@
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/time.h>
-#include <stdlib.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-typedef unsigned long long uint64;
-struct rusage rstart;
-
-void start()
-{
- getrusage (RUSAGE_SELF, &rstart);
-}
-
-uint64 usecs (struct timeval *tv)
-{
- return tv->tv_sec * 1000000 + tv->tv_usec;
-}
-
-uint64 stop()
-{
- struct rusage rend;
- getrusage (RUSAGE_SELF, &rend);
- uint64 utime = usecs(&rend.ru_utime) - usecs(&rstart.ru_utime);
- uint64 stime = usecs(&rend.ru_stime) - usecs(&rstart.ru_stime);
- return utime + stime;
-}
-
-void usage(char *name)
-{
- printf ("Usage %s [time]\nWhere \"time\" is millions of times to loop.\n", name);
- exit(1);
-}
-
-int main(int argc, char *argv[])
-{
- int i, n = 1;
- uint64 nsecs;
-
- if (argc > 2)
- usage(argv[0]);
-
- if (argc == 2) {
- n = strtol(argv[1], NULL, 10);
- if (n == 0)
- usage(argv[0]);
- }
-
- /* large warmup time */
- for (i = 0; i < n * 1000000; i++) {
- getuid();
- }
-
- start();
- for (i = 0; i < n * 1000000; i++)
- getuid();
-
- nsecs = stop() / (n * 1000);
-
- printf("%lld ", nsecs);
-
- start();
- for (i = 0; i < n * 1000000; i++)
- getgid();
-
- nsecs = stop() / (n * 1000);
-
- printf("%lld\n", nsecs);
-
- return 0;
-}
diff --git a/runtime/probes/build b/runtime/probes/build
deleted file mode 100755
index ad65b0dc..00000000
--- a/runtime/probes/build
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/tclsh
-# -*- tcl -*-
-
-# simple script to build each probe directory
-
-proc usage {} {
- puts "Usage: build \[-v\] \[clean\] \[debug\]"
- exit
-}
-
-set clean ""
-set verbose ""
-set debug ""
-
-foreach arg $argv {
- if {$arg == "clean"} {
- set clean $arg
- } elseif {$arg == "-v"} {
- set verbose $arg
- } elseif {$arg == "debug"} {
- set debug $arg
- } else {
- usage
- }
-}
-
-set cmd "exec ../build_probe $verbose $clean"
-
-foreach filename [lsort [glob *]] {
- if {$filename != "CVS" && [file isdirectory $filename]} {
- cd $filename
- if {[catch {exec ../build_probe $verbose $clean $debug} res]} {
- puts $res
- exit
- }
- puts $res
- cd ..
- }
-}
-
diff --git a/runtime/probes/build_probe b/runtime/probes/build_probe
deleted file mode 100755
index 7e3207b1..00000000
--- a/runtime/probes/build_probe
+++ /dev/null
@@ -1,154 +0,0 @@
-#!/usr/bin/tclsh
-# -*- tcl -*-
-
-proc usage {} {
- puts "Usage: build \[-v\] \[clean\]"
- exit -1
-}
-
-# use Makefile.template to generate a Makefile
-proc create_makefile {target relayfs} {
- if {[catch {open ../Makefile.template r} fd]} {
- puts "ERROR opening ../Makefile.template"
- exit -1
- }
- if {[catch {open Makefile w} mfd]} {
- puts "ERROR creating Makefile"
- exit -1
- }
- while {[gets $fd line] >= 0} {
- if {[regsub XXX $line $target newline]} {
- set line $newline
- }
- if {[regsub RELAYFS $line $relayfs newline]} {
- set line $newline
- }
- puts $mfd $line
- }
- close $fd
- close $mfd
-}
-
-proc build {{target ""}} {
- global clean verbose debug
- if {$target == ""} {
- set target [file tail [pwd]]
- }
- if {$clean} {
- puts "Cleaning $target"
- if {[catch {exec make clean >& compile.errors} res]} {
- [exec cat compile.errors]
- exit -1
- }
- } else {
- puts "Building $target"
-
- if {$debug == ""} {
- if {[catch {exec make >& compile.errors} res]} {
- puts "\n------------ Compile error in $target -------------------\n"
- if {[catch {open compile.errors r} fd]} {
- puts "Compile failed for unknown reasons"
- exit -1
- }
- while {[gets $fd line] >= 0} {
- puts $line
- }
- close $fd
- exit -1
- }
- } else {
- if {[catch {exec make debug >& compile.errors} res]} {
- puts "\n------------ Compile error in $target -------------------\n"
- if {[catch {open compile.errors r} fd]} {
- puts "Compile failed for unknown reasons"
- exit -1
- }
- while {[gets $fd line] >= 0} {
- puts $line
- }
- close $fd
- exit -1
- }
- }
-
- if {![catch {open compile.errors r} fd]} {
- # search for warnings
- set bad 0
- while {[gets $fd line] >= 0} {
- if {$verbose} {
- puts $line
- } else {
- if {[regexp {[^W]*([A-Za-z][A-Za-z0-9_]*)[^\"]*\"([^\"]*)} $line match warn var]} {
- if {$warn == "Warning"} {
- switch $var {
- _stp_ctrl_unregister -
- _stp_ctrl_register -
- relay_subbufs_consumed -
- _stp_ctrl_send -
- relay_open -
- relayfs_create_dir -
- relayfs_remove_dir -
- relay_flush -
- relay_switch_subbuf -
- relay_close {}
- default {
- if {$bad == 0} {
- puts "\n------------ Unexpected Warnings in $target -------------------\n"
- }
- puts $line
- set bad 1
- }
- }
- }
- }
- }
- }
- close $fd
- }
- if {$bad} {
- exit -1
- }
- }
-}
-
-set clean 0
-set verbose 0
-set debug ""
-foreach arg $argv {
- if {$arg == "clean"} {
- set clean 1
- } elseif {$arg == "-v"} {
- set verbose 1
- } elseif {$arg == "debug"} {
- set debug $arg
- } elseif {$arg != ""} {
- usage
- }
-}
-
-set relayfs ""
-if {![file exists /lib/modules/[exec uname -r]/build/include/linux/relayfs_fs.h]} {
- set relayfs {-I $(RT)/relayfs}
-}
-
-if {![catch {open targets r} tfd]} {
- while {[gets $tfd line] >= 0} {
- set target [lindex $line 0]
- create_makefile $target $relayfs
- build $target
- catch {exec /bin/rm Makefile}
- }
- close $tfd
-} else {
- if {![file exists Makefile]} {
- puts "Now in [pwd]"
- puts "ERROR: No targets file found and no Makefile either"
- exit -1
- }
- build
-}
-
-puts "Done"
-catch {exec /bin/rm compile.errors}
-
-
diff --git a/runtime/probes/os_timer/build b/runtime/probes/os_timer/build
deleted file mode 100755
index f3e83244..00000000
--- a/runtime/probes/os_timer/build
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-../build_probe $*
diff --git a/runtime/probes/os_timer/os_timer.c b/runtime/probes/os_timer/os_timer.c
deleted file mode 100644
index 4a80d02b..00000000
--- a/runtime/probes/os_timer/os_timer.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/* Use the os timer as a poor-man's time based profiler for a UP system */
-
-/* Demonstrates the beginnings of a generic framework for */
-/* asynchronous probes using the runtime */
-
-/* @todo NOTE: the statement: regs = task_pt_regs(current); */
-/* isn't working in the way I would expect. The timer callback */
-/* happens, but I don't get a reasonable value in regs->eip */
-/* Can this routine be called during the timer callback? */
-
-/* os includes */
-#include "linux/timer.h"
-
-/* How many strings to allocate. see strings.c. Default is 0. */
-#define STP_NUM_STRINGS 1
-
-/* maximum size for a string. default is 2048 */
-#define STP_STRING_SIZE 2048
-
-/* size of strings saved in maps */
-#define MAP_STRING_LENGTH 256
-
-/* width of histograms. Default 50 */
-#define HIST_WIDTH 50
-
-/* always include this. Put all non-map defines above it. */
-#include "runtime.h"
-
-/* @todo since we don't have aggregation maps yet, try regular maps */
-#define VALUE_TYPE INT64
-#define KEY1_TYPE STRING
-#define KEY2_TYPE INT64
-#include "map-gen.c"
-
-#include "map.c"
-
-#include "stat.c"
-#include "stack.c"
-
-MODULE_DESCRIPTION("SystemTap probe: os_timer");
-MODULE_AUTHOR("Charles Spirakis <charles.spirakis@intel.com>");
-
-Stat timing;
-MAP cur_addr;
-
-/* A generic asynchorous probe entry point */
-void inst_async(struct pt_regs *regs)
-{
- u64 start;
- u64 end;
- unsigned long ip;
-
- rdtscll(start);
- ip = REG_IP(regs);
-
- /* Create a map of interrupted addresses seen */
- /* really want a map of image name / address */
- _stp_map_add_sii(cur_addr, current->comm, ip, 1);
-
- /* Need _stp_stack() and _stp_ustack()? */
- /* _stp_image() and aggregation maps */
-
- rdtscll(end);
- _stp_stat_add(timing, end - start);
-}
-
-static struct timer_list timer;
-
-/* Helper function to convert from os timer callback into */
-/* generic asynchronous entry point form */
-static void os_timer_callback(unsigned long val)
-{
- struct pt_regs *regs;
-
- /* setup the next timeout now so it doesn't drift */
- /* due to processing the async probe code */
- mod_timer(&timer, jiffies + val);
-
- /* determine pt_regs from the kernel stack */
- /* @todo This doesn't seem to get a reasonable pt_regs pointer */
- /* based on the value of regs->eip. However, KSTK_EIP() in */
- /* include/asm/processor.h implies regs->eip is valid... */
- regs = task_pt_regs(current);
-
- /* Call the asynchronous probe with a ptregs struct */
- inst_async(regs);
-}
-
-/* called when the module loads. */
-int probe_start(void)
-{
- timing = _stp_stat_init(HIST_LINEAR, 0, 5000, 250);
-
- cur_addr = _stp_map_new_sii(1000);
-
- /* register the os_timer */
- init_timer(&timer);
-
- timer.expires = jiffies + 50;
- timer.function = os_timer_callback;
-
- /* data is usd for defining when the next timeout shoud occur */
- timer.data = 50;
-
- add_timer(&timer);
- return 0;
-}
-
-void probe_exit (void)
-{
- /* unregister the os_timer */
- del_timer_sync(&timer);
-
- /* print out any colledted data, etc */
- _stp_printf ("os timer done.\n");
- _stp_printf ("WARNING: Currently using task_pt_regs() to get the pt_regs struct\n");
- _stp_printf ("during the timer interrupt, but there seems to be issues with that...\n\n");
- _stp_stat_print (timing, "timing (cpu cycles): # calls:%C avg:%A min:%m max:%M\n%H", 0);
-
- _stp_print("Process\tIp\tCount\n");
- _stp_map_print (cur_addr, "%1s\t%2P\t%d");
- _stp_map_del(cur_addr);
-
- _stp_print_flush();
-}
-
diff --git a/runtime/probes/os_timer/stp b/runtime/probes/os_timer/stp
deleted file mode 100755
index f3feee70..00000000
--- a/runtime/probes/os_timer/stp
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-source ../stp
diff --git a/runtime/probes/os_timer/targets b/runtime/probes/os_timer/targets
deleted file mode 100644
index 879d3afc..00000000
--- a/runtime/probes/os_timer/targets
+++ /dev/null
@@ -1 +0,0 @@
-os_timer
diff --git a/runtime/probes/scf/README b/runtime/probes/scf/README
deleted file mode 100644
index 39fcfda8..00000000
--- a/runtime/probes/scf/README
+++ /dev/null
@@ -1,12 +0,0 @@
-/** @dir scf
-This example probe instruments smp_call_function().
-
-It demonstrates using stack backtraces as map keys to compute the most
-common path to a function.
-
-kernel.function("smp_call_function")
-{
- traces[stack()] += 1
-}
-
-*/
diff --git a/runtime/probes/scf/build b/runtime/probes/scf/build
deleted file mode 100755
index f3e83244..00000000
--- a/runtime/probes/scf/build
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-../build_probe $*
diff --git a/runtime/probes/scf/scf.c b/runtime/probes/scf/scf.c
deleted file mode 100644
index 0e29df43..00000000
--- a/runtime/probes/scf/scf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#define STP_NUM_STRINGS 1
-#include "runtime.h"
-
-#define MAP_STRING_LENGTH 512
-
-#define VALUE_TYPE INT64
-#define KEY1_TYPE STRING
-#include "map-gen.c"
-
-#include "map.c"
-#include "sym.c"
-#include "current.c"
-#include "stack.c"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: scf");
-MODULE_AUTHOR("Martin Hunt <hunt@redhat.com>");
-
-MAP map1;
-
-int inst_smp_call_function (struct kprobe *p, struct pt_regs *regs)
-{
- String str = _stp_string_init (0);
- _stp_stack_sprint (str, regs, 1);
- _stp_map_add_si (map1, _stp_string_ptr(str), 1);
- return 0;
-}
-
-static struct kprobe stp_probes[] = {
- {
- .addr = (kprobe_opcode_t *)"smp_call_function",
- .pre_handler = inst_smp_call_function
- },
-};
-
-#define MAX_STP_ROUTINE (sizeof(stp_probes)/sizeof(struct kprobe))
-
-int probe_start(void)
-{
- map1 = _stp_map_new_si (100);
- return _stp_register_kprobes (stp_probes, MAX_STP_ROUTINE);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_kprobes (stp_probes, MAX_STP_ROUTINE);
- _stp_map_print (map1, "trace[%1s] = %d\n");
- _stp_map_del (map1);
-}
-
diff --git a/runtime/probes/scf/targets b/runtime/probes/scf/targets
deleted file mode 100644
index aafcca22..00000000
--- a/runtime/probes/scf/targets
+++ /dev/null
@@ -1 +0,0 @@
-scf
diff --git a/runtime/probes/shellsnoop/README b/runtime/probes/shellsnoop/README
deleted file mode 100644
index 70b5e614..00000000
--- a/runtime/probes/shellsnoop/README
+++ /dev/null
@@ -1,73 +0,0 @@
-/** @dir shellsnoop
-Snoops on what commands are being run by shells.
-
-This is a translation of on an old dtr probe. It demonstrates maps,
-lists, and how to use _stp_copy_argv_from_user() and _stp_strncpy_from_user().
-
-Original dtr source:
-
-\verbatim
-# shellsnoop.probe - snoop shell execution as it occurs.
-# clone of dtrace shellsnoop example
-
-global {
- long @pids[long];
-}
-
-probe do_execve:entry {
- char __user *vstr;
- char str[256];
- int len;
-
- /* watch shells only */
- /* FIXME: detect more shells, like csh, tcsh, zsh */
-
- if (!strcmp(current->comm,"bash") || !strcmp(current->comm,"sh") || !strcmp(current->comm, "zsh")
- || !strcmp(current->comm, "tcsh") || !strcmp(current->comm, "pdksh"))
- {
- dlog ("%d\t%d\t%d\t%s ", current->uid, current->pid, current->parent->pid, filename);
- @pids[current->pid] = 1;
-
- /* print out argv, ignoring argv[0] */
- if (argv) argv++;
- while (argv != NULL)
- {
- if (get_user (vstr, argv))
- break;
- if (!vstr)
- break;
- len = dtr_strncpy_from_user(str, vstr, 256);
- str[len] = 0;
- printk ("%s ", str);
- argv++;
- }
- printk ("\n");
- }
-}
-
-# use filp_open because copy_from_user not needed there
-probe filp_open:entry {
- if (@pids[current->pid])
- dlog ("%d\t%d\t%s\tO %s\n", current->pid, current->parent->pid, current->comm, filename);
-}
-
-probe sys_read:entry {
- if (@pids[current->pid])
- dlog ("%d\t%d\t%s\tR %d\n", current->pid, current->parent->pid, current->comm, fd);
-}
-
-probe sys_write:entry {
- size_t len;
- char str[256];
- if (@pids[current->pid])
- {
- if (count < 64) len = count;
- else len = 64;
- if (len = dtr_strncpy_from_user(str, buf, len)) {
- str[len] = 0;
- dlog ("%d\t%d\t%s\tW %s\n", current->pid, current->parent->pid, current->comm, str);
- }
- }
-}
-\endverbatim
-*/
diff --git a/runtime/probes/shellsnoop/build b/runtime/probes/shellsnoop/build
deleted file mode 100755
index f3e83244..00000000
--- a/runtime/probes/shellsnoop/build
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-../build_probe $*
diff --git a/runtime/probes/shellsnoop/shellsnoop.c b/runtime/probes/shellsnoop/shellsnoop.c
deleted file mode 100644
index dd0c81b9..00000000
--- a/runtime/probes/shellsnoop/shellsnoop.c
+++ /dev/null
@@ -1,161 +0,0 @@
-//#define STP_RELAYFS
-#define STP_NUM_STRINGS 1
-#define STP_STRING_SIZE 8192
-#include "runtime.h"
-
-#define VALUE_TYPE INT64
-#define KEY1_TYPE INT64
-#include "map-gen.c"
-
-#define VALUE_TYPE STRING
-#define KEY1_TYPE INT64
-#include "map-gen.c"
-
-#include "map.c"
-#include "copy.c"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: shellsnoop");
-MODULE_AUTHOR("Martin Hunt <hunt@redhat.com>");
-
-MAP pids, arglist ;
-
-void _stp_copy_argv_from_user (MAP list, char __user *__user *argv)
-{
- char str[128];
- char __user *vstr;
- int len, i = 0;
-
- if (argv)
- argv++;
-
- while (argv != NULL) {
- if (get_user (vstr, argv))
- break;
-
- if (vstr == NULL)
- break;
-
- len = _stp_strncpy_from_user(str, vstr, 128);
- str[len] = 0;
- _stp_map_set_is (list, i++, str);
- argv++;
- }
-}
-
-int inst_do_execve (char * filename, char __user *__user *argv, char __user *__user *envp, struct pt_regs * regs)
-{
- struct map_node *ptr;
-
- /* watch shells only */
- /* FIXME: detect more shells, like csh, tcsh, zsh */
-
- if (!strcmp(current->comm,"bash") || !strcmp(current->comm,"sh") || !strcmp(current->comm, "zsh")
- || !strcmp(current->comm, "tcsh") || !strcmp(current->comm, "pdksh"))
- {
- _stp_printf ("%d\t%d\t%d\t%s ", current->uid, current->pid, current->parent->pid, filename);
-
- _stp_map_set_ii (pids, current->pid, 1);
-
- _stp_map_clear (arglist);
- _stp_copy_argv_from_user (arglist, argv);
-
- foreach (arglist, ptr)
- _stp_printf ("%s ", _stp_get_str(ptr));
- _stp_print("\n");
-
- _stp_print_flush();
- }
- jprobe_return();
- return 0;
-}
-
-struct file * inst_filp_open (const char * filename, int flags, int mode)
-{
- if (_stp_map_get_ii (pids, current->pid)) {
- _stp_printf ("%d\t%d\t%s\tO %s\n", current->pid, current->parent->pid, current->comm, filename);
- _stp_print_flush();
- }
- jprobe_return();
- return 0;
-}
-
-asmlinkage ssize_t inst_sys_read (unsigned int fd, char __user * buf, size_t count)
-{
- if (_stp_map_get_ii (pids, current->pid)) {
- _stp_printf ("%d\t%d\t%s\tR %d\n", current->pid, current->parent->pid, current->comm, fd);
- _stp_print_flush();
- }
- jprobe_return();
- return 0;
-}
-
-asmlinkage ssize_t inst_sys_write (unsigned int fd, const char __user * buf, size_t count)
-{
- if (_stp_map_get_ii (pids, current->pid)) {
- String str = _stp_string_init (0);
- _stp_string_from_user(str, buf, count);
- _stp_printf ("%d\t%d\t%s\tW %s", current->pid, current->parent->pid,
- current->comm, _stp_string_ptr(str));
- _stp_print_flush();
- }
-
- jprobe_return();
- return 0;
-}
-
-static struct jprobe stp_probes[] = {
- {
- .kp.addr = (kprobe_opcode_t *)"do_execve",
- .entry = (kprobe_opcode_t *) inst_do_execve
- },
- {
- .kp.addr = (kprobe_opcode_t *)"filp_open",
- .entry = (kprobe_opcode_t *) inst_filp_open
- },
- {
- .kp.addr = (kprobe_opcode_t *)"sys_read",
- .entry = (kprobe_opcode_t *) inst_sys_read
- },
- {
- .kp.addr = (kprobe_opcode_t *)"sys_write",
- .entry = (kprobe_opcode_t *) inst_sys_write
- },
-};
-
-#define MAX_STP_ROUTINE (sizeof(stp_probes)/sizeof(struct jprobe))
-
-
-int probe_start(void)
-{
- int ret;
-
- /* now initialize any data or variables */
- pids = _stp_map_new_ii(10000);
- arglist = _stp_map_new_is (10);
-
- /* now we are ready to enable the probes */
- ret = _stp_register_jprobes (stp_probes, MAX_STP_ROUTINE);
-
- if (ret < 0) {
- _stp_map_del (pids);
- _stp_map_del (arglist);
- return ret;
- }
-
- _stp_printf("instrumentation is enabled... %s\n", __this_module.name);
- _stp_print_flush();
- return ret;
-}
-
-
-void probe_exit (void)
-{
- _stp_unregister_jprobes (stp_probes, MAX_STP_ROUTINE);
- _stp_map_del (pids);
- _stp_map_del (arglist);
- _stp_printf("\nDropped %d packets\n", atomic_read(&_stp_transport_failures));
- _stp_print_flush();
-}
-
-
diff --git a/runtime/probes/shellsnoop/targets b/runtime/probes/shellsnoop/targets
deleted file mode 100644
index fdd0d724..00000000
--- a/runtime/probes/shellsnoop/targets
+++ /dev/null
@@ -1 +0,0 @@
-shellsnoop
diff --git a/runtime/probes/tasklet/README b/runtime/probes/tasklet/README
deleted file mode 100644
index 8507ad9b..00000000
--- a/runtime/probes/tasklet/README
+++ /dev/null
@@ -1,9 +0,0 @@
-/** @dir tasklet
-Sample probe in a tasklet. Useful for interrupt context testing.
-
-\verbatim
-> make
-> ./stp stp_tasklet.ko
-\endverbatim
-
-*/
diff --git a/runtime/probes/tasklet/build b/runtime/probes/tasklet/build
deleted file mode 100755
index f3e83244..00000000
--- a/runtime/probes/tasklet/build
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-../build_probe $*
diff --git a/runtime/probes/tasklet/stp_tasklet.c b/runtime/probes/tasklet/stp_tasklet.c
deleted file mode 100644
index f47fea9e..00000000
--- a/runtime/probes/tasklet/stp_tasklet.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Framework for putting a jprobe in a tasklet. */
-/* Useful for testing probes in interrupt context. */
-/* Doesn't do anything useful as is. Put test code in the inst func */
-
-#define STP_NETLINK_ONLY
-#define STP_NUM_STRINGS 1
-
-#include "runtime.h"
-#include "probes.c"
-
-MODULE_DESCRIPTION("test jprobes of tasklets");
-MODULE_AUTHOR("Martin Hunt <hunt@redhat.com>");
-
-void inst__rcu_process_callbacks(struct rcu_ctrlblk *rcp,
- struct rcu_state *rsp, struct rcu_data *rdp)
-{
- _stp_printf ("count=%d irqs_disabled=%d in_interrupt=%d in_irq=%d",
- preempt_count(), irqs_disabled(), in_interrupt(), in_irq());
- _stp_print_flush();
- jprobe_return();
-}
-
-static struct jprobe stp_probes[] = {
- {
- .kp.addr = (kprobe_opcode_t *)"__rcu_process_callbacks",
- .entry = (kprobe_opcode_t *) inst__rcu_process_callbacks
- },
-};
-#define MAX_STP_PROBES (sizeof(stp_probes)/sizeof(struct jprobe))
-
-int probe_start(void)
-{
- return _stp_register_jprobes (stp_probes, MAX_STP_PROBES);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_jprobes (stp_probes, MAX_STP_PROBES);
-}
-
diff --git a/runtime/probes/tasklet/targets b/runtime/probes/tasklet/targets
deleted file mode 100644
index 236dbd95..00000000
--- a/runtime/probes/tasklet/targets
+++ /dev/null
@@ -1 +0,0 @@
-stp_tasklet
diff --git a/runtime/probes/test4/README b/runtime/probes/test4/README
deleted file mode 100644
index 75d4be10..00000000
--- a/runtime/probes/test4/README
+++ /dev/null
@@ -1,24 +0,0 @@
-/** @dir test4
-This example probe tracks file opens, reads and writes.
-It demonstrates maps, stats, and iterators.
-
-This is a translation of on an old dtr probe. Original source is
-\verbatim
-global {
- long @opens[string];
- sum @reads[string], @writes[string];
-}
-
-probe sys_open:entry {
- @opens[current->comm]++;
-}
-
-probe sys_read:entry {
- @reads[current->comm] << count;
-}
-
-probe sys_write:entry {
- @writes[current->comm] << count;
-}
-\endverbatim
-*/
diff --git a/runtime/probes/test4/build b/runtime/probes/test4/build
deleted file mode 100755
index f3e83244..00000000
--- a/runtime/probes/test4/build
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-../build_probe $*
diff --git a/runtime/probes/test4/targets b/runtime/probes/test4/targets
deleted file mode 100644
index d234c5e0..00000000
--- a/runtime/probes/test4/targets
+++ /dev/null
@@ -1 +0,0 @@
-test4
diff --git a/runtime/probes/test4/test4.c b/runtime/probes/test4/test4.c
deleted file mode 100644
index 56027186..00000000
--- a/runtime/probes/test4/test4.c
+++ /dev/null
@@ -1,79 +0,0 @@
-#define STP_NUM_STRINGS 1
-#include "runtime.h"
-
-#define VALUE_TYPE INT64
-#define KEY1_TYPE STRING
-#include "map-gen.c"
-
-#define VALUE_TYPE STAT
-#define KEY1_TYPE STRING
-#include "map-gen.c"
-
-#include "map.c"
-#include "probes.c"
-
-MODULE_DESCRIPTION("SystemTap probe: test4");
-MODULE_AUTHOR("Martin Hunt <hunt@redhat.com>");
-
-
-MAP opens, reads, writes;
-
-asmlinkage long inst_sys_open (const char __user * filename, int flags, int mode)
-{
- _stp_map_add_si (opens, current->comm, 1);
- jprobe_return();
- return 0;
-}
-
-asmlinkage ssize_t inst_sys_read (unsigned int fd, char __user * buf, size_t count)
-{
- _stp_map_add_sx (reads, current->comm, count);
- jprobe_return();
- return 0;
-}
-
-asmlinkage ssize_t inst_sys_write (unsigned int fd, const char __user * buf, size_t count)
-{
- _stp_map_add_sx (writes, current->comm, count);
- jprobe_return();
- return 0;
-}
-
-static struct jprobe stp_probes[] = {
- {
- .kp.addr = (kprobe_opcode_t *)"sys_open",
- .entry = (kprobe_opcode_t *) inst_sys_open
- },
- {
- .kp.addr = (kprobe_opcode_t *)"sys_read",
- .entry = (kprobe_opcode_t *) inst_sys_read
- },
- {
- .kp.addr = (kprobe_opcode_t *)"sys_write",
- .entry = (kprobe_opcode_t *) inst_sys_write
- },
-};
-
-#define MAX_STP_ROUTINE (sizeof(stp_probes)/sizeof(struct jprobe))
-
-int probe_start(void)
-{
- opens = _stp_map_new_si (1000);
- reads = _stp_map_new_sx (1000, HIST_LOG, 12);
- writes = _stp_map_new_sx (1000, HIST_LOG, 12);
- return _stp_register_jprobes (stp_probes, MAX_STP_ROUTINE);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_jprobes (stp_probes, MAX_STP_ROUTINE);
-
- _stp_map_print (opens,"%d opens by process \"%1s\"");
- _stp_map_print (reads,"reads by process \"%1s\": %C. Total bytes=%S. Average: %A\n%H");
- _stp_map_print (writes,"writes by process \"%1s\": %C. Total bytes=%S. Average: %A\n%H");
- _stp_printf("\nDropped %d packets\n", atomic_read(&_stp_transport_failures));
- _stp_print_flush();
- _stp_map_del (opens);
- _stp_map_del (reads);
- _stp_map_del (writes);
-}
diff --git a/runtime/probes/where_func/README b/runtime/probes/where_func/README
deleted file mode 100644
index 78009566..00000000
--- a/runtime/probes/where_func/README
+++ /dev/null
@@ -1,29 +0,0 @@
-/** @dir where_func
-This is a silly little instrumentation routine to instrument functions
-entry by name. It makes use of the SystemTap runtime libraries to break
-down the number of times the function by caller.
-
-It demonstrates kprobes, passing a module parameter, using the print buffer,
-and using _stp_print_symbol() to map the addresses back to locations
-in functions.
-
-By default it instruments schedule().
-
-The instrumentation module is built by having the kernel that is going
-to be instrumented currently on the machine and doing
-\code
-./build
-\endcode
-The instrumentation is inserted as root with:
-\code
-/sbin/insmod kprobe_funct_where.ko funct_name=function_name
-\endcode
-The instrumentation is removed as root with:
-\code
-/sbin/rmmod kprobe_funct_where
-\endcode
--Will Cohen
-
-Note that this module is broken now because we don't pass the module parameter
-tp staprun. FIXME
-*/
diff --git a/runtime/probes/where_func/build b/runtime/probes/where_func/build
deleted file mode 100755
index f3e83244..00000000
--- a/runtime/probes/where_func/build
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-../build_probe $*
diff --git a/runtime/probes/where_func/kprobe_where_funct.c b/runtime/probes/where_func/kprobe_where_funct.c
deleted file mode 100644
index 680dabd8..00000000
--- a/runtime/probes/where_func/kprobe_where_funct.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* kprobe_where_funct.c
- this is a simple module to get information about calls to a function
- that is passed as a module option
- Will Cohen
-*/
-
-#define STP_NUM_STRINGS 1
-
-#include "runtime.h"
-
-#define VALUE_TYPE INT64
-#define KEY1_TYPE INT64
-#include "map-gen.c"
-
-#include "map.c"
-#include "probes.c"
-#include "sym.c"
-#include "current.c"
-
-MODULE_DESCRIPTION("SystemTap probe: where_func");
-MODULE_AUTHOR("Will Cohen and Martin Hunt");
-
-static char default_name[] = "schedule";
-static char *funct_name = default_name;
-module_param(funct_name, charp, 0);
-MODULE_PARM_DESC(funct_name, "function entry name.\n");
-
-MAP funct_locations;
-
-static int inst_funct(struct kprobe *p, struct pt_regs *regs)
-{
- long ret_addr = _stp_ret_addr(regs);
- _stp_map_add_ii(funct_locations, ret_addr, 1);
- return 0;
-}
-
-/*For each probe you need to allocate a kprobe structure*/
-static struct kprobe kp[] = {
- {
- .addr = default_name,
- .pre_handler = inst_funct,
- }
-};
-#define MAX_KPROBES (sizeof(kp)/sizeof(struct kprobe))
-
-int probe_start(void)
-{
- funct_locations = _stp_map_new_ii (1000);
-
- if (funct_name)
- kp[0].addr = funct_name;
-
- return _stp_register_kprobes (kp, MAX_KPROBES);
-}
-
-void probe_exit (void)
-{
- _stp_unregister_kprobes (kp, MAX_KPROBES);
-
- _stp_map_print (funct_locations, "Count: %d\tCaller: %1P");
- _stp_map_del(funct_locations);
-}
diff --git a/runtime/probes/where_func/targets b/runtime/probes/where_func/targets
deleted file mode 100644
index 7e8e4cf1..00000000
--- a/runtime/probes/where_func/targets
+++ /dev/null
@@ -1 +0,0 @@
-kprobe_where_funct