On Fri, 2012-12-21 at 18:56 -0500, Rik van Riel wrote:
> Argh, the first one had a typo in it that did not influence
> performance with fewer threads running, but that made things
> worse with more than a dozen threads...

> +
> +             /*
> +              * The lock is still busy, the delay was not long enough.
> +              * Going through here 2.7 times will, on average, cancel
> +              * out the decrement above. Using a non-integer number
> +              * gets rid of performance artifacts and reduces oversleeping.
> +              */
> +             if (delay < MAX_SPINLOCK_DELAY &&
> +                             ((inc.head & 3) == 0 || (inc.head & 7) == 1))
> +                     delay++;

((inc.head & 3) == 0 || (inc.head & 7) == 1)) seems a strange condition
to me...


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to