]> sourceware.org Git - systemtap.git/commitdiff
Make rpc.stap and tcpmib.stp compatible with 2.6.35
authorWenji Huang <wenji.huang@oracle.com>
Fri, 4 Jun 2010 03:05:38 +0000 (11:05 +0800)
committerWenji Huang <wenji.huang@oracle.com>
Fri, 4 Jun 2010 03:05:38 +0000 (11:05 +0800)
* tapset/rpc.stp: access structure member for om_{queue,rtt,execute}.
* tapset/tcpmib.stp: change _skb_dst to _skb_refdst.

tapset/rpc.stp
tapset/tcpmib.stp

index c96818f7ca88aba49448c837e61e638aa26c5619..d97add45d5e5ae5e02261a33d25302cabea3784f 100644 (file)
@@ -340,9 +340,17 @@ probe sunrpc.clnt.shutdown_client = kernel.function("rpc_shutdown_client") !,
                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
+               if (@defined($clnt->cl_metrics->om_queue->tv64)) {
+                     om_queue = $clnt->cl_metrics->om_queue->tv64
+                     om_rtt = $clnt->cl_metrics->om_rtt->tv64
+                     om_execute = $clnt->cl_metrics->om_execute->tv64
+               }
+               else
+               {
+                     om_queue = $clnt->cl_metrics->om_queue
+                     om_rtt = $clnt->cl_metrics->om_rtt
+                     om_execute = $clnt->cl_metrics->om_execute
+               }
        }
        else {
                om_ops = -1
index 198d2468eb8a5b1293d69ef290188e3ade20135b..ba59556399a93213a8326c0bd647e0e2146f9805 100644 (file)
@@ -261,6 +261,10 @@ function _tcpmib_input_route_type:long (skb:long)
        struct rtable *rt;
        struct sk_buff *skb = (struct sk_buff *)(long)THIS->skb;
 
+       #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
+               rt = (struct rtable *)kread(&(skb->_skb_refdst));
+       #else
+
        #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
                rt = (struct rtable *)kread(&(skb->_skb_dst));
        #else
@@ -271,6 +275,7 @@ function _tcpmib_input_route_type:long (skb:long)
                rt = (struct rtable *)kread(&(skb->rtable));
        #endif
        #endif
+       #endif
 
        if ( rt )
                THIS->__retvalue = kread(&(rt->rt_type));
This page took 0.030441 seconds and 5 git commands to generate.