perf tools: Fix sample size bit operations
authorFrederic Weisbecker <fweisbec@gmail.com>
Mon, 23 May 2011 11:06:27 +0000 (13:06 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 23 May 2011 11:26:36 +0000 (13:26 +0200)
What we want is to count the number of bits in the mask,
not some other random operation written in the middle
of the night.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1306148788-6179-2-git-send-email-fweisbec@gmail.com
[ Fixed perf_event__names[] alignment which was nearby and hurting my eyes ... ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/util/event.c

index 17c1c3c..252b72a 100644 (file)
@@ -9,21 +9,21 @@
 #include "thread_map.h"
 
 static const char *perf_event__names[] = {
-       [0]                      = "TOTAL",
-       [PERF_RECORD_MMAP]       = "MMAP",
-       [PERF_RECORD_LOST]       = "LOST",
-       [PERF_RECORD_COMM]       = "COMM",
-       [PERF_RECORD_EXIT]       = "EXIT",
-       [PERF_RECORD_THROTTLE]   = "THROTTLE",
-       [PERF_RECORD_UNTHROTTLE] = "UNTHROTTLE",
-       [PERF_RECORD_FORK]       = "FORK",
-       [PERF_RECORD_READ]       = "READ",
-       [PERF_RECORD_SAMPLE]     = "SAMPLE",
-       [PERF_RECORD_HEADER_ATTR]        = "ATTR",
-       [PERF_RECORD_HEADER_EVENT_TYPE]  = "EVENT_TYPE",
-       [PERF_RECORD_HEADER_TRACING_DATA]        = "TRACING_DATA",
-       [PERF_RECORD_HEADER_BUILD_ID]    = "BUILD_ID",
-       [PERF_RECORD_FINISHED_ROUND]     = "FINISHED_ROUND",
+       [0]                                     = "TOTAL",
+       [PERF_RECORD_MMAP]                      = "MMAP",
+       [PERF_RECORD_LOST]                      = "LOST",
+       [PERF_RECORD_COMM]                      = "COMM",
+       [PERF_RECORD_EXIT]                      = "EXIT",
+       [PERF_RECORD_THROTTLE]                  = "THROTTLE",
+       [PERF_RECORD_UNTHROTTLE]                = "UNTHROTTLE",
+       [PERF_RECORD_FORK]                      = "FORK",
+       [PERF_RECORD_READ]                      = "READ",
+       [PERF_RECORD_SAMPLE]                    = "SAMPLE",
+       [PERF_RECORD_HEADER_ATTR]               = "ATTR",
+       [PERF_RECORD_HEADER_EVENT_TYPE]         = "EVENT_TYPE",
+       [PERF_RECORD_HEADER_TRACING_DATA]       = "TRACING_DATA",
+       [PERF_RECORD_HEADER_BUILD_ID]           = "BUILD_ID",
+       [PERF_RECORD_FINISHED_ROUND]            = "FINISHED_ROUND",
 };
 
 const char *perf_event__name(unsigned int id)
@@ -42,7 +42,7 @@ int perf_sample_size(u64 sample_type)
        int i;
 
        for (i = 0; i < 64; i++) {
-               if ((mask << i) & 1)
+               if (mask & (1UL << i))
                        size++;
        }