lkml.org 
[lkml]   [2012]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [RFC PATCH 0/2] libtraceevent/perf: Add support for trace-cmd plugins
Date
On Mon, 18 Jun 2012 08:38:20 -0600, David Ahern wrote:
> Hi Namhyung:
>

Hi David,


> On 6/18/12 2:35 AM, Namhyung Kim wrote:
>> And for this particular case in patch 2/2, it seems that format of the
>> kvm_emulate_insn event is broken already and should be fixed anyway.
>> Further improvement in this area can be addressed in perf kvm or other
>> users if needed.
>
> kvm tracepoints are fine; perf just doesn't handle their (advanced)
> formatting.
>

Yeah, I think it's a libtraceevent's issue, not perf's. Please see
below:

TRACE_EVENT(kvm_emulate_insn,
...
TP_printk("%x:%llx:%s (%s)%s",
__entry->csbase, __entry->rip,
__print_insn(__entry->insn, __entry->len),
__print_symbolic(__entry->flags,
kvm_trace_symbol_emul_flags),
__entry->failed ? " failed" : ""
)
);

And __print_insn is defined as:

#define __print_insn(insn, ilen) ({ \
int i; \
const char *ret = p->buffer + p->len; \
\
for (i = 0; i < ilen; ++i) \
trace_seq_printf(p, " %02x", insn[i]); \
trace_seq_printf(p, "%c", 0); \
ret; \
})

The parse error is occurred at the beginning of the compound statment:

Warning: bad op token {
Warning: failed to read event print fmt for kvm_emulate_insn

I don't think we can handle this kind of compound statments easily. So I
just said it *seems* broken. :) Btw, calling trace_seq_printf() here also
looks like a problem and I have no idea where the 'p' came from.

Thanks,
Namhyung


> Note that I am referring to kvm:* tracepoints, not perf-kvm which has
> its own issues that need to be fixed.
>
> David


\
 
 \ /
  Last update: 2012-06-19 03:21    [W:0.062 / U:0.516 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site