Sergei Shtylyov wrote: > I just came across the MIPS atomic.h and system.h > implementations in 2.6.18 > which brings a question : > > Why are the primitives in include/asm-mips/atomic.h using the "sync" > instruction even in the UP case ? system.h cmpxchg only uses > the sync in the > SMP case. There was just a discussion about this in the mailing list. Check the archive. Ralf Baechle mentioned that he has a patch to remove the syncs from uniprocessor code, so that would seem to answer your question. Thread subject line: "Sync operation in atomic_add_return()".