Re: [RFC PATCH 0/2] libtraceevent/perf: Add support for trace-cmdplugins

From: Steven Rostedt
Date: Mon Jun 18 2012 - 22:16:08 EST


[ I'm tired of getting error messages from sending to some stranger at
weisbec@xxxxxxxxx, I might as well send it to someone I know. Someone
with an 'f' ]


On Tue, 2012-06-19 at 10:40 +0900, Namhyung Kim wrote:
> On Mon, 18 Jun 2012 21:26:02 -0400, Steven Rostedt wrote:
> > On Tue, 2012-06-19 at 10:11 +0900, Namhyung Kim wrote:
> >
> >> > trace-cmd report -N
> >> > [...]
> >> > kvm-6172 [000] 14669573.114126: kvm_entry: vcpu 0
> >> > kvm-6172 [000] 14669573.114127: kvm_exit: [FAILED TO PARSE] exit_reason=30 guest_rip=0xffff357a isa=1 info1=217841672 info2=0
> >> > kvm-6172 [000] 14669573.114130: kvm_emulate_insn: [FAILED TO PARSE] rip=4294915450 csbase=0 len=1 insn=ì[ÃWVS<89>Ã<89>Öš^Gu^Q^O^E flags=5 failed=0
> >> > kvm-6172 [000] 14669573.114130: kvm_pio: pio_read at 0xcfc size 1 count 1
> >> > kvm-6172 [000] 14669573.114131: kvm_userspace_exit: reason KVM_EXIT_IO (2)
> >> > kvm-6172 [000] 14669573.114134: kvm_entry: vcpu 0
> >> >
> >>

> Ok. Then how about using __print_hex() for __print_insn? AFAICS
> ftrace_print_hex_seq() looks almost same as __print_insn() and as it's a
> generic function we can add its handler in libtraceevnt.

We can be a bit better at the raw print, sure. Here's the format that's
there:

field:__u64 rip; offset:16; size:8; signed:0;
field:__u32 csbase; offset:24; size:4; signed:0;
field:__u8 len; offset:28; size:1; signed:0;
field:__u8 insn[15]; offset:29; size:15; signed:0;
field:__u8 flags; offset:44; size:1; signed:0;
field:__u8 failed; offset:45; size:1; signed:0;

It treated __u* as decimal numbers, but it also saw that insn[15] was an
array, and with single bytes at that. So it thought it was a string, and
tried to print it out as such.

We can change the heuristics of this to make it more readable.

-- Steve


--
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/