Stefan Hajnoczi 70c60c089f coroutine: add ./configure --disable-coroutine-pool
The 'gthread' coroutine backend was written before the freelist (aka
pool) existed in qemu-coroutine.c.

This means that every thread is expected to exit when its coroutine
terminates.  It is not possible to reuse threads from a pool.

This patch automatically disables the pool when 'gthread' is used.  This
allows the 'gthread' backend to work again (for example,
tests/test-coroutine completes successfully instead of hanging).

I considered implementing thread reuse but I don't want quirks like CPU
affinity differences due to coroutine threads being recycled.  The
'gthread' backend is a reference backend and it's therefore okay to skip
the pool optimization.

Note this patch also makes it easy to toggle the pool for benchmarking
purposes:

  ./configure --with-coroutine-backend=ucontext \
              --disable-coroutine-pool

Reported-by: Gabriel Kerneis <gabriel@kerneis.info>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Gabriel Kerneis <gabriel@kerneis.info>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-09-12 10:12:48 +02:00
2013-09-12 10:12:48 +02:00
2013-08-30 15:48:43 +02:00
2013-04-18 13:50:53 +02:00
2013-07-09 13:38:56 -05:00
2013-07-30 23:11:07 +01:00
2013-08-07 12:48:00 -05:00
2013-07-26 22:01:31 +02:00
2013-09-03 12:33:32 -05:00
2013-07-30 23:11:07 +01:00
2013-09-03 12:25:55 +02:00
2013-09-03 12:25:55 +02:00
2013-09-03 12:25:55 +02:00
2013-05-03 13:58:09 +02:00
2012-09-07 09:02:44 +03:00
2013-07-18 08:17:42 -07:00
2013-09-05 09:40:31 -05:00
2013-09-03 12:25:55 +02:00
2013-09-06 15:25:08 +02:00
2012-05-14 07:27:24 +02:00
2013-09-02 09:08:29 -07:00
2013-09-03 12:25:55 +02:00
2013-09-03 12:25:55 +02:00
2013-09-03 12:25:55 +02:00
2013-09-03 12:25:55 +02:00
2013-07-23 02:41:31 +02:00
2013-02-21 16:17:31 -06:00
2013-09-03 12:25:55 +02:00
2013-08-12 09:15:12 -05:00
2013-06-14 15:33:10 +01:00
2013-09-03 12:25:55 +02:00
2013-09-01 19:03:43 +04:00
2013-09-03 12:33:32 -05:00
2013-09-06 15:25:08 +02:00
2013-05-18 16:35:12 +04:00
2013-07-19 12:52:03 +04:00
2013-05-01 13:06:07 +02:00
2013-09-02 09:08:29 -07:00
2013-09-10 11:14:08 +02:00
2013-09-03 12:25:55 +02:00
2013-08-15 15:41:13 -05:00
2013-08-27 14:21:16 +02:00
2013-04-08 18:13:10 +02:00

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team
Description
QEMU With E2K User Support
Readme 459 MiB
Languages
C 83.1%
C++ 6.3%
Python 3.2%
Dylan 2.8%
Shell 1.6%
Other 2.8%