This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: PATCH: Fix ll/sc for mips (take 3)
On Sat, Feb 02, 2002 at 01:53:23PM -0500, Justin Carlson wrote:
> 2) More importantly, most implementations don't use any sort of dynamic
> branch prediction on branch likelies. They predict taken, always, since
> that's the specified intent (it's a branch *likely* to be taken).
CPU guys hate branch likely and would probably love if whoever invented
them hires at Intel ;-)
> For most spin locks, the normal behaviour is a fall through, not taking
> that branch, so you're inflicting a branch mispredict penalty on every
> lock grabbed without contention. Even for locks which the general case
> is contention, giving the processor branch predictor a chance to learn
> that is a Good Idea.
I was thinking about spinlocks like
retry: la addrreg, retry
ll reg, lockvar
...
sc reg, lockvar
teq $0, reg
That would depend on the price of a trap instruction when it's not taken
and the probability of the lock being congested.
Ralf