.. | .. |
---|
2 | 2 | #define TRACE_SYSTEM qdisc |
---|
3 | 3 | |
---|
4 | 4 | #if !defined(_TRACE_QDISC_H) || defined(TRACE_HEADER_MULTI_READ) |
---|
5 | | -#define _TRACE_QDISC_H_ |
---|
| 5 | +#define _TRACE_QDISC_H |
---|
6 | 6 | |
---|
7 | 7 | #include <linux/skbuff.h> |
---|
8 | 8 | #include <linux/netdevice.h> |
---|
9 | 9 | #include <linux/tracepoint.h> |
---|
10 | 10 | #include <linux/ftrace.h> |
---|
| 11 | +#include <linux/pkt_sched.h> |
---|
| 12 | +#include <net/sch_generic.h> |
---|
11 | 13 | |
---|
12 | 14 | TRACE_EVENT(qdisc_dequeue, |
---|
13 | 15 | |
---|
.. | .. |
---|
44 | 46 | __entry->txq_state, __entry->packets, __entry->skbaddr ) |
---|
45 | 47 | ); |
---|
46 | 48 | |
---|
47 | | -#endif /* _TRACE_QDISC_H_ */ |
---|
| 49 | +TRACE_EVENT(qdisc_reset, |
---|
| 50 | + |
---|
| 51 | + TP_PROTO(struct Qdisc *q), |
---|
| 52 | + |
---|
| 53 | + TP_ARGS(q), |
---|
| 54 | + |
---|
| 55 | + TP_STRUCT__entry( |
---|
| 56 | + __string( dev, qdisc_dev(q) ) |
---|
| 57 | + __string( kind, q->ops->id ) |
---|
| 58 | + __field( u32, parent ) |
---|
| 59 | + __field( u32, handle ) |
---|
| 60 | + ), |
---|
| 61 | + |
---|
| 62 | + TP_fast_assign( |
---|
| 63 | + __assign_str(dev, qdisc_dev(q)); |
---|
| 64 | + __assign_str(kind, q->ops->id); |
---|
| 65 | + __entry->parent = q->parent; |
---|
| 66 | + __entry->handle = q->handle; |
---|
| 67 | + ), |
---|
| 68 | + |
---|
| 69 | + TP_printk("dev=%s kind=%s parent=%x:%x handle=%x:%x", __get_str(dev), |
---|
| 70 | + __get_str(kind), TC_H_MAJ(__entry->parent) >> 16, TC_H_MIN(__entry->parent), |
---|
| 71 | + TC_H_MAJ(__entry->handle) >> 16, TC_H_MIN(__entry->handle)) |
---|
| 72 | +); |
---|
| 73 | + |
---|
| 74 | +TRACE_EVENT(qdisc_destroy, |
---|
| 75 | + |
---|
| 76 | + TP_PROTO(struct Qdisc *q), |
---|
| 77 | + |
---|
| 78 | + TP_ARGS(q), |
---|
| 79 | + |
---|
| 80 | + TP_STRUCT__entry( |
---|
| 81 | + __string( dev, qdisc_dev(q) ) |
---|
| 82 | + __string( kind, q->ops->id ) |
---|
| 83 | + __field( u32, parent ) |
---|
| 84 | + __field( u32, handle ) |
---|
| 85 | + ), |
---|
| 86 | + |
---|
| 87 | + TP_fast_assign( |
---|
| 88 | + __assign_str(dev, qdisc_dev(q)); |
---|
| 89 | + __assign_str(kind, q->ops->id); |
---|
| 90 | + __entry->parent = q->parent; |
---|
| 91 | + __entry->handle = q->handle; |
---|
| 92 | + ), |
---|
| 93 | + |
---|
| 94 | + TP_printk("dev=%s kind=%s parent=%x:%x handle=%x:%x", __get_str(dev), |
---|
| 95 | + __get_str(kind), TC_H_MAJ(__entry->parent) >> 16, TC_H_MIN(__entry->parent), |
---|
| 96 | + TC_H_MAJ(__entry->handle) >> 16, TC_H_MIN(__entry->handle)) |
---|
| 97 | +); |
---|
| 98 | + |
---|
| 99 | +TRACE_EVENT(qdisc_create, |
---|
| 100 | + |
---|
| 101 | + TP_PROTO(const struct Qdisc_ops *ops, struct net_device *dev, u32 parent), |
---|
| 102 | + |
---|
| 103 | + TP_ARGS(ops, dev, parent), |
---|
| 104 | + |
---|
| 105 | + TP_STRUCT__entry( |
---|
| 106 | + __string( dev, dev->name ) |
---|
| 107 | + __string( kind, ops->id ) |
---|
| 108 | + __field( u32, parent ) |
---|
| 109 | + ), |
---|
| 110 | + |
---|
| 111 | + TP_fast_assign( |
---|
| 112 | + __assign_str(dev, dev->name); |
---|
| 113 | + __assign_str(kind, ops->id); |
---|
| 114 | + __entry->parent = parent; |
---|
| 115 | + ), |
---|
| 116 | + |
---|
| 117 | + TP_printk("dev=%s kind=%s parent=%x:%x", |
---|
| 118 | + __get_str(dev), __get_str(kind), |
---|
| 119 | + TC_H_MAJ(__entry->parent) >> 16, TC_H_MIN(__entry->parent)) |
---|
| 120 | +); |
---|
| 121 | + |
---|
| 122 | +#endif /* _TRACE_QDISC_H */ |
---|
48 | 123 | |
---|
49 | 124 | /* This part must be outside protection */ |
---|
50 | 125 | #include <trace/define_trace.h> |
---|