diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2017-02-13 19:12:39 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2017-02-21 11:39:40 +0000 |
commit | fed20a70e39bb9385020bdc4e8839d95326df8e2 (patch) | |
tree | 07af96e10e918b1393a1ea94205f8802f4a0d1df /util/trace-events | |
parent | 91bcea4899017891983b9149bd50cb283e78dfc0 (diff) | |
download | qemu-fed20a70e39bb9385020bdc4e8839d95326df8e2.zip qemu-fed20a70e39bb9385020bdc4e8839d95326df8e2.tar.gz qemu-fed20a70e39bb9385020bdc4e8839d95326df8e2.tar.bz2 |
coroutine-lock: make CoMutex thread-safe
This uses the lock-free mutex described in the paper '"Blocking without
Locking", or LFTHREADS: A lock-free thread library' by Gidenstam and
Papatriantafilou. The same technique is used in OSv, and in fact
the code is essentially a conversion to C of OSv's code.
[Added missing coroutine_fn in tests/test-aio-multithread.c.
--Stefan]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Message-id: 20170213181244.16297-2-pbonzini@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'util/trace-events')
-rw-r--r-- | util/trace-events | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/util/trace-events b/util/trace-events index 65c9787..ac27d94 100644 --- a/util/trace-events +++ b/util/trace-events @@ -28,6 +28,7 @@ qemu_coroutine_terminate(void *co) "self %p" # util/qemu-coroutine-lock.c qemu_co_queue_run_restart(void *co) "co %p" +qemu_co_mutex_lock_uncontended(void *mutex, void *self) "mutex %p self %p" qemu_co_mutex_lock_entry(void *mutex, void *self) "mutex %p self %p" qemu_co_mutex_lock_return(void *mutex, void *self) "mutex %p self %p" qemu_co_mutex_unlock_entry(void *mutex, void *self) "mutex %p self %p" |