On Tue, Nov 29, 2011 at 10:02 AM, Pekka Enberg <penberg@xxxxxxxxxx> wrote: > > The most important ones are from Christoph Lameter and Eric Dumazet that fix > stability issues on non-x86 architectures. > > Christoph Lameter (1): > slub: use irqsafe_cpu_cmpxchg for put_cpu_partial Quite frankly, I think "this_cpu_cmpxchg()" is pure crap, and this fix was wrong, wrong, WRONG. Dammit, the emulation is just bad. The *only* architecture that implements "this_cpu_cmpxchg()" specially seems to be x86. So every other architecture uses the emulated one, AND THE EMULATED ONE DOES NOT MATCH THE X86 SEMANTICS! Sorry for shouting, but that's just *incredibly* stupid. What's extra stupid is that s390 actually separately implements the irq-safe version, and does it with code that seems to be generic, and actually uses "cmpxchg()" like the regular "this_cpu_cmpxchg()" name implies! In other words, I would suggest that: - we get rid of that totally crazy idiotic "irqsafe" crap. The normal one should be irq-safe. It's named "cmpxchg", for chrissake! - we make the non-arch-specific "this_cpu_cmpxchg()" use the correct s390 routines instead of the pure and utter *shit* it uses now. Yes, I'm upset. This "random percpu crap for SLUB" has been going on too f*cking long, and it has been *continually* plagued by just pure sh*t like this. Seriously. Stop taking patches from Christoph in this area until they have been vetted for sanity and completeness. This kind of ugly "let's mis-name our functions in really subtle ways so that they work on x86 but nowhere else" needs to stop. I pulled this crap because clearly it fixes a bug, but just stop it. Show some TASTE! 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