diff options
| author | Jesper Dangaard Brouer <brouer@redhat.com> | 2016-07-07 12:01:32 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2016-07-09 18:05:02 -0400 |
| commit | 1db19db7f5ff4ddd3b1b6dd2092a87298ee5bd0b (patch) | |
| tree | b5f5b949245c9ff457db3fc5df523a3028351922 /include/trace | |
| parent | 89141e1c61c5390015285ab202a6f2a9a693e754 (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.h | 13 |
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 | ||
| 13 | TRACE_EVENT(napi_poll, | 13 | TRACE_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 |
