Commit 0f61f3e4db71946292ef8d6d6df74b8fcf001646

Authored by Frederic Weisbecker
Committed by Ingo Molnar
1 parent 8ce2616955

perf tools: Fix sample type size calculation in 32 bits archs

The shift used here to count the number of bits set in
the mask doesn't work above the low part for archs that
are not 64 bits.

Fix the constant used for the shift.

This fixes a 32-bit perf top failure reported by Eric Dumazet:

	Can't parse sample, err = -14
	Can't parse sample, err = -14
	...

Reported-and-tested-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Eric Dumazet <eric.dumazet@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/1306200686-17317-1-git-send-email-fweisbec@gmail.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

tools/perf/util/event.c
... ... @@ -42,7 +42,7 @@
42 42 int i;
43 43  
44 44 for (i = 0; i < 64; i++) {
45   - if (mask & (1UL << i))
  45 + if (mask & (1ULL << i))
46 46 size++;
47 47 }
48 48