On Wed, 16 Oct 2019 03:58:21 +0200 Eric Farman <farman@xxxxxxxxxxxxx> wrote: > Since the asynchronous requests are typically associated with > error recovery, let's add a simple trace when one of those is > issued to a device. > > Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxx> > --- > drivers/s390/cio/vfio_ccw_fsm.c | 4 ++++ > drivers/s390/cio/vfio_ccw_trace.c | 1 + > drivers/s390/cio/vfio_ccw_trace.h | 30 ++++++++++++++++++++++++++++++ > 3 files changed, 35 insertions(+) (...) > diff --git a/drivers/s390/cio/vfio_ccw_trace.h b/drivers/s390/cio/vfio_ccw_trace.h > index 5005d57901b4..23b288eb53dc 100644 > --- a/drivers/s390/cio/vfio_ccw_trace.h > +++ b/drivers/s390/cio/vfio_ccw_trace.h > @@ -17,6 +17,36 @@ > > #include <linux/tracepoint.h> > > +TRACE_EVENT(vfio_ccw_fsm_async_request, > + TP_PROTO(struct subchannel_id schid, > + int command, > + int errno), > + TP_ARGS(schid, command, errno), > + > + TP_STRUCT__entry( > + __field(u8, cssid) > + __field(u8, ssid) > + __field(u16, sch_no) > + __field(int, command) > + __field(int, errno) > + ), > + > + TP_fast_assign( > + __entry->cssid = schid.cssid; > + __entry->ssid = schid.ssid; > + __entry->sch_no = schid.sch_no; > + __entry->command = command; > + __entry->errno = errno; > + ), > + > + TP_printk("schid=%x.%x.%04x command=%d errno=%d", I'd probably rather print the command as a hex value. > + __entry->cssid, > + __entry->ssid, > + __entry->sch_no, > + __entry->command, > + __entry->errno) > +); > + > TRACE_EVENT(vfio_ccw_fsm_event, > TP_PROTO(struct subchannel_id schid, int state, int event), > TP_ARGS(schid, state, event),