Messages in this thread | | | Date | Fri, 21 Jan 2011 11:24:47 -0600 (CST) | From | Christoph Lameter <> | Subject | Re: [cpuops cmpxchg double V2 1/4] Generic support for this_cpu_cmpxchg_double |
| |
On Fri, 21 Jan 2011, H. Peter Anvin wrote:
> We could do cmpxchg with a structure... the problem with a lon int type is that Cristoph ran into bugs with __int128 on 64 bits.
We also would need to be pass the structure by value (well its really a variable but its like passing by value) in order to be similar to the other this_cpu_ops
You'd want either
DEFINE_PERCPU(struct mycustomdoublestruct, percpu_dd)
this_cpu_cmpxchg_double(percpu_dd, oldword1, oldword2, newword1, newword2)
with the problem of type checking
or
this_cpu_cmpxchg_double(percpu_dd, old_dd, new_dd)
with the problem of 128 bit constants/structs passed by value.
| |