LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Wang Nan <wangnan0@huawei.com>
Cc: jolsa@redhat.com, jeremie.galarneau@efficios.com,
	alexmonthy@voxpopuli.im, bigeasy@linutronix.de,
	lizefan@huawei.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/3] perf: convert: fix duplicate field names and avoid reserved keywords.
Date: Fri, 30 Jan 2015 10:25:37 -0500	[thread overview]
Message-ID: <20150130152537.GA10543@home.goodmis.org> (raw)
In-Reply-To: <1422268705-32084-3-git-send-email-wangnan0@huawei.com>

On Mon, Jan 26, 2015 at 06:38:24PM +0800, Wang Nan wrote:
> (If Steven Rostedt accept the previous patch which introduce a priv
>  field to 'struct format_field', we can use a relative simple method
>  for name conversion. If not , perf must track name conversion by
>  itself.)

Sorry for coming in so late here.

> 
> Some parameters of syscall tracepoints named as 'nr', 'event', etc.
> When dealing with them, perf convert to ctf meets some problem:
> 
>  1. If a parameter with name 'nr', it will duplicate syscall's
>     common field 'nr'. One such syscall is io_submit().
> 
>  2. If a parameter with name 'event', it is denied to be inserted
>     because 'event' is a babeltrace keywork. One such syscall is
>     epoll_ctl.
> 
> This patch appends '_dupl_X' suffix to avoid problem 1, prepend a '_'
> prefix to avoid problem 2.

Actually, I don't like this approach. That is, to have this private
data structure. Why not just add an "alias" to format_field. In other
words, instead of hiding this interaction behind a void pointer and 
needing to create a function pointer to free it, just add another
field to format field and be done with it. I think it would make
the code a hell of a lot simpler and easier to understand.

 struct format_field {
 	struct format_field	*next;
	struct event_format	*event;
	char			*type;
	char			*name;
+	char			*alias;
	int			offset;
	int			size;
	unsigned int		arraylen;
	unsigned int		elementsize;
	unsigned long		flags;
};

And put the logic in event parse to free alias if need be.
Heck, you could even add a pevent_*() func to assign the alias
using strdup, or what not.

-- Steve


  reply	other threads:[~2015-01-30 15:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-26 10:38 [PATCH v2 0/3] perf: convert to ctf: support converting syscalls:* tracepoints Wang Nan
2015-01-26 10:38 ` [PATCH v2 1/3] tools lib traceevent: add priv field to struct format_field Wang Nan
2015-01-29  9:09   ` Jiri Olsa
2015-01-30 14:17   ` Steven Rostedt
2015-01-30 14:24     ` Jiri Olsa
2015-01-30 14:46       ` [PATCHv3] tools lib traceevent: Add " Jiri Olsa
2015-01-26 10:38 ` [PATCH v2 2/3] perf: convert: fix duplicate field names and avoid reserved keywords Wang Nan
2015-01-30 15:25   ` Steven Rostedt [this message]
2015-01-30 16:00     ` Jiri Olsa
2015-01-26 10:38 ` [PATCH v2 3/3] perf: convert: fix signess of value Wang Nan
2015-01-26 15:00 ` [PATCH v2 0/3] perf: convert to ctf: support converting syscalls:* tracepoints Jiri Olsa

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=20150130152537.GA10543@home.goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=alexmonthy@voxpopuli.im \
    --cc=bigeasy@linutronix.de \
    --cc=jeremie.galarneau@efficios.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=wangnan0@huawei.com \
    --subject='Re: [PATCH v2 2/3] perf: convert: fix duplicate field names and avoid reserved keywords.' \
    /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

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).