Re: [BUG] long freezes on thinkpad t60

From: Chuck Ebbert
Date: Thu Jun 21 2007 - 12:46:32 EST


On 06/21/2007 12:08 PM, Ingo Molnar wrote:
> yeah - i'm not at all arguing in favor of the BTRL patch i did: i always
> liked the 'nicer' inner loop of spinlocks, which could btw also easily
> use MONITOR/MWAIT.

The "nice" inner loop is necessary or else it would generate huge amounts
of bus traffic while spinning.

> So it seems the problem was that if a core kept _truly_ modifying a
> cacheline via atomics in a high enough frequency, it could artificially
> starve the other core. (which would keep waiting for the cacheline to be
> released one day, and which kept the first core from ever making any
> progress) To me that looks like a real problem on the hardware side -
> shouldnt cacheline ownership be arbitrated a bit better than that?
>

A while ago I showed that spinlocks were a lot more fair when doing
unlock with the xchg instruction on x86. Probably the arbitration is all
screwed up because we use a mov instruction, which while atomic is not
locked.

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