aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/perf_counter/builtin-stat.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/Documentation/perf_counter/builtin-stat.c b/Documentation/perf_counter/builtin-stat.c
index ef7e0e1192cb..588679167c88 100644
--- a/Documentation/perf_counter/builtin-stat.c
+++ b/Documentation/perf_counter/builtin-stat.c
@@ -75,6 +75,7 @@ static __u64 event_res[MAX_COUNTERS][3];
75static __u64 event_scaled[MAX_COUNTERS]; 75static __u64 event_scaled[MAX_COUNTERS];
76 76
77static __u64 runtime_nsecs; 77static __u64 runtime_nsecs;
78static __u64 walltime_nsecs;
78 79
79static void create_perfstat_counter(int counter) 80static void create_perfstat_counter(int counter)
80{ 81{
@@ -194,13 +195,19 @@ static void print_counter(int counter)
194 if (nsec_counter(counter)) { 195 if (nsec_counter(counter)) {
195 double msecs = (double)count[0] / 1000000; 196 double msecs = (double)count[0] / 1000000;
196 197
197 fprintf(stderr, " %14.6f %-20s (msecs)", 198 fprintf(stderr, " %14.6f %-20s",
198 msecs, event_name(counter)); 199 msecs, event_name(counter));
200 if (event_id[counter] ==
201 EID(PERF_TYPE_SOFTWARE, PERF_COUNT_TASK_CLOCK)) {
202
203 fprintf(stderr, " # %11.3f CPU utilization factor",
204 (double)count[0] / (double)walltime_nsecs);
205 }
199 } else { 206 } else {
200 fprintf(stderr, " %14Ld %-20s", 207 fprintf(stderr, " %14Ld %-20s",
201 count[0], event_name(counter)); 208 count[0], event_name(counter));
202 if (runtime_nsecs) 209 if (runtime_nsecs)
203 fprintf(stderr, " # %12.3f M/sec", 210 fprintf(stderr, " # %11.3f M/sec",
204 (double)count[0]/runtime_nsecs*1000.0); 211 (double)count[0]/runtime_nsecs*1000.0);
205 } 212 }
206 if (scaled) 213 if (scaled)
@@ -241,6 +248,8 @@ static int do_perfstat(int argc, const char **argv)
241 prctl(PR_TASK_PERF_COUNTERS_DISABLE); 248 prctl(PR_TASK_PERF_COUNTERS_DISABLE);
242 t1 = rdclock(); 249 t1 = rdclock();
243 250
251 walltime_nsecs = t1 - t0;
252
244 fflush(stdout); 253 fflush(stdout);
245 254
246 fprintf(stderr, "\n"); 255 fprintf(stderr, "\n");