| Branch: | Revision:

root / qemu-coroutine-lock.c @ feature-archipelago

History | View | Annotate | Download (4.8 kB)

# Date Author Comment
f287c413 12/02/2013 06:11 pm Marc-André Lureau

coroutine: remove qemu_co_queue_wait_insert_head

qemu_co_queue_wait_insert_head() is unused in qemu code base now.

Signed-off-by: Marc-André Lureau <>
Signed-off-by: Stefan Hajnoczi <>

b681a1c7 07/29/2013 06:07 pm Benoît Canet

block: Repair the throttling code.

The throttling code was segfaulting since commit
02ffb504485f0920cfc75a0982a602f824a9a4f4 because some qemu_co_queue_next caller
does not run in a coroutine.
qemu_co_queue_do_restart assume that the caller is a coroutinne....

02ffb504 05/24/2013 05:17 pm Stefan Hajnoczi

coroutine: stop using AioContext in CoQueue

qemu_co_queue_next(&queue) arranges that the next queued coroutine is
run at a later point in time. This deferred restart is useful because
the caller may not want to transfer control yet.

This behavior was implemented using QEMUBH in the past, which meant that...

28f08246 03/15/2013 05:07 pm Stefan Hajnoczi

coroutine: use AioContext for CoQueue BH

CoQueue uses a BH to awake coroutines that were made ready to run again
using qemu_co_queue_next() or qemu_co_queue_restart_all(). The BH
currently runs in the iothread AioContext and would break coroutines
that run in a different AioContext....

1de7afc9 12/19/2012 09:32 am Paolo Bonzini

misc: move include files to include/qemu/

Signed-off-by: Paolo Bonzini <>

737e150e 12/19/2012 09:31 am Paolo Bonzini

block: move include files to include/block/

Signed-off-by: Paolo Bonzini <>

f627aab1 10/30/2012 10:30 am Paolo Bonzini

aio: introduce AioContext, move bottom halves there

Start introducing AioContext, which will let us remove globals from
aio.c/async.c, and introduce multiple I/O threads.

The bottom half functions now take an additional AioContext argument.
A bottom half is created with a specific AioContext that remains the...

e8ee5e4c 12/05/2011 03:51 pm Stefan Hajnoczi

coroutine: add qemu_co_queue_restart_all()

It's common to wake up all waiting coroutines. Introduce the
qemu_co_queue_restart_all() function to do this instead of looping over
qemu_co_queue_next() in every caller.

Signed-off-by: Stefan Hajnoczi <>...

e9e6295b 12/05/2011 03:51 pm Zhi Yong Wu

CoQueue: introduce qemu_co_queue_wait_insert_head

Signed-off-by: Zhi Yong Wu <>
Signed-off-by: Stefan Hajnoczi <>
Signed-off-by: Kevin Wolf <>

44a9b356 10/21/2011 07:14 pm Paolo Bonzini

main-loop: create main-loop.h

Signed-off-by: Paolo Bonzini <>

12888904 08/23/2011 03:15 pm Aneesh Kumar K.V

coroutine: Add CoRwlock support

Signed-off-by: Aneesh Kumar K.V <>
Signed-off-by: Kevin Wolf <>

e680cfa7 08/02/2011 04:53 pm Kevin Wolf

coroutines: Use one global bottom half for CoQueue

Now that AsyncContexts don't exist any more, we can use one global bottom half
for restarting coroutines instead of allocating a new one every time (before
removing AsyncContexts, the problem with having a global BH was that it had to...

b96e9247 08/02/2011 04:53 pm Kevin Wolf

coroutines: Locks

Signed-off-by: Kevin Wolf <>