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>
This commit is contained in:
Ravinder Konka 2016-02-10 09:02:20 +05:30 committed by David Keitel
parent 410646778a
commit c60a91f21f
2 changed files with 23 additions and 0 deletions

View file

@ -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),

View file

@ -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;