summaryrefslogtreecommitdiffstats
path: root/tapset/LKET/utils.stp
diff options
context:
space:
mode:
Diffstat (limited to 'tapset/LKET/utils.stp')
-rwxr-xr-xtapset/LKET/utils.stp33
1 files changed, 33 insertions, 0 deletions
diff --git a/tapset/LKET/utils.stp b/tapset/LKET/utils.stp
new file mode 100755
index 00000000..0006246e
--- /dev/null
+++ b/tapset/LKET/utils.stp
@@ -0,0 +1,33 @@
+// Copyright (C) 2005, 2006 IBM Corp.
+//
+// This file is part of systemtap, and is free software. You can
+// redistribute it and/or modify it under the terms of the GNU General
+// Public License (GPL); either version 2, or (at your option) any
+// later version.
+
+/* data tracing filter by pid
+ return:
+ 1 - if continue to log the raw data
+ 0 - return without logging the raw data
+ */
+function filter_by_pid:long()
+%{
+ 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;
+%}