[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FAA06C8.6050700@hitachi.com>
Date: Wed, 09 May 2012 14:55:20 +0900
From: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Steven Rostedt <rostedt@...dmis.org>,
Srikar Dronamraju <srikar@...ux.vnet.ibm.com>,
Ingo Molnar <mingo@...e.hu>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ananth N Mavinakayanahalli <ananth@...ibm.com>,
LKML <linux-kernel@...r.kernel.org>,
Oleg Nesterov <oleg@...hat.com>,
Christoph Hellwig <hch@...radead.org>,
Arnaldo Carvalho de Melo <acme@...radead.org>,
Anton Arapov <anton@...hat.com>,
Stephen Boyd <sboyd@...eaurora.org>,
yrl.pp-manager.tt@...achi.com
Subject: Re: [PATCH v20] tracing: Fix kconfig warning due to a typo
(2012/05/08 22:17), Peter Zijlstra wrote:
> On Tue, 2012-05-08 at 08:48 -0400, Steven Rostedt wrote:
>> On Tue, 2012-05-08 at 13:29 +0200, Peter Zijlstra wrote:
>>> On Tue, 2012-05-08 at 16:41 +0530, Srikar Dronamraju wrote:
>>>> + p:uprobes/p_zsh_0x46420 /bin/zsh:0x00046420 arg1=%ip arg2=%ax
>>>
>>> can you also do things like:
>>>
>>> p:uprobes/ponies /bin/zsh:foo arg1=bar
>>>
>>> when bar is either a function argument of foo (or an otherwise live
>>> variable at the probe point)?
>>>
>>> Only sampling register content is somewhat limiting, you might want to
>>> have %ax[5] + 24 for example, or a pure memory deref -- and the dwarves
>>> know where it all lives.
>>
>> But this is for the raw entry into the kernel. The kernel wont know the
>> variable name. Although perf could do that parsing for you.
>
> Ah, ok. Yes I meant for perf to do this, I overlooked it was the kernel
> input.
Right, perf-probe can provide that interface, if we can find debuginfo.
>> That said, the %ax[5] + 24 could be done in kernel, and that would be
>> useful. Does kprobes handle that?
>
> In general something like: %mr + %c * %cr + %cr would be most useful I
> think (%m - memory address, %r - register, %c - constant). Although
> maybe it needs segment registers too, dunno. Also no idea if this covers
> the addressing scope of all archs.
Would you mean SIB + displacement addressing? :)
Currently, kprobe tracer just accept [[%mr + %c] + %c] ...,
because it's a basic functionality for accessing members of
a data structure.
I see that this is not enough for the person who want to debug
kernel in machine code level.
Now I'm considering that it may be better to re-implement
internal argument parser/fetcher for supporting those kind
of memory addressing.
Thank you,
--
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@...achi.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists