All of lore.kernel.org
 help / color / mirror / Atom feed
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

      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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.