I talked to Linus about my patch and he made the good point that the
Alpha optimization is very valid (it avoids loading the GP and other
stuff by doing that fancy assembler entry point). So we decided that
we'd make the cmpxchg() generic version, but make moving over to that
gradual instead of mandatorily forcing everyone to use the new thing.
So, for example, we'd convert sparc64 (because I want to) and the
architectures using the exact same ppc64 C code, but leave the others
alone. It'd be up to the remaining platform's maintainers to move
over if they wanted to.
I'll submit that updated patch to him later today.