xref: /openbmc/linux/include/trace/events/nbd.h (revision ea106722c76f08002b69a6983ed84dc18958ba48)
1*ea106722SMatt Mullins /* SPDX-License-Identifier: GPL-2.0 */
2*ea106722SMatt Mullins #undef TRACE_SYSTEM
3*ea106722SMatt Mullins #define TRACE_SYSTEM nbd
4*ea106722SMatt Mullins 
5*ea106722SMatt Mullins #if !defined(_TRACE_NBD_H) || defined(TRACE_HEADER_MULTI_READ)
6*ea106722SMatt Mullins #define _TRACE_NBD_H
7*ea106722SMatt Mullins 
8*ea106722SMatt Mullins #include <linux/tracepoint.h>
9*ea106722SMatt Mullins 
10*ea106722SMatt Mullins DECLARE_EVENT_CLASS(nbd_send_request,
11*ea106722SMatt Mullins 
12*ea106722SMatt Mullins 	TP_PROTO(struct nbd_request *nbd_request, int index,
13*ea106722SMatt Mullins 		 struct request *rq),
14*ea106722SMatt Mullins 
15*ea106722SMatt Mullins 	TP_ARGS(nbd_request, index, rq),
16*ea106722SMatt Mullins 
17*ea106722SMatt Mullins 	TP_STRUCT__entry(
18*ea106722SMatt Mullins 		__field(struct nbd_request *, nbd_request)
19*ea106722SMatt Mullins 		__field(u64, dev_index)
20*ea106722SMatt Mullins 		__field(struct request *, request)
21*ea106722SMatt Mullins 	),
22*ea106722SMatt Mullins 
23*ea106722SMatt Mullins 	TP_fast_assign(
24*ea106722SMatt Mullins 		__entry->nbd_request = 0;
25*ea106722SMatt Mullins 		__entry->dev_index = index;
26*ea106722SMatt Mullins 		__entry->request = rq;
27*ea106722SMatt Mullins 	),
28*ea106722SMatt Mullins 
29*ea106722SMatt Mullins 	TP_printk("nbd%lld: request %p", __entry->dev_index, __entry->request)
30*ea106722SMatt Mullins );
31*ea106722SMatt Mullins 
32*ea106722SMatt Mullins #ifdef DEFINE_EVENT_WRITABLE
33*ea106722SMatt Mullins #undef NBD_DEFINE_EVENT
34*ea106722SMatt Mullins #define NBD_DEFINE_EVENT(template, call, proto, args, size)		\
35*ea106722SMatt Mullins 	DEFINE_EVENT_WRITABLE(template, call, PARAMS(proto),		\
36*ea106722SMatt Mullins 			      PARAMS(args), size)
37*ea106722SMatt Mullins #else
38*ea106722SMatt Mullins #undef NBD_DEFINE_EVENT
39*ea106722SMatt Mullins #define NBD_DEFINE_EVENT(template, call, proto, args, size)		\
40*ea106722SMatt Mullins 	DEFINE_EVENT(template, call, PARAMS(proto), PARAMS(args))
41*ea106722SMatt Mullins #endif
42*ea106722SMatt Mullins 
43*ea106722SMatt Mullins NBD_DEFINE_EVENT(nbd_send_request, nbd_send_request,
44*ea106722SMatt Mullins 
45*ea106722SMatt Mullins 	TP_PROTO(struct nbd_request *nbd_request, int index,
46*ea106722SMatt Mullins 		 struct request *rq),
47*ea106722SMatt Mullins 
48*ea106722SMatt Mullins 	TP_ARGS(nbd_request, index, rq),
49*ea106722SMatt Mullins 
50*ea106722SMatt Mullins 	sizeof(struct nbd_request)
51*ea106722SMatt Mullins );
52*ea106722SMatt Mullins 
53*ea106722SMatt Mullins #endif
54*ea106722SMatt Mullins 
55*ea106722SMatt Mullins /* This part must be outside protection */
56*ea106722SMatt Mullins #include <trace/define_trace.h>
57