Re: [PATCH tracing/kprobes 0/7] tracing/kprobes: kprobe-based eventtracer update and perf support
From: Masami Hiramatsu
Date: Mon Sep 14 2009 - 17:07:43 EST
Frederic Weisbecker wrote:
On Mon, Sep 14, 2009 at 01:16:13PM -0400, Masami Hiramatsu wrote:
Frederic Weisbecker wrote:
On Fri, Sep 11, 2009 at 12:03:30PM -0400, Masami Hiramatsu wrote:
Frederic Weisbecker wrote:
May be another step in the todo-list that would be nice: define the format
for a type. Like it's done from ftrace events.
Thanks!
BTW, I'm not sure what the type means. Each event already has its own
event ID and event_call. Could you tell me which part of ftrace I should
refer to ?
Actually I meant the format for a field.
Say you define filename=arg1, it would be nice to have
print "%s", filename
in the format file.
Ah, indeed. It is better to support 'type' casting for each argument.
I think type casting can be done as below syntax.
NAME=ARG:TYPE
e.g.
jiffies64=@jiffies64:u64
message=%ax:str
Yeah looks good!
Hmm, now that I think about it, we can't dereference an array...for now :-)
:-)
BTW, currently, an entry of the array can be shown, e.g. +10(sa).
Hmm, for more complex dereference(e.g. accessing a->b[a->c]), it might need
another dereferencing syntax(e.g. "sa[16][sa[8]]"), or
just allow to use braces(e.g. "+(+8(sa))(+16(sa))").
Well, that may be too much complexity.
I guess if we want multi level dereference, say you want a->b->c
it should be sufficient to probe the point where b->c gets it's
value (if any).
But it would be nice to fetch a range: sa[begin:end]
Or at least just giving the length of the range.
Hmm, I think it is better to treat the range as a type, because
we don't know how to express each entry without the type.
NAME=ARG:TYPE[LEN]
e.g.
regs=sa:u64[16]
Thank you,
--
Masami Hiramatsu
Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division
e-mail: mhiramat@xxxxxxxxxx
--
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/