mirror of https://github.com/xemu-project/xemu.git
qemu-coroutine: remove qatomic_mb_read()
Replace with an explicit barrier and a comment. Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
4592eaf387
commit
512c90c90e
|
@ -127,9 +127,13 @@ void qemu_aio_coroutine_enter(AioContext *ctx, Coroutine *co)
|
||||||
Coroutine *to = QSIMPLEQ_FIRST(&pending);
|
Coroutine *to = QSIMPLEQ_FIRST(&pending);
|
||||||
CoroutineAction ret;
|
CoroutineAction ret;
|
||||||
|
|
||||||
/* Cannot rely on the read barrier for to in aio_co_wake(), as there are
|
/*
|
||||||
* callers outside of aio_co_wake() */
|
* Read to before to->scheduled; pairs with qatomic_cmpxchg in
|
||||||
const char *scheduled = qatomic_mb_read(&to->scheduled);
|
* qemu_co_sleep(), aio_co_schedule() etc.
|
||||||
|
*/
|
||||||
|
smp_read_barrier_depends();
|
||||||
|
|
||||||
|
const char *scheduled = qatomic_read(&to->scheduled);
|
||||||
|
|
||||||
QSIMPLEQ_REMOVE_HEAD(&pending, co_queue_next);
|
QSIMPLEQ_REMOVE_HEAD(&pending, co_queue_next);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue