lkml.org 
[lkml]   [2011]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] perf tools: Fix sample size bit operations
On Mon, May 23, 2011 at 01:28:15PM +0200, Ingo Molnar wrote:
>
> * Frederic Weisbecker <fweisbec@gmail.com> wrote:
>
> > 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: Ingo Molnar <mingo@elte.hu>
> > Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> > Cc: Stephane Eranian <eranian@google.com>
> > ---
> > tools/perf/util/event.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
> > index 17c1c3c..d3fa7e4 100644
> > --- a/tools/perf/util/event.c
> > +++ b/tools/perf/util/event.c
> > @@ -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 & (1 << i))
> > size++;
> > }
>
> I fixed this to be 1UL and applied your fixes out of email - perf top and perf
> report works fine now, so this was a 64-bitness bug (you probably used a 32-bit
> system for testing?).

Nope I was using a 64 machine for testing, but I only tested sched_switch
events with callchains on perf report and perf script.

Perhaps that bug triggered only on perf top or with default cpu-cycle events.

>
> Btw., shouldnt this use hweight() or such?

A real proper way would better have that yeah :)


\
 
 \ /
  Last update: 2011-05-23 14:41    [W:0.051 / U:42.976 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site