On 10/25/22 23:47, Claudio Fontana wrote:
On 10/25/22 01:24, Richard Henderson wrote:
Use qatomic_*, which expands to __atomic_* in preference
to the "legacy" __sync_* functions.

Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  include/qemu/thread.h | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/qemu/thread.h b/include/qemu/thread.h
index af19f2b3fc..976e1ab995 100644
--- a/include/qemu/thread.h
+++ b/include/qemu/thread.h
@@ -227,7 +227,7 @@ struct QemuSpin {
static inline void qemu_spin_init(QemuSpin *spin)
  {
-    __sync_lock_release(&spin->value);
+    qatomic_set(&spin->value, 0);

Here an integer literal is used, which makes sense, spin->value is int.

  #ifdef CONFIG_TSAN
      __tsan_mutex_create(spin, __tsan_mutex_not_static);
  #endif
@@ -246,7 +246,7 @@ static inline void qemu_spin_lock(QemuSpin *spin)
  #ifdef CONFIG_TSAN
      __tsan_mutex_pre_lock(spin, 0);
  #endif
-    while (unlikely(__sync_lock_test_and_set(&spin->value, true))) {
+    while (unlikely(qatomic_xchg(&spin->value, true))) {

nit: here 'true' is used. Maybe "1" instead of "true" for consistency?

Fair enough.


r~

Reply via email to