On Mon, Dec 19, 2022 at 04:35:32PM +0100, Peter Zijlstra wrote: > In order to replace cmpxchg_double() with the newly minted > cmpxchg128() family of functions, wire it up in this_cpu_cmpxchg(). > > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> ... > --- a/arch/s390/include/asm/percpu.h > +++ b/arch/s390/include/asm/percpu.h > +#define this_cpu_cmpxchg_16(pcp, oval, nval) \ > +({ \ > + u128 old__ = __pcpu_cast_128((nval), (nval)); \ > + u128 new__ = __pcpu_cast_128((oval), (oval)); \ spot the bug... please merge the below into this patch. diff --git a/arch/s390/include/asm/percpu.h b/arch/s390/include/asm/percpu.h index 24a4d9d644c0..d1997d01892a 100644 --- a/arch/s390/include/asm/percpu.h +++ b/arch/s390/include/asm/percpu.h @@ -156,8 +156,8 @@ #define this_cpu_cmpxchg_16(pcp, oval, nval) \ ({ \ - u128 old__ = __pcpu_cast_128((nval), (nval)); \ - u128 new__ = __pcpu_cast_128((oval), (oval)); \ + u128 old__ = __pcpu_cast_128((oval), (oval)); \ + u128 new__ = __pcpu_cast_128((nval), (nval)); \ typedef typeof(pcp) pcp_op_T__; \ pcp_op_T__ *ptr__; \ u128 ret__; \