From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH] trace-cmd: fix kvm_mmu_prepare_zap_page even name and kvm_mmu_get_page event output in kvm plugin Date: Wed, 26 Dec 2012 16:13:02 +0200 Message-ID: <20121226141302.GJ17584@redhat.com> References: <20121225114631.GC17584@redhat.com> <1356530310.2750.1.camel@fedora> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org To: Steven Rostedt Return-path: Received: from mx1.redhat.com ([209.132.183.28]:21718 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751151Ab2LZONE (ORCPT ); Wed, 26 Dec 2012 09:13:04 -0500 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id qBQED3ef004068 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 26 Dec 2012 09:13:04 -0500 Content-Disposition: inline In-Reply-To: <1356530310.2750.1.camel@fedora> Sender: kvm-owner@vger.kernel.org List-ID: On Wed, Dec 26, 2012 at 08:58:30AM -0500, Steven Rostedt wrote: > On Tue, 2012-12-25 at 13:46 +0200, Gleb Natapov wrote: > > kvm_mmu_zap_page even was renamed to kvm_mmu_prepare_zap_page. > > Print out created field for kvm_mmu_get_page event. > > trace-cmd needs to be backward compatible with older kernels. If older > kernels used kvm_mmu_zap_page, then please add a check for that and have > the plugin cope with either one. > Something like this? if (pevent_find_event_by_name(pevent, "kvmmmu", "kvm_mmu_prepare_zap_page")) pevent_register_event_handler(pevent, -1, "kvmmmu", "kvm_mmu_prepare_zap_page", kvm_mmu_print_role, NULL); else pevent_register_event_handler(pevent, -1, "kvmmmu", "kvm_mmu_zap_page", kvm_mmu_print_role, NULL); Also when trace-cmd encounters an event it does not recognize it prints mysterious message: trace-cmd: No such file or directory bad op token { Is this a bug? > Thanks, > > -- Steve > > > > > Signed-off-by: Gleb Natapov > > diff --git a/plugin_kvm.c b/plugin_kvm.c > > index 55812ef..adc5694 100644 > > --- a/plugin_kvm.c > > +++ b/plugin_kvm.c > > @@ -382,7 +382,7 @@ static int kvm_mmu_print_role(struct trace_seq *s, struct pevent_record *record, > > } else > > trace_seq_printf(s, "WORD: %08x", role.word); > > > > - pevent_print_num_field(s, " root %u", event, > > + pevent_print_num_field(s, " root %u ", event, > > "root_count", record, 1); > > > > if (pevent_get_field_val(s, event, "unsync", record, &val, 1) < 0) > > @@ -397,6 +397,11 @@ static int kvm_mmu_get_page_handler(struct trace_seq *s, struct pevent_record *r > > { > > unsigned long long val; > > > > + if (pevent_get_field_val(s, event, "created", record, &val, 1) < 0) > > + return -1; > > + > > + trace_seq_printf(s, "%s ", val ? "new" : "existing"); > > + > > if (pevent_get_field_val(s, event, "gfn", record, &val, 1) < 0) > > return -1; > > > > @@ -430,7 +435,7 @@ int PEVENT_PLUGIN_LOADER(struct pevent *pevent) > > pevent_register_event_handler(pevent, -1, "kvmmmu", "kvm_mmu_unsync_page", > > kvm_mmu_print_role, NULL); > > > > - pevent_register_event_handler(pevent, -1, "kvmmmu", "kvm_mmu_zap_page", > > + pevent_register_event_handler(pevent, -1, "kvmmmu", "kvm_mmu_prepare_zap_page", > > kvm_mmu_print_role, NULL); > > > > return 0; > > -- > > Gleb. > -- Gleb.