From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Ahern Subject: Re: [PULL 2/2] perf-kvm: fix of 'Min time' counting in report command Date: Wed, 09 Apr 2014 08:10:01 -0700 Message-ID: <534562C9.2010101@gmail.com> References: <1397053319-2130-1-git-send-email-borntraeger@de.ibm.com> <1397053319-2130-3-git-send-email-borntraeger@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org, KVM , Alexander Yarygin To: Christian Borntraeger , Ingo Molnar , Arnaldo Carvalho de Melo , Jiri Olsa Return-path: In-Reply-To: <1397053319-2130-3-git-send-email-borntraeger@de.ibm.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 4/9/14, 7:21 AM, Christian Borntraeger wrote: > From: Alexander Yarygin > > Every event in the perf-kvm has a 'stats' structure, which contains > max/min/average/etc times of handling this event. > The problem is that the 'perf-kvm stat report' command always shows > that 'min time' is 0us for every event. Example: > > # perf kvm stat report > Analyze events for all VCPUs: > > VM-EXIT Samples Samples% Time% Min Time Max Time > Avg time > [..] > 0xB2 MSCH 12 0.07% 0.00% 0us 8us > 7.31us ( +- 2.11% ) > 0xB2 CHSC 12 0.07% 0.00% 0us 18us > 9.39us ( +- 9.49% ) > 0xB2 STPX 8 0.05% 0.00% 0us 2us > 1.88us ( +- 7.18% ) > 0xB2 STSI 7 0.04% 0.00% 0us 44us > 16.49us ( +- 38.20% ) > [..] > > This happens because 'stats' structure is not initialized and > stats->min equals to 0. Lets initialize the structure for every > event after it's allocation using init_stats() function. This initialize > stats->min to -1 and makes 'Min time' statistics counting work: > > # perf kvm stat report > > Analyze events for all VCPUs: > > VM-EXIT Samples Samples% Time% Min Time Max Time > Avg time > [..] > 0xB2 MSCH 12 0.07% 0.00% 6us 8us > 7.31us ( +- 2.11% ) > 0xB2 CHSC 12 0.07% 0.00% 7us 18us > 9.39us ( +- 9.49% ) > 0xB2 STPX 8 0.05% 0.00% 1us 2us > 1.88us ( +- 7.18% ) > 0xB2 STSI 7 0.04% 0.00% 1us 44us > 16.49us ( +- 38.20% ) > [..] > > Signed-off-by: Alexander Yarygin > Signed-off-by: Christian Borntraeger > --- > tools/perf/builtin-kvm.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c > index 21c164b..0f1e5a2 100644 > --- a/tools/perf/builtin-kvm.c > +++ b/tools/perf/builtin-kvm.c > @@ -404,6 +404,7 @@ static struct kvm_event *kvm_alloc_init_event(struct event_key *key) > } > > event->key = *key; > + init_stats(&event->total.stats); > return event; > } Reviewed-by: David Ahern