From: Ingo Molnar <mingo@elte.hu>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>,
Lai Jiangshan <laijs@cn.fujitsu.com>,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH][RFC] vsprintf: unify the format decoding layer for its 3 users
Date: Fri, 27 Feb 2009 10:35:31 +0100 [thread overview]
Message-ID: <20090227093531.GA24674@elte.hu> (raw)
In-Reply-To: <20090227004513.f53ed532.akpm@linux-foundation.org>
* Andrew Morton <akpm@linux-foundation.org> wrote:
> On Fri, 27 Feb 2009 09:32:12 +0100 Ingo Molnar <mingo@elte.hu> wrote:
>
> > a printf variant that outputs not into a string buffer but
> > into a binary-values buffer.
>
> Oh, OK.
>
> Of course, parsing a printf string (using our
> nobody-bothered-optimising-it parser) isn't particularly
> efficient either.
>
> Is there a case here for adding a new way of describing how to
> serialise the incoming data? Perhaps with a new and simpler
> control string or perhaps even
>
> struct ftrace_thing ft;
>
> init_ftrace_thing(&ft, "%d %l %s");
> add_ftrace_thing_int(&ft, some_int);
> add_ftrace_thing_long(&ft, some_long);
> add_ftrace_thing_string(&ft, some_string);
> emit_ftrace_thing(&ft);
>
> or some similar thing.
Maybe - but i think it misses the main point.
If we care about a tracepoint from a performance POV we wont use
printf. When it comes to raw performance then we already have
direct, non-string ways of describing data: the C language and
function calls straight to a tracepoint function. No "inbetween"
solution will be able to beat that.
The beauty (and pretty much only point) of trace_printk() is the
convenience of the well-known printf usage. It might be slow to
parse but it is what we are using in:
earth4:~/tip> git grep printk | wc -l
68603
... tens of thousands of places in the kernel.
We could invent something inbetween but why? We wont be able to
beat the performance of tracepoints that leave out the format
string middle-man, and we dont want to.
So what Lai and Frederic is trying is to offer a transparent
speedup for trace_printk().
Ingo
next prev parent reply other threads:[~2009-02-27 9:36 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-24 5:17 [PATCH 1/3] add binary printf Frederic Weisbecker
2009-02-26 13:02 ` Ingo Molnar
2009-02-26 17:05 ` Frederic Weisbecker
2009-02-26 17:43 ` Ingo Molnar
2009-02-26 17:45 ` Frederic Weisbecker
2009-02-26 17:52 ` Ingo Molnar
2009-02-26 18:34 ` Frederic Weisbecker
2009-02-26 18:45 ` Ingo Molnar
2009-02-26 18:52 ` Frederic Weisbecker
2009-02-26 18:56 ` Ingo Molnar
2009-02-26 19:05 ` Frederic Weisbecker
2009-02-27 6:19 ` [PATCH][RFC] vsprintf: unify the format decoding layer for its 3 users Frederic Weisbecker
2009-02-27 6:46 ` Andrew Morton
2009-02-27 7:12 ` Frederic Weisbecker
2009-02-27 7:39 ` Andrew Morton
2009-02-27 8:32 ` Ingo Molnar
2009-02-27 8:45 ` Andrew Morton
2009-02-27 9:35 ` Ingo Molnar [this message]
2009-02-27 8:20 ` Ingo Molnar
2009-02-27 8:33 ` Andrew Morton
2009-02-27 15:03 ` Steven Rostedt
2009-02-28 0:30 ` Linus Torvalds
2009-02-28 0:39 ` Linus Torvalds
2009-02-28 8:11 ` Frederic Weisbecker
2009-02-28 9:13 ` Ingo Molnar
2009-02-28 19:45 ` [PATCH 1/5] add binary printf Frederic Weisbecker
2009-02-28 20:16 ` [PATCH 2/5] ftrace: infrastructure for supporting binary record Frederic Weisbecker
2009-03-02 16:27 ` Steven Rostedt
2009-03-02 17:39 ` Frédéric Weisbecker
2009-02-28 21:30 ` [PATCH 3/5] ftrace: add ftrace_bprintk() Frederic Weisbecker
2009-03-02 16:34 ` Steven Rostedt
2009-03-02 17:45 ` Frédéric Weisbecker
2009-03-02 17:53 ` Steven Rostedt
2009-03-02 18:06 ` Frédéric Weisbecker
2009-03-02 18:23 ` Steven Rostedt
2009-03-02 18:55 ` Frédéric Weisbecker
2009-02-28 22:16 ` [PATCH 4/5] tracing/core: drop the old ftrace_printk implementation in favour of ftrace_bprintk Frederic Weisbecker
2009-03-02 16:37 ` Steven Rostedt
2009-03-02 17:47 ` Frédéric Weisbecker
2009-02-28 23:11 ` [PATCH][RFC] vsprintf: unify the format decoding layer for its 3 users Frederic Weisbecker
2009-03-01 2:34 ` [PATCH 5/5 v3] " Frederic Weisbecker
2009-03-01 3:31 ` [PATCH 0/5] Binary ftrace_printk Frederic Weisbecker
2009-02-28 16:54 ` [PATCH][RFC] vsprintf: unify the format decoding layer for its 3 users Linus Torvalds
2009-02-28 17:18 ` Frederic Weisbecker
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=20090227093531.GA24674@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=fweisbec@gmail.com \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=torvalds@linux-foundation.org \
/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