Re: [GIT PULL] slab fixes for 3.2-rc4
From: Linus Torvalds
Date: Wed Dec 21 2011 - 21:19:57 EST
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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/