From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Rostedt Subject: Re: [PATCH] tools lib traceevent: update KVM plugin Date: Tue, 20 Oct 2015 11:26:48 -0400 Message-ID: <20151020112648.4d323069@gandalf.local.home> References: <1443695293-31127-1-git-send-email-pbonzini@redhat.com> <56181F25.2070402@redhat.com> <20151020143244.GG4400@redhat.com> <20151020104459.7e7f7e77@gandalf.local.home> <56265B70.1000206@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Arnaldo Carvalho de Melo , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, acme@kernel.org To: Paolo Bonzini Return-path: Received: from smtprelay0213.hostedemail.com ([216.40.44.213]:54454 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752174AbbJTP0v (ORCPT ); Tue, 20 Oct 2015 11:26:51 -0400 In-Reply-To: <56265B70.1000206@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, 20 Oct 2015 17:19:12 +0200 Paolo Bonzini 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