Home | History | Annotate | Download | only in base

Lines Matching refs:loop

35 // void SpinLockDelay(volatile Atomic32 *w, int32 value, int loop)
36 // SpinLockDelay() generates an apprproate spin delay on iteration "loop" of a
37 // spin loop on location *w, whose previously observed value was "value".
46 namespace base { namespace internal { static int SuggestedDelayNS(int loop); }}
64 for (int loop = 0; !done; loop++) {
70 SpinLockDelay(w, v, loop); // no matching transition
79 // Return a suggested delay in nanoseconds for iteration number "loop"
80 static int SuggestedDelayNS(int loop) {
89 if (loop < 0 || loop > 32) { // limit loop to 0..32
90 loop = 32;
92 // loop>>3 cannot exceed 4 because loop cannot exceed 32.
95 // Mean is exponential in loop for first 32 iterations, then 8ms.
98 return r >> (44 - (loop >> 3));