[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check t
From: |
Mark Burton |
Subject: |
Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX |
Date: |
Thu, 18 Jun 2015 20:32:34 +0200 |
for the 1<<size thing - I think that code has been used elsewhere, which is a
little worrying - I’ll check.
> On 18 Jun 2015, at 17:56, Peter Maydell <address@hidden> wrote:
>
> On 18 June 2015 at 16:44, <address@hidden> wrote:
>> + uint64_t oldval, *p;
>> + p = address_space_map(cs->as, paddr, &len, true);
>> + if (len == 8 << size) {
>> + oldval = (uint64_t)env->exclusive_val;
>> + result = (atomic_cmpxchg(p, oldval, (uint64_t)newval) ==
>> oldval);
>
> You can't do an atomic operation on a type that's larger than
> the pointer size of the host system. That means that for
> code that isn't host specific, like this, in practice you
> can't do an atomic operation on a larger size than 4 bytes.
>
I thought they were polymorphic across all types, I didn’t notice the caveat of
the size, sorry about that. That makes things more entertaining :-)
Cheers
Mark.
> (It happens to work on x86, I think, but this won't build
> on ppc32, for instance.)
>
> thanks
> -- PMM
+44 (0)20 7100 3485 x 210
+33 (0)5 33 52 01 77x 210
+33 (0)603762104
mark.burton
- [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX, fred . konrad, 2015/06/18
- Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX, Paolo Bonzini, 2015/06/18
- Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX, Peter Maydell, 2015/06/18
- Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX,
Mark Burton <=
- Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX, Peter Maydell, 2015/06/18
- Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX, Mark Burton, 2015/06/19
- Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX, Paolo Bonzini, 2015/06/19
- Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX, Mark Burton, 2015/06/19
- Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX, Paolo Bonzini, 2015/06/19
- Re: [Qemu-devel] [RFC PATCH V3] Use atomic cmpxchg to atomically check the exclusive value in a STREX, Mark Burton, 2015/06/19