diff options
| author | Paolo Bonzini | 2017-02-13 19:12:39 +0100 |
|---|---|---|
| committer | Stefan Hajnoczi | 2017-02-21 12:39:40 +0100 |
| commit | fed20a70e39bb9385020bdc4e8839d95326df8e2 (patch) | |
| tree | 07af96e10e918b1393a1ea94205f8802f4a0d1df /util/trace-events | |
| parent | block: document fields protected by AioContext lock (diff) | |
| download | qemu-fed20a70e39bb9385020bdc4e8839d95326df8e2.tar.gz qemu-fed20a70e39bb9385020bdc4e8839d95326df8e2.tar.xz qemu-fed20a70e39bb9385020bdc4e8839d95326df8e2.zip | |
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 65c978715a..ac27d94a97 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" |
