On Sad, 2005-09-03 at 07:22 +1000, Nick Piggin wrote: > > Actually we have cmpxchg on i386 these days - we don't support > > any SMP i386s so it's just done non atomically. > > Yes, I guess that's what Alan must have meant.
Well I was thinking about things like pre-empt. Also the x86 cmpxchg() is defined for non i386 processors to allow certain things to use it (ACPI, DRM etc) which know they won't be on a 386. The implementation in this case will blow up on a 386 and the __HAVE_ARCH_CMPXCHG remains false. > but I suspect that SMP isn't supported on those CPUs without ll/sc, > and thus an atomic_cmpxchg could be emulated by disabling interrupts. It's obviously emulatable on any platform - the question is at what cost. For x86 it probably isn't a big problem as there are very very few people who need to build for 386 any more and there is already a big penalty for such chips. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/