Re: [PATCH] tools lib traceevent: update KVM plugin
From: Steven Rostedt
Date: Tue Oct 20 2015 - 11:26:57 EST
On Tue, 20 Oct 2015 17:19:12 +0200
Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
>
>
> On 20/10/2015 16:44, Steven Rostedt wrote:
> > What happens if you run new perf on an older kernel. Is this new plugin
> > going to be screwed up? Plugins should be backward compatible.
>
> If you run new perf on older kernel, the new plugin will print the
> "role" field (see kvm_mmu_print_role) slightly incorrectly. That said,
> the existing plugin was _also_ printing the role in a wildly wrong
> format, like 2.6.35 vintage; the glevels field was removed by commit
> 5b7e0102ae74, "KVM: MMU: Replace role.glevels with role.cr4_pae", in
> April 2010.
Can we add a check if glevels field exists, and do the old format if it
does? I'm very strict on making sure event-parse works with all
incarnations of kernels.
>
> Going forward it's really unlikely that the role will change apart from
> adding new bits. These can be added to the plugin while keeping it
> backwards-compatible. Addition to the role happen when you implement
> new virtual MMU features such as SMEP, SMAP or SMM. That's once per year
> or less.
>
> > Is the plugin even still needed? I'm looking at some of the kvm events
> > and they seem to be mostly self sufficient. What ones need a plugin
> > today?
>
> Yes, most of them are. It's only needed for kvm_mmu_get_page,
> kvm_mmu_prepare_zap_page and kvm_emulate_insn. The latter is only
> interesting if you install the disassembler library, and I wouldn't
> really care if it went away.
>
> kvm_mmu_get_page and kvm_mmu_prepare_zap_page, however, have output like
>
> kvm_mmu_get_page: [FAILED TO PARSE] mmu_valid_gen=0x2 gfn=786432 role=1923 root_count=0 unsync=0 created=1
>
> without the plugin vs.
>
> kvm_mmu_get_page: new sp gfn c0000 3 q0 direct rwx !pae !nxe !wp root 0 sync
>
> with the plugin.
Thanks for the update.
-- 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/