qdisc.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #undef TRACE_SYSTEM
  2. #define TRACE_SYSTEM qdisc
  3. #if !defined(_TRACE_QDISC_H) || defined(TRACE_HEADER_MULTI_READ)
  4. #define _TRACE_QDISC_H_
  5. #include <linux/skbuff.h>
  6. #include <linux/netdevice.h>
  7. #include <linux/tracepoint.h>
  8. #include <linux/ftrace.h>
  9. TRACE_EVENT(qdisc_dequeue,
  10. TP_PROTO(struct Qdisc *qdisc, const struct netdev_queue *txq,
  11. int packets, struct sk_buff *skb),
  12. TP_ARGS(qdisc, txq, packets, skb),
  13. TP_STRUCT__entry(
  14. __field( struct Qdisc *, qdisc )
  15. __field(const struct netdev_queue *, txq )
  16. __field( int, packets )
  17. __field( void *, skbaddr )
  18. __field( int, ifindex )
  19. __field( u32, handle )
  20. __field( u32, parent )
  21. __field( unsigned long, txq_state)
  22. ),
  23. /* skb==NULL indicate packets dequeued was 0, even when packets==1 */
  24. TP_fast_assign(
  25. __entry->qdisc = qdisc;
  26. __entry->txq = txq;
  27. __entry->packets = skb ? packets : 0;
  28. __entry->skbaddr = skb;
  29. __entry->ifindex = txq->dev ? txq->dev->ifindex : 0;
  30. __entry->handle = qdisc->handle;
  31. __entry->parent = qdisc->parent;
  32. __entry->txq_state = txq->state;
  33. ),
  34. TP_printk("dequeue ifindex=%d qdisc handle=0x%X parent=0x%X txq_state=0x%lX packets=%d skbaddr=%p",
  35. __entry->ifindex, __entry->handle, __entry->parent,
  36. __entry->txq_state, __entry->packets, __entry->skbaddr )
  37. );
  38. #endif /* _TRACE_QDISC_H_ */
  39. /* This part must be outside protection */
  40. #include <trace/define_trace.h>