lkml.org 
[lkml]   [2015]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] tools lib traceevent: update KVM plugin
From
Date


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.

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.

Paolo


\
 
 \ /
  Last update: 2015-10-20 17:21    [W:0.039 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site