s390/cmpxchg: get rid of gcc atomic builtins
authorHeiko Carstens <hca@linux.ibm.com>
Tue, 6 Apr 2021 12:51:48 +0000 (14:51 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 12 Apr 2021 10:46:43 +0000 (12:46 +0200)
commitd2b1f6d2d35043d2c9d079c1595f10c93bfca7d2
tree09c7d0100c69972f5bbba2955a9eadb76a056036
parentb23eb636d7f9f3d7c3ae0dd443cf26c4cc1e18f7
s390/cmpxchg: get rid of gcc atomic builtins

s390 is the only architecture in the kernel which makes use of gcc's
atomic builtin functions. Even though I don't see any technical
problem with that right now, remove this code and open-code
compare-and-swap loops again, like every other architecture is doing
it also.
We can switch to a generic implementation when other architectures are
doing that also.

See also https://lwn.net/Articles/586838/ for forther details.

This basically reverts commit f318a1229bd8 ("s390/cmpxchg: use
compiler builtins").

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/cmpxchg.h