aboutsummaryrefslogtreecommitdiff
path: root/hw/remote
diff options
context:
space:
mode:
Diffstat (limited to 'hw/remote')
-rw-r--r--hw/remote/mpqemu-link.c20
-rw-r--r--hw/remote/vfio-user-obj.c2
2 files changed, 11 insertions, 11 deletions
diff --git a/hw/remote/mpqemu-link.c b/hw/remote/mpqemu-link.c
index 9bd98e8219..d04ac93621 100644
--- a/hw/remote/mpqemu-link.c
+++ b/hw/remote/mpqemu-link.c
@@ -33,7 +33,7 @@
*/
bool mpqemu_msg_send(MPQemuMsg *msg, QIOChannel *ioc, Error **errp)
{
- bool iolock = qemu_mutex_iothread_locked();
+ bool drop_bql = bql_locked();
bool iothread = qemu_in_iothread();
struct iovec send[2] = {};
int *fds = NULL;
@@ -63,8 +63,8 @@ bool mpqemu_msg_send(MPQemuMsg *msg, QIOChannel *ioc, Error **errp)
* for IOThread case.
* Also skip lock handling while in a co-routine in the main context.
*/
- if (iolock && !iothread && !qemu_in_coroutine()) {
- qemu_mutex_unlock_iothread();
+ if (drop_bql && !iothread && !qemu_in_coroutine()) {
+ bql_unlock();
}
if (!qio_channel_writev_full_all(ioc, send, G_N_ELEMENTS(send),
@@ -74,9 +74,9 @@ bool mpqemu_msg_send(MPQemuMsg *msg, QIOChannel *ioc, Error **errp)
trace_mpqemu_send_io_error(msg->cmd, msg->size, nfds);
}
- if (iolock && !iothread && !qemu_in_coroutine()) {
+ if (drop_bql && !iothread && !qemu_in_coroutine()) {
/* See above comment why skip locking here. */
- qemu_mutex_lock_iothread();
+ bql_lock();
}
return ret;
@@ -96,7 +96,7 @@ static ssize_t mpqemu_read(QIOChannel *ioc, void *buf, size_t len, int **fds,
size_t *nfds, Error **errp)
{
struct iovec iov = { .iov_base = buf, .iov_len = len };
- bool iolock = qemu_mutex_iothread_locked();
+ bool drop_bql = bql_locked();
bool iothread = qemu_in_iothread();
int ret = -1;
@@ -106,14 +106,14 @@ static ssize_t mpqemu_read(QIOChannel *ioc, void *buf, size_t len, int **fds,
*/
assert(qemu_in_coroutine() || !iothread);
- if (iolock && !iothread && !qemu_in_coroutine()) {
- qemu_mutex_unlock_iothread();
+ if (drop_bql && !iothread && !qemu_in_coroutine()) {
+ bql_unlock();
}
ret = qio_channel_readv_full_all_eof(ioc, &iov, 1, fds, nfds, errp);
- if (iolock && !iothread && !qemu_in_coroutine()) {
- qemu_mutex_lock_iothread();
+ if (drop_bql && !iothread && !qemu_in_coroutine()) {
+ bql_lock();
}
return (ret <= 0) ? ret : iov.iov_len;
diff --git a/hw/remote/vfio-user-obj.c b/hw/remote/vfio-user-obj.c
index 8b10c32a3c..d9b879e056 100644
--- a/hw/remote/vfio-user-obj.c
+++ b/hw/remote/vfio-user-obj.c
@@ -400,7 +400,7 @@ static int vfu_object_mr_rw(MemoryRegion *mr, uint8_t *buf, hwaddr offset,
}
if (release_lock) {
- qemu_mutex_unlock_iothread();
+ bql_unlock();
release_lock = false;
}