On Wed, Jan 4, 2012 at 9:00 AM, Christoph Lameter <cl@xxxxxxxxx> wrote: > > xadd is 3 cycles. add is one cycle. On some uarchs. On new uarchs it can be a single cycle, I think, and on some uarchs it will even be microcoded and/or only go in one pipe because it has that odd behavior that it writes both to memory and a register, and thus doesn't fit the normal fastpaths. The point is, xadd isn't actually any faster than just doing the regular "add and read". It's *slower*. There really isn't ever any reason to use xadd on percpu variables. That's my point. You claimed that there was a performance advantage. There really isn't. So why are you still arguing? Linus -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html