Am 17.05.2013 um 15:51 hat Stefan Hajnoczi geschrieben: > There is ongoing work to enable multiple event loop threads. This will allow > QEMU itself to take advantage of SMP and reduce Big QEMU Lock (BQL) > contention. > This series is one step in that effort. > > These patches make coroutines safe in a multi-event loop/multi-threaded world. > I have successfully tested them running qcow2 in a dataplane thread (further > patches are required which I'll be sending soon). > > Patch 1 protects the global coroutine freelist with a lock :). > > Patch 2 drops the CoQueue dependency on AioContext. This allows CoMutex and > CoRwlock to operate in a dataplane thread whereas previously we always > scheduled coroutines in the QEMU iothread. > > Stefan Hajnoczi (2): > coroutine: protect global pool with a mutex > coroutine: stop using AioContext in CoQueue > > include/block/coroutine_int.h | 4 ++++ > qemu-coroutine-lock.c | 56 > ++++++++++++++++--------------------------- > qemu-coroutine.c | 23 ++++++++++++++++-- > trace-events | 2 +- > 4 files changed, 47 insertions(+), 38 deletions(-)
Reviewed-by: Kevin Wolf <kw...@redhat.com>