- patches.trace/lttng-*: update for 2.6.32
[linux-flexiantxendom0-3.2.10.git] / include / trace / net.h
1 #ifndef _TRACE_NET_H
2 #define _TRACE_NET_H
3
4 #include <linux/tracepoint.h>
5
6 struct sk_buff;
7 DECLARE_TRACE(net_dev_xmit,
8         TP_PROTO(struct sk_buff *skb),
9         TP_ARGS(skb));
10 DECLARE_TRACE(net_dev_receive,
11         TP_PROTO(struct sk_buff *skb),
12         TP_ARGS(skb));
13
14 /*
15  * Note these first 2 traces are actually in __napi_schedule and net_rx_action
16  * respectively.  The former is in __napi_schedule because it uses at-most-once
17  * logic and placing it in the calling routine (napi_schedule) would produce
18  * countless trace events that were effectively  no-ops.  napi_poll is
19  * implemented in net_rx_action, because thats where we do our polling on
20  * devices.  The last trace point is in napi_complete, right where you would
21  * think it would be.
22  */
23 struct napi_struct;
24 DECLARE_TRACE(net_napi_schedule,
25         TP_PROTO(struct napi_struct *n),
26         TP_ARGS(n));
27 DECLARE_TRACE(net_napi_poll,
28         TP_PROTO(struct napi_struct *n),
29         TP_ARGS(n));
30 DECLARE_TRACE(net_napi_complete,
31         TP_PROTO(struct napi_struct *n),
32         TP_ARGS(n));
33
34 #endif