[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 23/50] coroutine-lock: add missing coroutine_fn annotations
From: |
Kevin Wolf |
Subject: |
[PULL 23/50] coroutine-lock: add missing coroutine_fn annotations |
Date: |
Fri, 7 Oct 2022 12:47:25 +0200 |
From: Paolo Bonzini <pbonzini@redhat.com>
Callers of coroutine_fn must be coroutine_fn themselves, or the call
must be within "if (qemu_in_coroutine())". Apply coroutine_fn to
functions where this holds.
Reviewed-by: Alberto Faria <afaria@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220922084924.201610-23-pbonzini@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
util/qemu-coroutine-lock.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/util/qemu-coroutine-lock.c b/util/qemu-coroutine-lock.c
index 9ad24ab1af..15c82d9348 100644
--- a/util/qemu-coroutine-lock.c
+++ b/util/qemu-coroutine-lock.c
@@ -135,7 +135,7 @@ typedef struct CoWaitRecord {
QSLIST_ENTRY(CoWaitRecord) next;
} CoWaitRecord;
-static void push_waiter(CoMutex *mutex, CoWaitRecord *w)
+static void coroutine_fn push_waiter(CoMutex *mutex, CoWaitRecord *w)
{
w->co = qemu_coroutine_self();
QSLIST_INSERT_HEAD_ATOMIC(&mutex->from_push, w, next);
@@ -332,7 +332,7 @@ void qemu_co_rwlock_init(CoRwlock *lock)
}
/* Releases the internal CoMutex. */
-static void qemu_co_rwlock_maybe_wake_one(CoRwlock *lock)
+static void coroutine_fn qemu_co_rwlock_maybe_wake_one(CoRwlock *lock)
{
CoRwTicket *tkt = QSIMPLEQ_FIRST(&lock->tickets);
Coroutine *co = NULL;
@@ -365,7 +365,7 @@ static void qemu_co_rwlock_maybe_wake_one(CoRwlock *lock)
}
}
-void qemu_co_rwlock_rdlock(CoRwlock *lock)
+void coroutine_fn qemu_co_rwlock_rdlock(CoRwlock *lock)
{
Coroutine *self = qemu_coroutine_self();
@@ -390,7 +390,7 @@ void qemu_co_rwlock_rdlock(CoRwlock *lock)
self->locks_held++;
}
-void qemu_co_rwlock_unlock(CoRwlock *lock)
+void coroutine_fn qemu_co_rwlock_unlock(CoRwlock *lock)
{
Coroutine *self = qemu_coroutine_self();
@@ -408,7 +408,7 @@ void qemu_co_rwlock_unlock(CoRwlock *lock)
qemu_co_rwlock_maybe_wake_one(lock);
}
-void qemu_co_rwlock_downgrade(CoRwlock *lock)
+void coroutine_fn qemu_co_rwlock_downgrade(CoRwlock *lock)
{
qemu_co_mutex_lock(&lock->mutex);
assert(lock->owners == -1);
@@ -418,7 +418,7 @@ void qemu_co_rwlock_downgrade(CoRwlock *lock)
qemu_co_rwlock_maybe_wake_one(lock);
}
-void qemu_co_rwlock_wrlock(CoRwlock *lock)
+void coroutine_fn qemu_co_rwlock_wrlock(CoRwlock *lock)
{
Coroutine *self = qemu_coroutine_self();
@@ -438,7 +438,7 @@ void qemu_co_rwlock_wrlock(CoRwlock *lock)
self->locks_held++;
}
-void qemu_co_rwlock_upgrade(CoRwlock *lock)
+void coroutine_fn qemu_co_rwlock_upgrade(CoRwlock *lock)
{
qemu_co_mutex_lock(&lock->mutex);
assert(lock->owners > 0);
--
2.37.3
- [PULL 12/50] nfs: add missing coroutine_fn annotations, (continued)
- [PULL 12/50] nfs: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 16/50] copy-before-write: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 06/50] nbd: remove incorrect coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 34/50] job: move and update comments from blockjob.c, Kevin Wolf, 2022/10/07
- [PULL 29/50] job.c: make job_mutex and job_lock/unlock() public, Kevin Wolf, 2022/10/07
- [PULL 26/50] migration: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 27/50] test-coroutine: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 24/50] raw-format: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 19/50] quorum: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 20/50] throttle: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 23/50] coroutine-lock: add missing coroutine_fn annotations,
Kevin Wolf <=
- [PULL 28/50] quorum: Remove unnecessary forward declaration, Kevin Wolf, 2022/10/07
- [PULL 30/50] job.h: categorize fields in struct Job, Kevin Wolf, 2022/10/07
- [PULL 10/50] iscsi: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 03/50] block/nvme: separate nvme_get_free_req cases for coroutine/non-coroutine context, Kevin Wolf, 2022/10/07
- [PULL 32/50] aio-wait.h: introduce AIO_WAIT_WHILE_UNLOCKED, Kevin Wolf, 2022/10/07
- [PULL 36/50] jobs: add job lock in find_* functions, Kevin Wolf, 2022/10/07
- [PULL 33/50] job.c: add job_lock/unlock while keeping job.h intact, Kevin Wolf, 2022/10/07
- [PULL 14/50] parallels: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 15/50] qcow2: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 18/50] qed: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07