Re: Perf trace event parse errors for KVM events

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 2010-05-30 at 11:10 +0300, Avi Kivity wrote:
> On 05/29/2010 04:19 PM, Steven Rostedt wrote:
>     
> > The pretty printing from the kernel handles this fine. But there's
> > pressure to pass the format to userspace in binary and have the tool
> > parse it. Currently it uses the print fmt to figure out how to parse.
> >
> > Using one of the examples that Stefan showed:
> >
> > kvmmmu/kvm_mmu_get_page: print fmt: "%s %s", ({ const char *ret =
> > p->buffer + p->len; static const char *access_str[] = { "---", "--x",
> > "w--", "w-x", "-u-", "-ux", "wu-", "wux" }; union kvm_mmu_page_role
> > role; role.word = REC->role; trace_seq_printf(p, "sp gfn %llx %u%s q%u%s
> > %s%s" " %snxe root %u %s%c", REC->gfn, role.level, role.cr4_pae ? "
> > pae" : "", role.quadrant, role.direct ? " direct" : "",
> > access_str[role.access], role.invalid ? " invalid" : "", role.nxe ? "" :
> > "!", REC->root_count, REC->unsync ? "unsync" : "sync", 0); ret; }),
> > REC->created ? "new" : "existing"
> >
> >
> > You need a full C parser/interpreter to understand the above.
> >    
> 
> Right.  The tools can fall back to %x/%s based on the structure 
> descriptor if they can't parse the format string.
> 

trace-cmd has plugin support to override how to read the format and
print it out. It now has the ability to write those plugins in python.

-- Steve


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux