[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics |
Date: |
Mon, 23 May 2016 16:21:36 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 |
On 21/05/2016 22:42, Emilio G. Cota wrote:
> Commit a0aa44b4 ("include/qemu/atomic.h: default to __atomic functions")
> set all atomics to default (on recent GCC versions) to __atomic primitives.
>
> In the process, the atomic_rcu_read/set were converted to implement
> consume/release semantics, respectively. This is inefficient; for
> correctness and maximum performance we only need an smp_barrier_depends
> for reads, and an smp_wmb for writes. Fix it by using the original
> definition of these two primitives for all compilers.
Indeed most compilers implement consume the same as acquire, which is
inefficient. However, isn't in practice atomic_thread_fence(release) +
atomic_store(relaxed) the same as atomic_store(release)?
Thanks,
Paolo
- [Qemu-devel] [PATCH 0/2] atomics: fix small RCU perf. regression + update documentation, Emilio G. Cota, 2016/05/21
- [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics, Emilio G. Cota, 2016/05/21
- Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics, Alex Bennée, 2016/05/22
- Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics, Richard Henderson, 2016/05/23
- Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics, Emilio G. Cota, 2016/05/23
- Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics, Paolo Bonzini, 2016/05/24
- Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics, Emilio G. Cota, 2016/05/24
- Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics, Sergey Fedorov, 2016/05/24
- Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics, Alex Bennée, 2016/05/25
- Re: [Qemu-devel] [PATCH 1/2] atomics: do not use __atomic primitives for RCU atomics, Sergey Fedorov, 2016/05/25
[Qemu-devel] [PATCH 2/2] docs/atomics: update atomic_read/set comparison with Linux, Emilio G. Cota, 2016/05/21