[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContex
From: |
Lukas Straub |
Subject: |
[PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContext |
Date: |
Wed, 8 Apr 2020 20:33:49 +0200 |
qemu_bh_new will set the bh to be executed in the main
loop. This causes problems as colo_compare_handle_event assumes
that it has exclusive access the queues, which are also
accessed in the iothread. It also assumes that it runs in a
different thread than the caller and takes the appropriate
locks.
Create the bh with the AioContext of the iothread to fulfill
these assumptions.
Signed-off-by: Lukas Straub <address@hidden>
---
net/colo-compare.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/colo-compare.c b/net/colo-compare.c
index 10c0239f9d..1de4220fe2 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -890,6 +890,7 @@ static void colo_compare_handle_event(void *opaque)
static void colo_compare_iothread(CompareState *s)
{
+ AioContext *ctx = iothread_get_aio_context(s->iothread);
object_ref(OBJECT(s->iothread));
s->worker_context = iothread_get_g_main_context(s->iothread);
@@ -906,7 +907,7 @@ static void colo_compare_iothread(CompareState *s)
}
colo_compare_timer_init(s);
- s->event_bh = qemu_bh_new(colo_compare_handle_event, s);
+ s->event_bh = aio_bh_new(ctx, colo_compare_handle_event, s);
}
static char *compare_get_pri_indev(Object *obj, Error **errp)
--
2.20.1
pgpoxP3fdlCdH.pgp
Description: OpenPGP digital signature
- [PATCH 0/3] colo-compare bugfixes, Lukas Straub, 2020/04/08
- [PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContext,
Lukas Straub <=
- RE: [PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContext, Zhang, Chen, 2020/04/22
- Re: [PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContext, Lukas Straub, 2020/04/22
- RE: [PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContext, Zhang, Chen, 2020/04/22
- Re: [PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContext, Lukas Straub, 2020/04/22
- RE: [PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContext, Zhang, Chen, 2020/04/23
- Re: [PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContext, Derek Su, 2020/04/24
- RE: [PATCH 1/3] net/colo-compare.c: Create event_bh with the right AioContext, Zhang, Chen, 2020/04/26
[PATCH 2/3] chardev/char.c: Use qemu_co_sleep_ns if in coroutine, Lukas Straub, 2020/04/08