From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Avi Kivity <avi@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
Steven Rostedt <rostedt@goodmis.org>,
linux-trace-users@vger.kernel.org, KVM list <kvm@vger.kernel.org>
Subject: Re: trace_printk() support in trace-cmd
Date: Thu, 16 Dec 2010 22:36:19 +0900 [thread overview]
Message-ID: <4D0A15D3.5020806@hitachi.com> (raw)
In-Reply-To: <4D09E7DB.5060801@redhat.com>
(2010/12/16 19:20), Avi Kivity wrote:
> On 12/13/2010 01:20 PM, Masami Hiramatsu wrote:
>> (2010/12/13 2:47), Avi Kivity wrote:
>> > On 12/12/2010 07:43 PM, Arnaldo Carvalho de Melo wrote:
>> >> Em Sun, Dec 12, 2010 at 07:42:06PM +0200, Avi Kivity escreveu:
>> >> > On 12/12/2010 07:36 PM, Arnaldo Carvalho de Melo wrote:
>> >> > >Em Sun, Dec 12, 2010 at 06:35:24PM +0200, Avi Kivity escreveu:
>> >> > >> On 11/23/2010 05:45 PM, Steven Rostedt wrote:
>> >> > >> >Again, the work around is to replace your trace_printks() with
>> >> > >> >__trace_printk(_THIS_IP_, ...) or just modify the trace_printk() macro
>> >> > >> >in include/linux/kernel.h to always use the __trace_printk() version.
>> >> > >>
>> >> > >> This works; I'm using it for now (I tried to use 'perf probe', but I
>> >> > >> get unpredictable results, like null pointer derefs).
>> >> > >
>> >> > >Can you tell us which functions, environment, etc?
>> >> >
>> >> > Something around 2.6.27-rc4; example functions are FNAME(fetch) in
>> >> > arch/x86/kvm/paging_tmpl.h; compiled modular (which was Steven's
>> >> > guess as to why it fails).
>> >> >
>> >> > (note, the failure is with trace-cmd, not /sys/kernel/debug/tracing).
>> >>
>> >> I mean the "I tried to use 'perf probe'" part.
>> >
>> > Well, same, more or less.
>> >
>> > perf probe -m kvm --add 'fetch_access=paging64_fetch pt_access=gw->pt_access pte_access=gw->pte_access dirty'
>> >
>> > would return garbage for gw->*, and the log would show the exception handler called. gw is most certainly valid.
>> >
>>
>> Thank you for reporting.
>> Hmm, actually, pagefaults could happen on fetching variables. But
>> fetching argument routines should handle it...
>
> They did handle it (or so I understood from the logs). But they shouldn't have
> occured in the first place, since gw was dereferenceable (and the function dereferences it).
Ah, OK. Sometimes, it's hard to find the register/memory location of
local variables. (and sometimes it fails)
> So something went wrong while fetching gw itself (do you interpret the
> dwarf tables to find where the variable is stored?)
Hm, yes, you can use eu-readelf to dump debuginfo, and also objdump will help you
to find the address and assembler code.
>
>> I'd like to check it, could you tell me details? for example, that exception log,
>> kprobe-tracer's event definition(you can see it via debugfs/tracing/kprobe-events)
>> and the result of `perf probe -L paging64_fetch:0-10`.
>
> I no longer have the logs, I'll try to reproduce it later.
Oh, Thank you! :)
--
Masami HIRAMATSU
2nd Dept. Linux Technology Center
Hitachi, Ltd., Systems Development Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com
prev parent reply other threads:[~2010-12-16 13:36 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-15 17:09 trace_printk() support in trace-cmd Avi Kivity
2010-11-15 17:11 ` Steven Rostedt
2010-11-15 17:31 ` Avi Kivity
2010-11-15 18:33 ` Steven Rostedt
2010-11-16 9:19 ` Avi Kivity
2010-11-16 13:11 ` Steven Rostedt
2010-11-16 15:12 ` Steven Rostedt
2010-11-23 10:52 ` Avi Kivity
2010-12-12 16:10 ` Avi Kivity
2010-12-13 15:26 ` Steven Rostedt
2010-12-13 15:43 ` Avi Kivity
2010-12-13 16:28 ` Steven Rostedt
2010-12-13 17:05 ` Avi Kivity
2010-12-13 17:05 ` Avi Kivity
2010-11-16 15:13 ` Steven Rostedt
2010-11-23 11:04 ` Avi Kivity
2010-11-23 14:30 ` Steven Rostedt
2010-11-23 14:37 ` Avi Kivity
2010-11-23 15:45 ` Steven Rostedt
2010-12-12 16:35 ` Avi Kivity
2010-12-12 17:36 ` Arnaldo Carvalho de Melo
2010-12-12 17:42 ` Avi Kivity
2010-12-12 17:43 ` Arnaldo Carvalho de Melo
2010-12-12 17:47 ` Avi Kivity
2010-12-13 11:20 ` Masami Hiramatsu
2010-12-16 10:20 ` Avi Kivity
2010-12-16 13:36 ` Masami Hiramatsu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D0A15D3.5020806@hitachi.com \
--to=masami.hiramatsu.pt@hitachi.com \
--cc=acme@ghostprotocols.net \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-trace-users@vger.kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox