Re: [PATCH 2/5] ftrace: infrastructure for supporting binary record

From: Lai Jiangshan
Date: Sun Jan 04 2009 - 21:09:18 EST



>>
>> Just for curiosity. Why do you need such a binary tracing?
>> Do you need it because a string output is really too slow for your needs?

Hi, Frederic Weisbecker,

We have
1) lots of kinds events source(FUNCTION trace, TRACE_CTX, tracepoint, markers ...)
2) a generic and mature events log buffer - trace/ringbuffer.c
3) a generic and mature trace framework - trace/trace.c trace_ouput.c

But we don't have a generic events log format, we record different
events with different record formats: TRACE_FN, TRACE_CTX, TRACE_GRAPH_RET,
TRACE_SPECIAL, ... We use different struct for recording different
formats.

Too many kinds different formats, so we need a generic events log format.
This patch provide generic events log format.

Actually, We can use:
__ftrace_bprintk(0, "# %ld %ld %ld\n", arg1, arg2, arg3)
instead of TRACE_SPECIAL.
(maybe I should remove the "unsigned long ip" arg for __ftrace_bprintk()
and trace_vbprintk(), users need know the call_addr, just use "%pS")

And binary record is a little slower than string output.

Lai.


Arnaldo Carvalho de Melo wrote:
>
> warning: I haven't looked at the patch details
>
> But I would love to use something like this to provide the exact
> contents the userspace blktrace utilities want.
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/