Signed-off-by: Emilio G. Cota <c...@braap.org> --- include/qemu/thread.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/qemu/thread.h b/include/qemu/thread.h index 1aa843b..599965e 100644 --- a/include/qemu/thread.h +++ b/include/qemu/thread.h @@ -2,6 +2,7 @@ #define __QEMU_THREAD_H 1 #include <errno.h> +#include "qemu/processor.h" #include "qemu/atomic.h" typedef struct QemuMutex QemuMutex; @@ -74,7 +75,9 @@ static inline void qemu_spin_init(QemuSpin *spin) static inline void qemu_spin_lock(QemuSpin *spin) { do { - while (atomic_read(&spin->value)); + while (atomic_read(&spin->value)) { + cpu_relax(); + } } while (atomic_xchg(&spin->value, true)); } -- 2.5.0