From: Li Zefan <lizf@cn.fujitsu.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@elte.hu>, Jens Axboe <jens.axboe@oracle.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Tom Zanussi <tzanussi@gmail.com>, "Theodore Ts'o" <tytso@mit.edu>,
Steven Whitehouse <swhiteho@redhat.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Jeff Moyer <jmoyer@redhat.com>,
Christoph Hellwig <hch@infradead.org>,
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 1/2] tracing/events: make __string() more general
Date: Wed, 27 May 2009 10:33:47 +0800 [thread overview]
Message-ID: <4A1CA68B.4070609@cn.fujitsu.com> (raw)
In-Reply-To: <alpine.DEB.2.00.0905262202390.27902@gandalf.stny.rr.com>
>> Ah, it's pseudo code.. Should be construct_str(__entry->cmd, rq),
>> this helper function convert rq->cmd (unsigned char[]) to a string of
>> hex dump.
>>
>> No source string is available, so I'm not calling assign_str() in
>> TP_fast_assign.
>
> OK, I think I have a better understanding of what you are doing.
>
> But, I don't like changing the interface for string by adding that
> "strlen" to all users. I find that very ugly.
>
Yeah, it does look somewhat ugly..
> Could we instead perhaps add a __dynamic_array? That would take a length,
> and append itself to after the strings?
>
I thought about this actually. ;)
What troubled me is to give this new macro a better name.
We have __array() which is fixed-size, but __dynamic_array() is not
a dynamic-size version of __array(). How about __dyn_string() or
__dynamic_string()?
> stage 1:
>
> #define __dynamic_array(item, len) int __dyn_loc_##item;
>
> stage 2:
>
> #define __dynamic_array(item, len) int item;
>
> stage 3:
>
> #define __get_dynamic_array(item) \
> ((void *)__entry + __entry->__str_loc_##field
>
> stage 4:
>
> #define __dynamic_array(item, len) \
> __str_offsets.item = __str_size + \
> offsetof(typeof(*entry), __str_data); \
> __str_size += len;
>
Then we can make __string() reuse __dynamic_array().
>
> And so on. You should be able to do something like this, and make it more
> generic.
>
next prev parent reply other threads:[~2009-05-27 2:32 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-26 4:03 [PATCH v2 0/2] tracing/events: convert block trace points to TRACE_EVENT() Li Zefan
2009-05-26 4:04 ` [PATCH v2 1/2] tracing/events: make __string() more general Li Zefan
2009-05-26 6:02 ` Christoph Hellwig
2009-05-27 1:43 ` Li Zefan
2009-05-27 7:30 ` Christoph Hellwig
2009-05-27 8:12 ` Li Zefan
2009-05-27 9:55 ` Christoph Hellwig
2009-05-26 20:56 ` Steven Rostedt
2009-05-27 1:24 ` Li Zefan
2009-05-27 1:49 ` Steven Rostedt
2009-05-27 1:59 ` Li Zefan
2009-05-27 2:15 ` Steven Rostedt
2009-05-27 2:33 ` Li Zefan [this message]
2009-05-27 2:47 ` Steven Rostedt
2009-05-27 7:22 ` Christoph Hellwig
2009-05-26 4:05 ` [PATCH v2 2/2] tracing/events: convert block trace points to TRACE_EVENT() Li Zefan
2009-06-09 5:43 ` [PATCH v3] " Li Zefan
2009-06-10 9:22 ` [tip:tracing/core] " tip-bot for Li Zefan
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=4A1CA68B.4070609@cn.fujitsu.com \
--to=lizf@cn.fujitsu.com \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=fweisbec@gmail.com \
--cc=hch@infradead.org \
--cc=jens.axboe@oracle.com \
--cc=jmoyer@redhat.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--cc=swhiteho@redhat.com \
--cc=tytso@mit.edu \
--cc=tzanussi@gmail.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