arch/tile: fix bug in delay_backoff()
authorChris Metcalf <cmetcalf@tilera.com>
Thu, 29 Mar 2012 19:43:20 +0000 (15:43 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Mon, 2 Apr 2012 16:13:15 +0000 (12:13 -0400)
We were carefully computing a value to use for the number of loops
to spin for, and then ignoring it.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
arch/tile/lib/spinlock_common.h

index c101098..6ac3750 100644 (file)
@@ -60,5 +60,5 @@ static void delay_backoff(int iterations)
        loops += __insn_crc32_32(stack_pointer, get_cycles_low()) &
                (loops - 1);
 
-       relax(1 << exponent);
+       relax(loops);
 }