Signed overflow optimization hazards in the kernel
Signed overflow optimization hazards in the kernel
Posted Aug 18, 2012 22:34 UTC (Sat) by ppisa (subscriber, #67307)In reply to: Signed overflow optimization hazards in the kernel by PaulMcKenney
Parent article: Signed overflow optimization hazards in the kernel
Hmm, cast to unsigned used to work even for signed types and in practice works still. a+=20 is translated into single add instruction on all targets I know. The other reason for casting is, that sometimes you can strore in object only shorter part of time stamp or generation counter, if you know, that live period is small enough or if you only check for change. Casting both to smaller of the two makes subtraction possibly cheaper, the result has to be casted to smaller one anyway.
But main reason for casting to ensure thing works on existing code
with signed types.
Best wishes,
Pavel
