[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 0/3] qemu-coroutine: use a ring per thread for t
From: |
Peter Lieven |
Subject: |
[Qemu-devel] [RFC PATCH 0/3] qemu-coroutine: use a ring per thread for the pool |
Date: |
Thu, 27 Nov 2014 11:27:03 +0100 |
This series removes the need for locking the coroutine pool. During
collection of perf data it showed up that there is serious time spend
in locking the coroutine pool during heavy I/O from the vServer.
This also needs serious benchmarking. Using Kevins qemu-img bench there is a
3-4%
speedup. Inside vServers it seems to heavily dependend on the individual
CPU and SMP configuration.
I just wanted to post these patches here to discuss if this is an idea
that we should look futher into.
KNOWN ISSUES:
- the I/O thread qobject is not destroyed on qemu termination. These
seems to be the case for all qobjects?! Therefore the per thread coroutine
pool is not cleaned up.
- without ioeventfd there is effectively no longer a coroutine pool since
the coroutines are created in a different thread then they are freed.
Peter Lieven (3):
Revert "coroutine: make pool size dynamic"
block/block-backend.c: remove coroutine pool reservation
qemu-coroutine: use a ring per thread for the pool
block/block-backend.c | 6 ----
include/block/coroutine.h | 13 +-------
iothread.c | 3 ++
qemu-coroutine.c | 78 +++++++++++++++------------------------------
4 files changed, 30 insertions(+), 70 deletions(-)
--
1.7.9.5
- [Qemu-devel] [RFC PATCH 0/3] qemu-coroutine: use a ring per thread for the pool,
Peter Lieven <=
- [Qemu-devel] [RFC PATCH 2/3] block/block-backend.c: remove coroutine pool reservation, Peter Lieven, 2014/11/27
- [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool, Peter Lieven, 2014/11/27
- Re: [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool, Paolo Bonzini, 2014/11/27
- Re: [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool, Peter Lieven, 2014/11/28
- Message not available
- Re: [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool, Peter Lieven, 2014/11/28
- Re: [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool, Paolo Bonzini, 2014/11/28
- Re: [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool, Peter Lieven, 2014/11/28
- Re: [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool, Paolo Bonzini, 2014/11/28
- Re: [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool, Peter Lieven, 2014/11/28
- Re: [Qemu-devel] [RFC PATCH 3/3] qemu-coroutine: use a ring per thread for the pool, Peter Lieven, 2014/11/28