diff options
| author | Steve Dickson <steved@redhat.com> | 2012-01-23 14:36:28 -0500 |
|---|---|---|
| committer | Steve Dickson <steved@redhat.com> | 2012-01-23 14:36:28 -0500 |
| commit | 1be52c0b9f8ade90aaa5d955ae655d5d9d8d8461 (patch) | |
| tree | ae2e00382c407fb34d3ebc68985f1a7d2d45b540 /tapset | |
| parent | 8dc5f487ec8f810704bdc70191d7b4e71f5f6174 (diff) | |
Added in new sunrpc sched trace points.
Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'tapset')
| -rw-r--r-- | tapset/rpc_clnt.stp | 42 | ||||
| -rw-r--r-- | tapset/task.stp | 2 |
2 files changed, 43 insertions, 1 deletions
diff --git a/tapset/rpc_clnt.stp b/tapset/rpc_clnt.stp new file mode 100644 index 0000000..587a67b --- /dev/null +++ b/tapset/rpc_clnt.stp @@ -0,0 +1,42 @@ +%{ +#include <linux/sunrpc/sched.h> +#include <linux/sunrpc/clnt.h> +%} +function rpcprocnum:long(_msg:long) +%{ + struct rpc_message *msg = (struct rpc_message *)(long) kread(&(THIS->_msg)); + struct rpc_procinfo *rpc_proc = + (struct rpc_procinfo *)(long) kread(&(msg->rpc_proc)); + + THIS->__retvalue = rpc_proc->p_proc; + + CATCH_DEREF_FAULT(); +%} +function rpcprocname:string(_msg:long) +%{ + struct rpc_message *msg = (struct rpc_message *)(long) kread(&(THIS->_msg)); + struct rpc_procinfo *rpc_proc = + (struct rpc_procinfo *)(long) kread(&(msg->rpc_proc)); + char *p_name = kread(&(rpc_proc->p_name)); + char buf[MAXSTRINGLEN]; + + snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s(%d)", + p_name ? p_name : "NULL" , rpc_proc->p_proc); + + CATCH_DEREF_FAULT(); +%} +function rpcprogname:string(_clnt:long) +%{ + struct rpc_clnt *clnt = (struct rpc_clnt *)(long) kread(&(THIS->_clnt)); + char *cl_server = kread(&(clnt->cl_server)); + char *cl_protname = kread(&(clnt->cl_protname)); + char buf[MAXSTRINGLEN]; + + snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s:%s(%d)", + cl_server ? cl_server : "NULL" , + cl_protname ? cl_protname : "NULL", + clnt->cl_vers); + + CATCH_DEREF_FAULT(); +%} + diff --git a/tapset/task.stp b/tapset/task.stp index bb74118..f98d7be 100644 --- a/tapset/task.stp +++ b/tapset/task.stp @@ -171,7 +171,7 @@ function cl_server:string(_task:long) %{ struct rpc_task *task = (struct rpc_task *)(long) kread(&(THIS->_task)); struct rpc_clnt *clnt; - char *cl_server; + char *cl_server = NULL; if (task) { clnt = (struct rpc_clnt *)(long) kread(&(task->tk_client)); |
