No. Doesn't work. The XADD code simply never worked on x86-64, which is
why those three commits I pointed at are required.
Oh, and you need one more commit (at least) in addition to the three I
already mentioned - the one that actually adds the x86-64 wrappers and
Kconfig option:
bafaecd x86-64: support native xadd rwsem implementation
so the minimal list of commits (on top of 2.6.33) is at least
59c33fa x86-32: clean up rwsem inline asm statements
5d0b723 x86: clean up rwsem type system
bafaecd x86-64: support native xadd rwsem implementation
1838ef1 x86-64, rwsem: 64-bit xadd rwsem implementation
and I just verified that they at least cherry-pick cleanly (in that
order). I _think_ it would be good to also do
0d1622d x86-64, rwsem: Avoid store forwarding hazard in __downgrade_write
but that one is a small detail, not anything fundamentally important.
Linus
--