Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2e26ca71 SR |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM napi | |
4 | ||
5 | #if !defined(_TRACE_NAPI_H) || defined(TRACE_HEADER_MULTI_READ) | |
b1d45c23 | 6 | #define _TRACE_NAPI_H |
4ea7e386 NH |
7 | |
8 | #include <linux/netdevice.h> | |
9 | #include <linux/tracepoint.h> | |
3e4b10d7 NH |
10 | #include <linux/ftrace.h> |
11 | ||
12 | #define NO_DEV "(no_device)" | |
13 | ||
14 | TRACE_EVENT(napi_poll, | |
4ea7e386 | 15 | |
1db19db7 | 16 | TP_PROTO(struct napi_struct *napi, int work, int budget), |
3e4b10d7 | 17 | |
1db19db7 | 18 | TP_ARGS(napi, work, budget), |
3e4b10d7 NH |
19 | |
20 | TP_STRUCT__entry( | |
21 | __field( struct napi_struct *, napi) | |
02a19877 | 22 | __string( dev_name, napi->dev ? napi->dev->name : NO_DEV) |
1db19db7 JDB |
23 | __field( int, work) |
24 | __field( int, budget) | |
3e4b10d7 NH |
25 | ), |
26 | ||
27 | TP_fast_assign( | |
28 | __entry->napi = napi; | |
2c92ca84 | 29 | __assign_str(dev_name); |
1db19db7 JDB |
30 | __entry->work = work; |
31 | __entry->budget = budget; | |
3e4b10d7 NH |
32 | ), |
33 | ||
1db19db7 JDB |
34 | TP_printk("napi poll on napi struct %p for device %s work %d budget %d", |
35 | __entry->napi, __get_str(dev_name), | |
36 | __entry->work, __entry->budget) | |
3e4b10d7 NH |
37 | ); |
38 | ||
6025b913 JK |
39 | TRACE_EVENT(dql_stall_detected, |
40 | ||
41 | TP_PROTO(unsigned short thrs, unsigned int len, | |
42 | unsigned long last_reap, unsigned long hist_head, | |
43 | unsigned long now, unsigned long *hist), | |
44 | ||
45 | TP_ARGS(thrs, len, last_reap, hist_head, now, hist), | |
46 | ||
47 | TP_STRUCT__entry( | |
48 | __field( unsigned short, thrs) | |
49 | __field( unsigned int, len) | |
50 | __field( unsigned long, last_reap) | |
51 | __field( unsigned long, hist_head) | |
52 | __field( unsigned long, now) | |
53 | __array( unsigned long, hist, 4) | |
54 | ), | |
55 | ||
56 | TP_fast_assign( | |
57 | __entry->thrs = thrs; | |
58 | __entry->len = len; | |
59 | __entry->last_reap = last_reap; | |
60 | __entry->hist_head = hist_head * BITS_PER_LONG; | |
61 | __entry->now = now; | |
62 | memcpy(__entry->hist, hist, sizeof(entry->hist)); | |
63 | ), | |
64 | ||
65 | TP_printk("thrs %u len %u last_reap %lu hist_head %lu now %lu hist %016lx %016lx %016lx %016lx", | |
66 | __entry->thrs, __entry->len, | |
67 | __entry->last_reap, __entry->hist_head, __entry->now, | |
68 | __entry->hist[0], __entry->hist[1], | |
69 | __entry->hist[2], __entry->hist[3]) | |
70 | ); | |
71 | ||
3e4b10d7 | 72 | #undef NO_DEV |
4ea7e386 | 73 | |
b1d45c23 | 74 | #endif /* _TRACE_NAPI_H */ |
2e26ca71 SR |
75 | |
76 | /* This part must be outside protection */ | |
77 | #include <trace/define_trace.h> |