All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] coroutine: dataplane support
@ 2013-05-17 13:51 Stefan Hajnoczi
  2013-05-17 13:51 ` [Qemu-devel] [PATCH 1/2] coroutine: protect global pool with a mutex Stefan Hajnoczi
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Stefan Hajnoczi @ 2013-05-17 13:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, Paolo Bonzini, Shergill, Gurinder, Vinod, Chegu,
	Stefan Hajnoczi

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(-)

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-05-23 11:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-17 13:51 [Qemu-devel] [PATCH 0/2] coroutine: dataplane support Stefan Hajnoczi
2013-05-17 13:51 ` [Qemu-devel] [PATCH 1/2] coroutine: protect global pool with a mutex Stefan Hajnoczi
2013-05-17 13:51 ` [Qemu-devel] [PATCH 2/2] coroutine: stop using AioContext in CoQueue Stefan Hajnoczi
2013-05-17 15:02 ` [Qemu-devel] [PATCH 0/2] coroutine: dataplane support Kevin Wolf
2013-05-17 15:08 ` Peter Maydell
2013-05-21  8:15   ` Stefan Hajnoczi
2013-05-23 11:58 ` Stefan Hajnoczi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.