Re: [PATCH v2 3/4] vfio-ccw: Add a trace for asynchronous requests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 10/16/19 7:39 AM, Cornelia Huck wrote:
> On Wed, 16 Oct 2019 07:36:09 -0400
> Eric Farman <farman@xxxxxxxxxxxxx> wrote:
> 
>> On 10/16/19 6:15 AM, Cornelia Huck wrote:
>>> 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.  
>>
>> I'm fine with that too.  Want me to send an update?
> 
> I think that would be the easiest way.

Will do.  Thanks for the reviews on the other ones!

 - Eric

> 
>>
>>>   
>>>> +		  __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),  
>>>   
> 



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux