Messages in this thread | | | From | Linus Torvalds <> | Date | Wed, 21 Dec 2011 18:19:34 -0800 | Subject | Re: [GIT PULL] slab fixes for 3.2-rc4 |
| |
On Wed, Dec 21, 2011 at 9:05 AM, Tejun Heo <tj@kernel.org> 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-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/
| |