summaryrefslogtreecommitdiffstats
path: root/testsuite/buildok
diff options
context:
space:
mode:
authorKiran Prakesh <kiran@linux.vnet.ibm.com>2009-10-01 22:39:32 +0530
committerJosh Stone <jistone@redhat.com>2009-10-02 16:29:56 -0700
commitae3072f460693e85962556bf0529a729c7d97bf6 (patch)
treeaab6a3db669060012aea4a5c6bdabe597eac6c74 /testsuite/buildok
parenta8f5a3bf344f9b014c5adf8b5eada10d09f31219 (diff)
downloadsystemtap-steved-ae3072f460693e85962556bf0529a729c7d97bf6.tar.gz
systemtap-steved-ae3072f460693e85962556bf0529a729c7d97bf6.tar.xz
systemtap-steved-ae3072f460693e85962556bf0529a729c7d97bf6.zip
Scheduler Tapset based on kernel tracepoints
This patch adds kernel tracepoints based probes to the scheduler tapset along with the testcase, scheduler-test-tracepoints.stp and an example script, sched_switch.stp. Signed-off-by: Kiran Prakash <kiran@linux.vnet.ibm.com> Signed-off-by: Josh Stone <jistone@redhat.com>
Diffstat (limited to 'testsuite/buildok')
-rw-r--r--testsuite/buildok/scheduler-test-tracepoints.stp51
1 files changed, 51 insertions, 0 deletions
diff --git a/testsuite/buildok/scheduler-test-tracepoints.stp b/testsuite/buildok/scheduler-test-tracepoints.stp
new file mode 100644
index 00000000..a660c367
--- /dev/null
+++ b/testsuite/buildok/scheduler-test-tracepoints.stp
@@ -0,0 +1,51 @@
+#! stap -up4
+
+//Tests if all probes in the scheduler tapset are resolvable.
+
+probe scheduler.kthread_stop {
+ printf("pid = %d, priority = %d\n", thread_pid, thread_priority);
+}
+
+probe scheduler.kthread_stop.return {
+ printf("return value = %d\n", return_value);
+}
+
+probe scheduler.wait_task {
+ printf("pid = %d, priority = %d\n", task_pid, task_priority);
+}
+
+probe scheduler.wakeup {
+ printf("pid = %d, priority = %d\n, state = %d, cpu = %d, tid = %d\n",task_pid, task_priority, task_state, task_cpu, task_tid);
+}
+
+probe scheduler.wakeup_new {
+ printf("pid = %d, priority = %d, state = %d, cpu = %d, tid = %d\n", task_pid, task_priority, task_state, task_cpu, task_tid);
+}
+
+probe scheduler.ctxswitch {
+ printf("prev_pid = %d, prev_priority = %d, prev_state = %d, prev_task_name = %s, prev_tid = %d, next_pid = %d, next_priority = %d, next_state = %d, next_task_name = %s, next_tid = %d\n", prev_pid, prev_priority, prevtsk_state, prev_task_name, prev_tid, next_pid, next_priority, nexttsk_state, next_task_name, next_tid);
+}
+
+probe scheduler.migrate {
+ printf("pid = %d, priority = %d, original cpu = %d destination cpu = %d\n", pid, priority, cpu_from, cpu_to);
+}
+
+probe scheduler.process_free {
+ printf("pid = %d, priority = %d\n", pid, priority);
+}
+
+probe scheduler.process_exit {
+ printf("pid = %d, priority = %d\n", pid, priority);
+}
+
+probe scheduler.process_wait {
+ printf("pid = %d\n", pid);
+}
+
+probe scheduler.process_fork {
+ printf("parent pid = %d, child pid = %d\n", parent_pid, child_pid);
+}
+
+probe scheduler.signal_send {
+ printf("pid = %d, signal = %d\n", pid, signal_number);
+}