On Wed, Dec 21, 2011 at 9:05 AM, Tejun Heo <tj@xxxxxxxxxx> wrote: > > machines. (cc'ing arch) Does anyone have better insight here? How > much more expensive are local irq save/restore compared to inc/dec'ing > preempt count on various archs? I think powerpc does sw irq disable, so it's pretty much the same. However, on *most* architectures, if the stupid generic "disable interrupts and then do the op" is too expensive, they could easily just do an architecture-specific "safe" version. Especially if they only need to do cmpxchg and add. Many architectures can do those safely with load-locked, store-conditional (ie atomic_add), and do so quickly. Sure, there are broken cases wher ethat is really slow (original alpha is an example of that), but I think it's fairly rare. So both arm (in v6+) and powerpc should be able to just use the "atomic_add" version, with no real downside. So I really suspect that we could just say: "make the irq-safe version be the *only* version", and no architecture will really care. Sure, it can be more expensive, but it usually isn't. Only when done badly and stupidly is it nasty. 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