linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lu Baolu <baolu.lu@linux.intel.com>
To: Felipe Balbi <felipe.balbi@linux.intel.com>,
	Mathias Nyman <mathias.nyman@linux.intel.com>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/6] usb: xhci: add xhci_log_cmd trace events
Date: Wed, 15 Feb 2017 16:24:12 +0800	[thread overview]
Message-ID: <58A4102C.3020502@linux.intel.com> (raw)
In-Reply-To: <8760kbq40y.fsf@linux.intel.com>

Hi,

On 02/15/2017 03:58 PM, Felipe Balbi wrote:
> Hi,
>
> Lu Baolu <baolu.lu@linux.intel.com> writes:
>> diff --git a/drivers/usb/host/xhci-trace.h b/drivers/usb/host/xhci-trace.h
>> index 1ac2cdf..c31eeaf 100644
>> --- a/drivers/usb/host/xhci-trace.h
>> +++ b/drivers/usb/host/xhci-trace.h
>> @@ -285,6 +285,96 @@ DEFINE_EVENT(xhci_log_urb, xhci_urb_dequeue,
>>  	TP_ARGS(urb)
>>  );
>>  
>> +DECLARE_EVENT_CLASS(xhci_log_cmd,
>> +	TP_PROTO(struct xhci_command *cmd),
>> +	TP_ARGS(cmd),
>> +	TP_STRUCT__entry(
>> +		__field(struct xhci_command *, cmd)
>> +		__field(struct xhci_container_ctx *, in_ctx)
>> +		__field(union xhci_trb *, cmd_trb)
>> +		__field(int, slot_id)
>> +		__field(int, status)
>> +		__field(int, type)
>> +	),
>> +	TP_fast_assign(
>> +		__entry->cmd = cmd;
>> +		__entry->in_ctx = cmd->in_ctx;
>> +		__entry->cmd_trb = cmd->command_trb;
>> +		__entry->slot_id = cmd->slot_id;
>> +		__entry->status = cmd->status;
>> +		__entry->type = TRB_FIELD_TO_TYPE(le32_to_cpu(cmd->command_trb->generic.field[3]))
>> +	),
>> +	TP_printk("cmd @%p: %s: in_ctx=@%p, slot_id=%d, cmd_trb=@%p, status=%d",
>> +		__entry->cmd, xhci_trb_type_string(__entry->type),
>> +		__entry->in_ctx, __entry->slot_id, __entry->cmd_trb,
>> +		__entry->status
>> +	)
>> +);
> we already have a generic TRB tracer that decodes every single TRB. What
> is this bringing that the previous doesn't provide?

This tracer traces the life cycle of a command. It gives,

1) Which function started an xhci command?
2) What was name of that command?
3) Did hardware respond to it, or timed out?
4) If hardware responded, what was the execution result?
5) If timed out, did 'abort command ring operation' abort it successfully?
6) Was the command structure freed at last?

> BTW, I also have
> ready Slot and EP context tracers, I didn't send before because I
> already had quite a large series pending for Mathias :-p
>

Sorry for the duplication.

Best regards,
Lu Baolu

  reply	other threads:[~2017-02-15  8:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-15  2:35 [PATCH 0/6] usb: xhci: several patches for xhci trace Lu Baolu
2017-02-15  2:35 ` [PATCH 1/6] usb: xhci: add xhci_log_cmd trace events Lu Baolu
2017-02-15  7:58   ` Felipe Balbi
2017-02-15  8:24     ` Lu Baolu [this message]
2017-02-15  8:56       ` Felipe Balbi
2017-02-15  9:27         ` Lu Baolu
2017-02-15  2:35 ` [PATCH 2/6] usb: xhci: enhance xhci_log_ctx " Lu Baolu
2017-02-15  8:00   ` Felipe Balbi
2017-02-15  8:25     ` Lu Baolu
2017-02-15  2:35 ` [PATCH 3/6] usb: xhci: remove xhci_debug_trb() Lu Baolu
2017-02-15  2:35 ` [PATCH 4/6] usb: xhci: remove xhci_dbg_ctx() Lu Baolu
2017-02-15  2:35 ` [PATCH 5/6] usb: xhci: fix link trb decoding Lu Baolu
2017-02-15  2:35 ` [PATCH 6/6] usb: xhci: cleanup xhci_decode_trb() slightly Lu Baolu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=58A4102C.3020502@linux.intel.com \
    --to=baolu.lu@linux.intel.com \
    --cc=felipe.balbi@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).