Messages in this thread | | | Date | Sat, 12 Jan 2002 08:18:03 -0500 | From | Brian Gerst <> | Subject | Re: [Q] Looking for an emulation for CMOV* instructions. |
| |
"Adam J. Richter" wrote: > > H. Peter Anvin wrote, in response to Andi Kleen: > >You don't need CMPXCHG8B to do efficient inline mutexes. In fact, the > >pthreads code for i386 uses the same mutexes the kernel does (LOCK INC > >based, I believe), complete with section hacking to make them > >efficiently inlinable -- and then they're put inside a function call. > [...] > > Your comment prompted me to look at > linux-2.5.2-pre11/include/asm-i386/spinlock.h, and I now believe that > the "lock; decb" that it uses for grabbing spinlocks will return an > incorrect success if 255 or more processors are waiting on the same > spinlock.
Implementation detail. You could just as easily use a long instead of a char and have room for 2^32 processors.
-- Brian Gerst - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |