This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [RFC][PATCH -tip 1/9] tracing: kprobe-tracer plugin core
- From: Masami Hiramatsu <mhiramat at redhat dot com>
- To: Frederic Weisbecker <fweisbec at gmail dot com>
- Cc: Ingo Molnar <mingo at elte dot hu>, Steven Rostedt <rostedt at goodmis dot org>, Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>, LKML <linux-kernel at vger dot kernel dot org>, systemtap-ml <systemtap at sources dot redhat dot com>
- Date: Thu, 19 Mar 2009 23:03:43 -0400
- Subject: Re: [RFC][PATCH -tip 1/9] tracing: kprobe-tracer plugin core
- References: <49C2B4AA.9050506@redhat.com> <20090320003533.GB6895@nowhere>
Frederic Weisbecker wrote:
> On Thu, Mar 19, 2009 at 05:10:02PM -0400, Masami Hiramatsu wrote:
[...]
>> +/* event recording functions */
>> +static void kprobe_trace_record(unsigned long ip, struct trace_probe *tp,
>> + struct pt_regs *regs)
>> +{
>> + __trace_printk(ip, "%s%s%+ld\n",
>> + probe_is_return(tp) ? "<-" : "@",
>> + probe_symbol(tp), probe_offset(tp));
>
>
> Ah, it means we should implement a sort of trace_printk where
> we can put a custom ip.
Yeah, trace_printk() always shows this function address, instead of
probing address.
> Anyway I don't recommend you to use __trace_printk() because
> trace_printk() wrap it by doing some choices of implementation.
>
> If the format is a builtin string like here, it will choose a binary
> insertion to the ring buffer (the format is not copied but only its address,
> and the arguments are inserted by their binary values). It is more lightweight
> and fast.
>
> If you are using such builtin format, use __trace_bprintk instead.
Sure, I'll try to use it.
Thanks!
--
Masami Hiramatsu
Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division
e-mail: mhiramat@redhat.com