[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 05/18] atomics: add atomic_test_and_set_acquire
From: |
Emilio G. Cota |
Subject: |
[Qemu-devel] [PATCH v5 05/18] atomics: add atomic_test_and_set_acquire |
Date: |
Fri, 13 May 2016 23:34:20 -0400 |
This new helper expands to __atomic_test_and_set with acquire semantics
where available; otherwise it expands to __sync_test_and_set, which
has acquire semantics.
Signed-off-by: Emilio G. Cota <address@hidden>
---
include/qemu/atomic.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h
index 5bc4d6c..6061a46 100644
--- a/include/qemu/atomic.h
+++ b/include/qemu/atomic.h
@@ -113,6 +113,7 @@
} while(0)
#endif
+#define atomic_test_and_set_acquire(ptr) __atomic_test_and_set(ptr,
__ATOMIC_ACQUIRE)
/* All the remaining operations are fully sequentially consistent */
@@ -327,6 +328,8 @@
#endif
#endif
+#define atomic_test_and_set_acquire(ptr) __sync_lock_test_and_set(ptr, true)
+
/* Provide shorter names for GCC atomic builtins. */
#define atomic_fetch_inc(ptr) __sync_fetch_and_add(ptr, 1)
#define atomic_fetch_dec(ptr) __sync_fetch_and_add(ptr, -1)
--
2.5.0
[Qemu-devel] [PATCH v5 07/18] qemu-thread: add simple test-and-set spinlock, Emilio G. Cota, 2016/05/13