diff options
| author | Ravinder Konka <rkonka@codeaurora.org> | 2016-02-10 09:02:20 +0530 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:09:48 -0700 |
| commit | c60a91f21f119d4f14f9b9f7d7abfed6518d6bd7 (patch) | |
| tree | 55ccc74faf4b155823a792a381c7da1bdbd9d2a6 | |
| parent | 410646778a98f65bd73a82d29734fe0f090e27b7 (diff) | |
skb: Adding trace event for gso.
This patch adds trace events to help with debug for gso feature
by identifying the packets(and their lenghts) that are using
the segmentation offload feature.
Change-Id: Ibfe1194cc63e74c75047040b0c540713d539992e
Acked-by: Ashwanth Goli <ashwanth@qti.qualcomm.com>
Signed-off-by: Ravinder Konka <rkonka@codeaurora.org>
| -rw-r--r-- | include/trace/events/skb.h | 22 | ||||
| -rw-r--r-- | net/core/dev.c | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/include/trace/events/skb.h b/include/trace/events/skb.h index 0c68ae22da22..95ca6e841212 100644 --- a/include/trace/events/skb.h +++ b/include/trace/events/skb.h @@ -50,6 +50,28 @@ TRACE_EVENT(consume_skb, TP_printk("skbaddr=%p", __entry->skbaddr) ); +TRACE_EVENT(print_skb_gso, + + TP_PROTO(struct sk_buff *skb), + + TP_ARGS(skb), + + TP_STRUCT__entry( + __field(void *, skbaddr) + __field(int , len) + __field(int , data_len) + ), + + TP_fast_assign( + __entry->skbaddr = skb; + __entry->len = skb->len; + __entry->data_len = skb->data_len; + ), + + TP_printk("GSO: skbaddr=%p, len=%d, data_len=%d", + __entry->skbaddr, __entry->len, __entry->data_len) +); + TRACE_EVENT(skb_copy_datagram_iovec, TP_PROTO(const struct sk_buff *skb, int len), diff --git a/net/core/dev.c b/net/core/dev.c index f1a645cc3573..426dceb2ee03 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2768,6 +2768,7 @@ static struct sk_buff *validate_xmit_skb(struct sk_buff *skb, struct net_device if (netif_needs_gso(skb, features)) { struct sk_buff *segs; + trace_print_skb_gso(skb); segs = skb_gso_segment(skb, features); if (IS_ERR(segs)) { goto out_kfree_skb; |
