perf top: Update event name when falling back to cpu-clock
authorDavid Ahern <dsahern@gmail.com>
Tue, 8 May 2012 16:49:49 +0000 (10:49 -0600)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 9 May 2012 15:01:57 +0000 (12:01 -0300)
The 'perf top' command falls back to cpu-clock if the H/W cycles event
is not supported, but the event name is not updated leading to a
misleading header:

PerfTop: 8 irqs/sec  kernel:75.0%  exact:  0.0% [1000Hz cycles],  ...

Update the event name when the event type is changed so that the
header displays correctly:

PerfTop: 794 irqs/sec  kernel:100.0%  exact:  0.0% [1000Hz cpu-clock], ...

Signed-off-by: David Ahern <dsahern@gmail.com>
Link: http://lkml.kernel.org/r/1336495789-58420-1-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-top.c

index c53cdab6143331d37934fe2eb1fe89bee146a731..4eb6171e143b500332ba3dc28c9ebdf31fc5b2dd 100644 (file)
@@ -948,6 +948,10 @@ try_again:
 
                                attr->type = PERF_TYPE_SOFTWARE;
                                attr->config = PERF_COUNT_SW_CPU_CLOCK;
+                               if (counter->name) {
+                                       free(counter->name);
+                                       counter->name = strdup(event_name(counter));
+                               }
                                goto try_again;
                        }