[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110427130822.GC2936@mgebm.net>
Date: Wed, 27 Apr 2011 09:08:22 -0400
From: Eric B Munson <emunson@...bm.net>
To: David Laight <David.Laight@...LAB.COM>
Cc: benh@...nel.crashing.org, a.p.zijlstra@...llo.nl, paulus@...ba.org,
mingo@...e.hu, acme@...stprotocols.net,
linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org,
anton@...ba.org, stable@...nel.org
Subject: Re: [PATCH V4] POWER: perf_event: Skip updating kernel counters if
register value shrinks
On Wed, 27 Apr 2011, David Laight wrote:
>
> > + if (prev > val && (prev - val) < 256)
> > + delta = 0;
> > +
> > + return delta;
>
> Also, 'prev' is a true 64bit value, but 'val' is only ever 32bits.
> So once the 64bit 'prev' exceeds 2^32+256 both 'prev > val'
> and 'prev - val' are true regardless of the value of 'val'.
> This will lead to jumps in the value ....
prev and val are both 64 bit variables holding 32 bit numbers, we do not
accumulate in either, they are both replaced by values directly from the
registers. So prev > val will not always be true.
Eric
Download attachment "signature.asc" of type "application/pgp-signature" (491 bytes)
Powered by blists - more mailing lists