[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/2] coroutine: dataplane support
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH 0/2] coroutine: dataplane support |
Date: |
Thu, 23 May 2013 13:58:45 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, May 17, 2013 at 03:51:24PM +0200, Stefan Hajnoczi wrote:
> 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
>
>
Applied to my block tree:
https://github.com/stefanha/qemu/commits/block
Stefan