Linux CXL
 help / color / mirror / Atom feed
From: Ira Weiny <ira.weiny@intel.com>
To: Dave Jiang <dave.jiang@intel.com>
Cc: Steven Rostedt <rostedt@goodmis.org>, <linux-cxl@vger.kernel.org>,
	<dan.j.williams@intel.com>, <vishal.l.verma@intel.com>,
	<alison.schofield@intel.com>
Subject: Re: [PATCH v3 01/10] cxl: add helper function to parse trace event to json object
Date: Fri, 4 Nov 2022 11:56:46 -0700	[thread overview]
Message-ID: <Y2Vgbl/5Gudpa4bP@iweiny-desk3> (raw)
In-Reply-To: <27786f64-b35a-ef82-0e93-55ee608f64ca@intel.com>

On Thu, Nov 03, 2022 at 09:15:03AM -0700, Jiang, Dave wrote:
> 
> 
> On 11/2/2022 10:48 PM, Steven Rostedt wrote:
> > On Wed, 02 Nov 2022 14:20:09 -0700
> > Dave Jiang <dave.jiang@intel.com> wrote:
> > 
> > > Add the helper function that parses a trace event captured by
> > > libtraceevent in a tep handle. All the parsed fields are added to a json
> > > object. The json object is added to the provided list in the input parameter.
> > > 
> > > Signed-off-by: Dave Jiang <dave.jiang@intel.com>
> > > ---
> > >   cxl/event_trace.c |  166 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> > >   cxl/event_trace.h |   14 ++++

[snip]

> > > +		} else { /* single number */
> > > +			unsigned char *data;
> > > +
> > > +			data = tep_get_field_raw(NULL, event, f->name, record, &len, 0);
> > > +			if (!data)
> > > +				continue;
> > > +
> > > +			/* check to see if we have a UUID */
> > > +			tmp = strcasestr(f->type, "uuid_t");
> > 
> > I didn't even know event fields for uuid existed.
> 
> Ira figured out that you can you can use __field_struct() to accommodate
> uuid_t. Here's what he changed below:

I guess this is a hack.  I looked into creating a new entry specifier and saw
that __field_struct did what I needed.

It all seems to work fine until Alison pointed out this morning that trace-cmd
can't seem to parse this.

:-/

So now I'm not sure what is technically correct.  I've never used trace-cmd
before and this all works fine on the cmd line and with this monitor command.

Is this messing up trace-cmd?

Ira

> 
> diff --git a/include/trace/events/cxl.h b/include/trace/events/cxl.h
> index 6777a1119e68..22fcd677b6d0 100644
> --- a/include/trace/events/cxl.h
> +++ b/include/trace/events/cxl.h
> @@ -68,7 +68,7 @@ TRACE_EVENT(cxl_overflow,
> #define CXL_EVT_TP_entry                                       \
>         __string(dev_name, dev_name)                            \
>         __field(int, log)                                       \
> -       __array(u8, hdr_uuid, UUID_SIZE)                        \
> +       __field_struct(uuid_t, hdr_uuid)                        \
>         __field(u32, hdr_flags)                                 \
>         __field(u16, hdr_handle)                                \
>         __field(u16, hdr_related_handle)                        \
> @@ -79,7 +79,7 @@ TRACE_EVENT(cxl_overflow,
> #define CXL_EVT_TP_fast_assign(dname, l, hdr)                   \
>         __assign_str(dev_name, (dname));                        \
>         __entry->log = (l);                                     \
> -       memcpy(__entry->hdr_uuid, &(hdr).id, UUID_SIZE);        \
> +       memcpy(&__entry->hdr_uuid, &(hdr).id, sizeof(uuid_t));  \
>         __entry->hdr_length = (hdr).length;                     \
>         __entry->hdr_flags = get_unaligned_le24((hdr).flags);   \
>         __entry->hdr_handle = le16_to_cpu((hdr).handle);        \
> @@ -93,7 +93,7 @@ TRACE_EVENT(cxl_overflow,
>                 "handle=%x related_handle=%x maint_op_class=%u" \
>                 " : " fmt,                                      \
>                __get_str(dev_name),cxl_event_log_type_str(__entry->log), \
> -               __entry->hdr_timestamp, __entry->hdr_uuid,
> __entry->hdr_length, \
> +               __entry->hdr_timestamp, &__entry->hdr_uuid,
> __entry->hdr_length,        \
>                 show_hdr_flags(__entry->hdr_flags), __entry->hdr_handle,
> \
>                 __entry->hdr_related_handle, __entry->hdr_maint_op_class,
> \
>                 ##__VA_ARGS__)
> 

  reply	other threads:[~2022-11-04 18:57 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-02 21:20 [PATCH v3 00/10] cxl: add monitor support for trace events Dave Jiang
2022-11-02 21:20 ` [PATCH v3 01/10] cxl: add helper function to parse trace event to json object Dave Jiang
2022-11-03  5:48   ` Steven Rostedt
2022-11-03 16:15     ` Dave Jiang
2022-11-04 18:56       ` Ira Weiny [this message]
2022-11-14 17:32         ` Steven Rostedt
2022-11-14 20:44           ` Alison Schofield
2022-11-14 20:53             ` Steven Rostedt
2022-11-02 21:20 ` [PATCH v3 02/10] cxl: add helper to parse through all current events Dave Jiang
2022-11-02 21:20 ` [PATCH v3 03/10] cxl: add common function to enable event trace Dave Jiang
2022-11-03  6:00   ` Steven Rostedt
2022-11-03 16:21     ` Dave Jiang
2022-11-02 21:20 ` [PATCH v3 04/10] cxl: add common function to disable " Dave Jiang
2022-11-03  6:02   ` Steven Rostedt
2022-11-03 16:30     ` Dave Jiang
2022-11-02 21:20 ` [PATCH v3 05/10] cxl: add monitor function for event trace events Dave Jiang
2022-11-03  6:06   ` Steven Rostedt
2022-11-03 16:34     ` Dave Jiang
2022-11-02 21:20 ` [PATCH v3 06/10] cxl: add logging functions for monitor Dave Jiang
2022-11-02 21:20 ` [PATCH v3 07/10] cxl: add monitor command to cxl Dave Jiang
2022-11-02 21:20 ` [PATCH v3 08/10] cxl: add an optional pid check to event parsing Dave Jiang
2022-11-03  6:08   ` Steven Rostedt
2022-11-03 15:57     ` Alison Schofield
2022-11-02 21:20 ` [PATCH v3 09/10] cxl: add systemd service for monitor Dave Jiang
2022-11-02 21:21 ` [PATCH v3 10/10] cxl: add man page documentation " Dave Jiang

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=Y2Vgbl/5Gudpa4bP@iweiny-desk3 \
    --to=ira.weiny@intel.com \
    --cc=alison.schofield@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=vishal.l.verma@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