lkml.org 
[lkml]   [2014]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PULL 2/2] perf-kvm: fix of 'Min time' counting in report command
On 4/9/14, 7:21 AM, Christian Borntraeger wrote:
> From: Alexander Yarygin <yarygin@linux.vnet.ibm.com>
>
> 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 <yarygin@linux.vnet.ibm.com>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> 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 <dsahern@gmail.com>




\
 
 \ /
  Last update: 2014-04-09 23:21    [W:0.109 / U:0.444 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site