[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090828203314.GA30417@hmsreliant.think-freely.org>
Date: Fri, 28 Aug 2009 16:33:14 -0400
From: Neil Horman <nhorman@...driver.com>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, mingo@...e.hu, rostedt@...dmis.org,
nhorman@...driver.com
Subject: [PATCH] skb: Augment skb_copy_datagram_iovec TRACE_EVENT to dump
more info
Hey all-
As promised in our previous discussion, I've augmented the
skb_copy_datagram_iovec TRACE_EVENT to dump out the info I was previously
gathering in the ftrace module thats been removed. This patch gives me
everything I need. Tested and working by me
Signed-off-by: Neil Horman <nhorman@...driver.com>
Neil
skb.h | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/include/trace/events/skb.h b/include/trace/events/skb.h
index 4b2be6d..45b9a3f 100644
--- a/include/trace/events/skb.h
+++ b/include/trace/events/skb.h
@@ -7,6 +7,7 @@
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <linux/tracepoint.h>
+#include <net/sock.h>
/*
* Tracepoint for free an sk_buff:
@@ -42,16 +43,35 @@ TRACE_EVENT(skb_copy_datagram_iovec,
TP_ARGS(skb, len),
TP_STRUCT__entry(
- __field( const void *, skbaddr )
+ __field( const struct sk_buff *, skb )
__field( int, len )
+ __field( int, anid )
+ __field( int, cnid )
+ __field( int, rx_queue )
+ __dynamic_array(char, name, IFNAMSIZ )
),
TP_fast_assign(
- __entry->skbaddr = skb;
+ struct net_device *dev = NULL;
+ __entry->skb = skb;
__entry->len = len;
+ __entry->anid = page_to_nid(virt_to_page(skb->data));
+ __entry->cnid = cpu_to_node(smp_processor_id());
+ __entry->rx_queue = skb->queue_mapping;
+ if (skb->sk) {
+ dev = dev_get_by_index(sock_net(skb->sk), skb->iif);
+ }
+ if (dev) {
+ __assign_str(name, dev->name);
+ dev_put(dev);
+ } else {
+ __assign_str(name, "Unknown");
+ }
),
- TP_printk("skbaddr=%p len=%d", __entry->skbaddr, __entry->len)
+ TP_printk("skb=%p anid=%d cnid=%d len=%d rx_queue=%d name=%s",
+ __entry->skb, __entry->anid, __entry->cnid,
+ __entry->len, __entry->rx_queue, __get_str(name))
);
#endif /* _TRACE_SKB_H */
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists