Home
last modified time | relevance | path

Searched refs:mutex (Results 1 – 25 of 56) sorted by relevance

123

/qemu/util/
H A Dqemu-coroutine-lock.c164 move_waiters(mutex); in pop_waiter()
176 return QSLIST_EMPTY(&mutex->to_pop) || QSLIST_EMPTY(&mutex->from_push); in has_waiters()
181 memset(mutex, 0, sizeof(*mutex)); in qemu_co_mutex_init()
190 mutex->ctx = co->ctx; in qemu_co_mutex_wake()
202 push_waiter(mutex, &w); in qemu_co_mutex_lock_slowpath()
215 has_waiters(mutex) && in qemu_co_mutex_lock_slowpath()
268 mutex->ctx = ctx; in qemu_co_mutex_lock()
272 mutex->holder = self; in qemu_co_mutex_lock()
282 assert(mutex->locked); in qemu_co_mutex_unlock()
286 mutex->ctx = NULL; in qemu_co_mutex_unlock()
[all …]
H A Dqemu-thread-win32.c71 qemu_mutex_post_init(mutex); in qemu_mutex_init()
76 assert(mutex->initialized); in qemu_mutex_destroy()
77 mutex->initialized = false; in qemu_mutex_destroy()
83 assert(mutex->initialized); in qemu_mutex_lock_impl()
93 assert(mutex->initialized); in qemu_mutex_trylock_impl()
104 assert(mutex->initialized); in qemu_mutex_unlock_impl()
112 mutex->initialized = true; in qemu_rec_mutex_init()
117 assert(mutex->initialized); in qemu_rec_mutex_destroy()
118 mutex->initialized = false; in qemu_rec_mutex_destroy()
124 assert(mutex->initialized); in qemu_rec_mutex_lock_impl()
[all …]
H A Dqemu-thread-common.h19 static inline void qemu_mutex_post_init(QemuMutex *mutex) in qemu_mutex_post_init() argument
22 mutex->file = NULL; in qemu_mutex_post_init()
23 mutex->line = 0; in qemu_mutex_post_init()
25 mutex->initialized = true; in qemu_mutex_post_init()
31 trace_qemu_mutex_lock(mutex, file, line); in qemu_mutex_pre_lock()
38 mutex->file = file; in qemu_mutex_post_lock()
39 mutex->line = line; in qemu_mutex_post_lock()
41 trace_qemu_mutex_locked(mutex, file, line); in qemu_mutex_post_lock()
48 mutex->file = NULL; in qemu_mutex_pre_unlock()
49 mutex->line = 0; in qemu_mutex_pre_unlock()
[all …]
H A Dqemu-thread-posix.c74 qemu_mutex_post_init(mutex); in qemu_mutex_init()
81 assert(mutex->initialized); in qemu_mutex_destroy()
82 mutex->initialized = false; in qemu_mutex_destroy()
92 assert(mutex->initialized); in qemu_mutex_lock_impl()
104 assert(mutex->initialized); in qemu_mutex_trylock_impl()
120 assert(mutex->initialized); in qemu_mutex_unlock_impl()
139 mutex->m.initialized = true; in qemu_rec_mutex_init()
144 qemu_mutex_destroy(&mutex->m); in qemu_rec_mutex_destroy()
258 qemu_mutex_init(&sem->mutex); in qemu_sem_init()
275 qemu_mutex_lock(&sem->mutex); in qemu_sem_post()
[all …]
H A Dtrace-events42 qemu_co_mutex_lock_uncontended(void *mutex, void *self) "mutex %p self %p"
43 qemu_co_mutex_lock_entry(void *mutex, void *self) "mutex %p self %p"
44 qemu_co_mutex_lock_return(void *mutex, void *self) "mutex %p self %p"
45 qemu_co_mutex_unlock_entry(void *mutex, void *self) "mutex %p self %p"
46 qemu_co_mutex_unlock_return(void *mutex, void *self) "mutex %p self %p"
80 qemu_mutex_lock(void *mutex, const char *file, const int line) "waiting on mutex %p (%s:%d)"
81 qemu_mutex_locked(void *mutex, const char *file, const int line) "taken mutex %p (%s:%d)"
82 qemu_mutex_unlock(void *mutex, const char *file, const int line) "released mutex %p (%s:%d)"
H A Dlockcnt.c299 qemu_mutex_init(&lockcnt->mutex); in qemu_lockcnt_init()
305 qemu_mutex_destroy(&lockcnt->mutex); in qemu_lockcnt_destroy()
381 qemu_mutex_lock(&lockcnt->mutex); in qemu_lockcnt_lock()
387 qemu_mutex_unlock(&lockcnt->mutex); in qemu_lockcnt_inc_and_unlock()
392 qemu_mutex_unlock(&lockcnt->mutex); in qemu_lockcnt_unlock()
H A Dthread-context.c298 qemu_mutex_init(&tc->mutex); in thread_context_instance_init()
312 qemu_mutex_destroy(&tc->mutex); in thread_context_instance_finalize()
347 qemu_mutex_lock(&tc->mutex); in type_init()
355 qemu_mutex_unlock(&tc->mutex); in type_init()
/qemu/include/qemu/
H A Dthread.h26 void qemu_mutex_init(QemuMutex *mutex);
27 void qemu_mutex_destroy(QemuMutex *mutex);
114 #define qemu_mutex_unlock(mutex) \ argument
117 #define qemu_rec_mutex_unlock(mutex) \ argument
122 qemu_mutex_lock(mutex);
127 return qemu_mutex_trylock(mutex);
132 qemu_mutex_unlock(mutex);
137 qemu_rec_mutex_lock(mutex);
147 qemu_rec_mutex_unlock(mutex);
167 qemu_cond_wait(cond, mutex);
[all …]
H A Dcoroutine-core.h140 void qemu_co_mutex_init(CoMutex *mutex);
146 void coroutine_fn qemu_co_mutex_lock(CoMutex *mutex);
152 void coroutine_fn qemu_co_mutex_unlock(CoMutex *mutex);
H A Dcoroutine.h74 static inline coroutine_fn void qemu_co_mutex_assert_locked(CoMutex *mutex) in qemu_co_mutex_assert_locked() argument
83 assert(qatomic_read(&mutex->locked) && in qemu_co_mutex_assert_locked()
84 mutex->holder == qemu_coroutine_self()); in qemu_co_mutex_assert_locked()
173 CoMutex mutex; member
H A Dlockable.h56 QML_FUNC_(mutex)
87 QemuMutex *: qemu_make_lockable(x, QML_OBJ_(x, mutex)), \
103 QemuMutex *: QML_OBJ_(x, mutex), \
/qemu/scripts/
H A Danalyse-locks-simpletrace.py22 def _get_mutex(self, mutex): argument
23 if not mutex in self.mutex_records:
24 self.mutex_records[mutex] = {"locks": 0,
32 return self.mutex_records[mutex]
34 def qemu_mutex_lock(self, timestamp, mutex, filename, line): argument
36 rec = self._get_mutex(mutex)
41 def qemu_mutex_locked(self, timestamp, mutex, filename, line): argument
43 rec = self._get_mutex(mutex)
50 def qemu_mutex_unlock(self, timestamp, mutex, filename, line): argument
52 rec = self._get_mutex(mutex)
/qemu/docs/spin/
H A Dtcg-exclusive.promela27 // If the mutex is used, it's also cheap (300 MB / 4 seconds) for 3 CPUs
70 mutex_t mutex;
80 :: pending_cpus -> COND_WAIT(exclusive_resume, mutex); \
85 MUTEX_LOCK(mutex); \
102 :: pending_cpus > 1 -> COND_WAIT(exclusive_cond, mutex); \
105 MUTEX_UNLOCK(mutex);
108 MUTEX_LOCK(mutex); \
111 MUTEX_UNLOCK(mutex);
119 MUTEX_UNLOCK(mutex);
134 MUTEX_UNLOCK(mutex);
[all …]
/qemu/nbd/
H A Dclient-connection.c43 QemuMutex mutex; member
102 qemu_mutex_init(&conn->mutex); in nbd_client_connection_new()
179 qemu_mutex_lock(&conn->mutex); in connect_thread_func()
186 qemu_mutex_unlock(&conn->mutex); in connect_thread_func()
204 qemu_mutex_lock(&conn->mutex); in connect_thread_func()
222 qemu_mutex_lock(&conn->mutex); in connect_thread_func()
240 qemu_mutex_unlock(&conn->mutex); in connect_thread_func()
257 WITH_QEMU_LOCK_GUARD(&conn->mutex) { in nbd_client_connection_release()
301 WITH_QEMU_LOCK_GUARD(&conn->mutex) { in nbd_co_establish_connection()
351 WITH_QEMU_LOCK_GUARD(&conn->mutex) { in nbd_co_establish_connection()
[all …]
/qemu/ui/
H A Dvnc-jobs.h45 return qemu_mutex_trylock(&vd->mutex); in vnc_trylock_display()
50 qemu_mutex_lock(&vd->mutex); in vnc_lock_display()
55 qemu_mutex_unlock(&vd->mutex); in vnc_unlock_display()
H A Dvnc-jobs.c58 QemuMutex mutex; member
74 qemu_mutex_lock(&queue->mutex); in vnc_lock_queue()
79 qemu_mutex_unlock(&queue->mutex); in vnc_unlock_queue()
139 qemu_cond_wait(&queue->cond, &queue->mutex); in vnc_jobs_join()
248 qemu_cond_wait(&queue->cond, &queue->mutex); in vnc_worker_thread_loop()
343 qemu_mutex_init(&queue->mutex); in vnc_queue_init()
351 qemu_mutex_destroy(&queue->mutex); in vnc_queue_clear()
/qemu/block/
H A Dcurl.c119 QemuMutex mutex; member
416 qemu_mutex_lock(&s->mutex); in curl_multi_do()
419 qemu_mutex_unlock(&s->mutex); in curl_multi_do()
431 qemu_mutex_lock(&s->mutex); in curl_multi_timeout_do()
435 qemu_mutex_unlock(&s->mutex); in curl_multi_timeout_do()
708 qemu_mutex_init(&s->mutex); in curl_open()
790 qemu_mutex_lock(&s->mutex); in curl_open()
792 qemu_mutex_unlock(&s->mutex); in curl_open()
855 qemu_mutex_lock(&s->mutex); in curl_open()
857 qemu_mutex_unlock(&s->mutex); in curl_open()
[all …]
H A Dblklogwrites.c69 QemuMutex mutex; member
197 qemu_mutex_init(&s->mutex); in blk_log_writes_open()
288 qemu_mutex_destroy(&s->mutex); in blk_log_writes_open()
303 qemu_mutex_destroy(&s->mutex); in blk_log_writes_close()
373 qemu_mutex_lock(&s->mutex); in blk_log_writes_co_do_log()
384 qemu_mutex_unlock(&s->mutex); in blk_log_writes_co_do_log()
419 WITH_QEMU_LOCK_GUARD(&s->mutex) { in blk_log_writes_co_do_log()
426 &s->mutex, wait_flags); in blk_log_writes_co_do_log()
453 qemu_mutex_lock(&s->mutex); in blk_log_writes_co_do_log()
456 qemu_mutex_unlock(&s->mutex); in blk_log_writes_co_do_log()
H A Discsi.c76 QemuMutex mutex; member
404 qemu_mutex_lock(&iscsilun->mutex); in iscsi_process_read()
416 qemu_mutex_lock(&iscsilun->mutex); in iscsi_process_write()
628 qemu_mutex_lock(&iscsilun->mutex); in iscsi_co_writev()
728 qemu_mutex_lock(&iscsilun->mutex); in iscsi_co_block_status()
860 qemu_mutex_lock(&iscsilun->mutex); in iscsi_co_readv()
927 qemu_mutex_lock(&iscsilun->mutex); in iscsi_co_flush()
1088 qemu_mutex_lock(&iscsilun->mutex); in iscsi_aio_ioctl()
1171 qemu_mutex_lock(&iscsilun->mutex); in iscsi_co_pdiscard()
1256 qemu_mutex_lock(&iscsilun->mutex); in iscsi_co_pwrite_zeroes()
[all …]
H A Dnfs.c61 QemuMutex mutex; member
208 qemu_mutex_lock(&client->mutex); in nfs_process_read()
211 qemu_mutex_unlock(&client->mutex); in nfs_process_read()
218 qemu_mutex_lock(&client->mutex); in nfs_process_write()
221 qemu_mutex_unlock(&client->mutex); in nfs_process_write()
273 WITH_QEMU_LOCK_GUARD(&client->mutex) { in nfs_co_preadv()
319 WITH_QEMU_LOCK_GUARD(&client->mutex) { in nfs_co_pwritev()
353 WITH_QEMU_LOCK_GUARD(&client->mutex) { in nfs_co_flush()
389 qemu_mutex_lock(&client->mutex); in nfs_client_close()
404 qemu_mutex_destroy(&client->mutex); in nfs_client_close()
[all …]
/qemu/docs/devel/
H A Dlockcnt.txt80 A QemuLockCnt comprises both a counter and a mutex; it has primitives
82 mutex. The counter notes how many visits to the data structures are
85 governing the counter/mutex pair then are the following:
88 counter is zero and the mutex is taken.
91 mutex is taken.
93 Most of the time, the mutex protects all writes to the data structure,
96 Reads, instead, can be done without taking the mutex, as long as the
104 mutex, for example:
146 and the mutex in a single word, making the fast path no more expensive
152 Using the same mutex for frees and writes can still incur some small
[all …]
/qemu/backends/
H A Dcryptodev-lkcf.c88 QemuMutex mutex; member
239 qemu_mutex_init(&lkcf->mutex); in cryptodev_lkcf_init()
259 qemu_mutex_lock(&lkcf->mutex); in cryptodev_lkcf_cleanup()
261 qemu_mutex_unlock(&lkcf->mutex); in cryptodev_lkcf_cleanup()
283 qemu_mutex_destroy(&lkcf->mutex); in cryptodev_lkcf_cleanup()
450 qemu_mutex_lock(&backend->mutex); in cryptodev_lkcf_worker()
452 qemu_cond_wait(&backend->cond, &backend->mutex); in cryptodev_lkcf_worker()
458 qemu_mutex_unlock(&backend->mutex); in cryptodev_lkcf_worker()
501 qemu_mutex_lock(&lkcf->mutex); in cryptodev_lkcf_operation()
503 qemu_mutex_unlock(&lkcf->mutex); in cryptodev_lkcf_operation()
/qemu/crypto/
H A Dblock.c60 qemu_mutex_init(&block->mutex); in qcrypto_block_open()
95 qemu_mutex_init(&block->mutex); in qcrypto_block_create()
239 WITH_QEMU_LOCK_GUARD(&block->mutex) { in qcrypto_block_pop_cipher()
255 QEMU_LOCK_GUARD(&block->mutex); in qcrypto_block_push_cipher()
363 qemu_mutex_destroy(&block->mutex); in qcrypto_block_free()
471 &block->mutex, sectorsize, offset, buf, in qcrypto_block_decrypt_helper()
493 &block->mutex, sectorsize, offset, buf, in qcrypto_block_encrypt_helper()
/qemu/scripts/qemugdb/
H A Dtcg.py34 mutex = gdb.parse_and_eval("mutex")
37 (mutex, owner))
/qemu/tests/unit/
H A Dtest-aio-multithread.c388 static QemuMutex mutex; variable
393 qemu_mutex_lock(&mutex); in test_multi_mutex_entry()
395 qemu_mutex_unlock(&mutex); in test_multi_mutex_entry()
405 qemu_mutex_init(&mutex); in test_multi_mutex()

123