Messages in this thread | | | Date | Mon, 05 Jan 2009 10:06:03 +0800 | From | Lai Jiangshan <> | Subject | Re: [PATCH 2/5] ftrace: infrastructure for supporting binary record |
| |
>> >> 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. >
| |