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/