On 08/03/2013 04:05 AM, David Ahern wrote:
> Signed-off-by: David Ahern <[email protected]>
> Cc: Arnaldo Carvalho de Melo <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Frederic Weisbecker <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Jiri Olsa <[email protected]>
> Cc: Namhyung Kim <[email protected]>
> Cc: Xiao Guangrong <[email protected]>
> Cc: Runzhen Wang <[email protected]>
> ---
>  tools/perf/builtin-kvm.c |   21 ++++++++++++++++++---
>  1 file changed, 18 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
> index 12f7593..5c6e3cd 100644
> --- a/tools/perf/builtin-kvm.c
> +++ b/tools/perf/builtin-kvm.c
> @@ -337,14 +337,19 @@ static void clear_events_cache_stats(struct list_head 
> *kvm_events_cache)
>       struct list_head *head;
>       struct kvm_event *event;
>       unsigned int i;
> +     int j;
> 
>       for (i = 0; i < EVENTS_CACHE_SIZE; i++) {
>               head = &kvm_events_cache[i];
>               list_for_each_entry(event, head, hash_entry) {
>                       /* reset stats for event */
> -                     memset(&event->total, 0, sizeof(event->total));
> -                     memset(event->vcpu, 0,
> -                            event->max_vcpu * sizeof(*event->vcpu));
> +                     event->total.time = 0;
> +                     init_stats(&event->total.stats);
> +
> +                     for (j = 0; j < event->max_vcpu; ++j) {
> +                             event->vcpu[j].time = 0;
> +                             init_stats(&event->vcpu[j].stats);
> +                     }
>               }
>       }
>  }
> @@ -718,6 +723,7 @@ static void print_result(struct perf_kvm_stat *kvm)
>       char decode[20];
>       struct kvm_event *event;
>       int vcpu = kvm->trace_vcpu;
> +     struct kvm_event_stats *kvm_stats;
> 
>       if (kvm->live) {
>               puts(CONSOLE_CLEAR);
> @@ -731,6 +737,8 @@ static void print_result(struct perf_kvm_stat *kvm)
>       pr_info("%9s ", "Samples%");
> 
>       pr_info("%9s ", "Time%");
> +     pr_info("%10s ", "Min Time");
> +     pr_info("%10s ", "Max Time");
>       pr_info("%16s ", "Avg time");
>       pr_info("\n\n");
> 
> @@ -740,11 +748,18 @@ static void print_result(struct perf_kvm_stat *kvm)
>               ecount = get_event_count(event, vcpu);
>               etime = get_event_time(event, vcpu);
> 
> +             if (vcpu == -1)
> +                     kvm_stats = &event->total;
> +             else
> +                     kvm_stats = &event->vcpu[vcpu];

Can introduce a function to do it like get_event_count()/get_event_time()?

And the min/max value are updated in patch 2, so others look good to me:
Reviewed-by: Xiao Guangrong <[email protected]>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to