From: Akihiko Odaki Date: Thu, 29 May 2025 05:45:55 +0000 (+0900) Subject: qemu-thread: Use futex if available for QemuLockCnt X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0a765ca850125e0202c366cb4aab032ac9670870;p=thirdparty%2Fqemu.git qemu-thread: Use futex if available for QemuLockCnt This unlocks the futex-based implementation of QemuLockCnt to Windows. Signed-off-by: Akihiko Odaki Link: https://lore.kernel.org/r/20250529-event-v5-6-53b285203794@daynix.com Signed-off-by: Paolo Bonzini --- diff --git a/include/qemu/lockcnt.h b/include/qemu/lockcnt.h index f4b62a3f70..5a2800e3f1 100644 --- a/include/qemu/lockcnt.h +++ b/include/qemu/lockcnt.h @@ -17,7 +17,7 @@ typedef struct QemuLockCnt QemuLockCnt; struct QemuLockCnt { -#ifndef CONFIG_LINUX +#ifndef HAVE_FUTEX QemuMutex mutex; #endif unsigned count; diff --git a/util/lockcnt.c b/util/lockcnt.c index ca27d8e61a..92c9f8ceca 100644 --- a/util/lockcnt.c +++ b/util/lockcnt.c @@ -12,10 +12,11 @@ #include "qemu/atomic.h" #include "trace.h" -#ifdef CONFIG_LINUX -#include "qemu/futex.h" +#ifdef HAVE_FUTEX -/* On Linux, bits 0-1 are a futex-based lock, bits 2-31 are the counter. +/* + * When futex is available, bits 0-1 are a futex-based lock, bits 2-31 are the + * counter. * For the mutex algorithm see Ulrich Drepper's "Futexes Are Tricky" (ok, * this is not the most relaxing citation I could make...). It is similar * to mutex2 in the paper.