aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorJesper Dangaard Brouer <brouer@redhat.com>2016-07-07 12:01:32 -0400
committerDavid S. Miller <davem@davemloft.net>2016-07-09 18:05:02 -0400
commit1db19db7f5ff4ddd3b1b6dd2092a87298ee5bd0b (patch)
treeb5f5b949245c9ff457db3fc5df523a3028351922 /include/trace
parent89141e1c61c5390015285ab202a6f2a9a693e754 (diff)
net: tracepoint napi:napi_poll add work and budget
An important information for the napi_poll tracepoint is knowing the work done (packets processed) by the napi_poll() call. Add both the work done and budget, as they are related. Handle trace_napi_poll() param change in dropwatch/drop_monitor and in python perf script netdev-times.py in backward compat way, as python fortunately supports optional parameter handling. Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/napi.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/include/trace/events/napi.h b/include/trace/events/napi.h
index 8fe1e93f531d..118ed7767639 100644
--- a/include/trace/events/napi.h
+++ b/include/trace/events/napi.h
@@ -12,22 +12,27 @@
12 12
13TRACE_EVENT(napi_poll, 13TRACE_EVENT(napi_poll,
14 14
15 TP_PROTO(struct napi_struct *napi), 15 TP_PROTO(struct napi_struct *napi, int work, int budget),
16 16
17 TP_ARGS(napi), 17 TP_ARGS(napi, work, budget),
18 18
19 TP_STRUCT__entry( 19 TP_STRUCT__entry(
20 __field( struct napi_struct *, napi) 20 __field( struct napi_struct *, napi)
21 __field( int, work)
22 __field( int, budget)
21 __string( dev_name, napi->dev ? napi->dev->name : NO_DEV) 23 __string( dev_name, napi->dev ? napi->dev->name : NO_DEV)
22 ), 24 ),
23 25
24 TP_fast_assign( 26 TP_fast_assign(
25 __entry->napi = napi; 27 __entry->napi = napi;
28 __entry->work = work;
29 __entry->budget = budget;
26 __assign_str(dev_name, napi->dev ? napi->dev->name : NO_DEV); 30 __assign_str(dev_name, napi->dev ? napi->dev->name : NO_DEV);
27 ), 31 ),
28 32
29 TP_printk("napi poll on napi struct %p for device %s", 33 TP_printk("napi poll on napi struct %p for device %s work %d budget %d",
30 __entry->napi, __get_str(dev_name)) 34 __entry->napi, __get_str(dev_name),
35 __entry->work, __entry->budget)
31); 36);
32 37
33#undef NO_DEV 38#undef NO_DEV