qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 0/1] Block patches


From: Stefan Hajnoczi
Subject: Re: [PULL 0/1] Block patches
Date: Mon, 25 Oct 2021 11:10:07 +0100

On Thu, Oct 21, 2021 at 03:08:56PM -0700, Richard Henderson wrote:
> On 10/21/21 10:41 AM, Stefan Hajnoczi wrote:
> > The following changes since commit afc9fcde55296b83f659de9da3cdf044812a6eeb:
> > 
> >    Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into 
> > staging (2021-10-20 06:10:51 -0700)
> > 
> > are available in the Git repository at:
> > 
> >    https://gitlab.com/stefanha/qemu.git tags/block-pull-request
> > 
> > for you to fetch changes up to 4b2b3d2653f255ef4259a7689af1956536565901:
> > 
> >    coroutine: resize pool periodically instead of limiting size (2021-10-21 
> > 18:40:07 +0100)
> > 
> > ----------------------------------------------------------------
> > Pull request
> > 
> > Performance optimization when guest applications submit a lot of parallel 
> > I/O.
> > This has also been found to improve clang SafeStack performance.
> > 
> > ----------------------------------------------------------------
> > 
> > Stefan Hajnoczi (1):
> >    coroutine: resize pool periodically instead of limiting size
> > 
> >   include/qemu/coroutine-pool-timer.h | 36 ++++++++++++++++
> >   include/qemu/coroutine.h            |  7 ++++
> >   iothread.c                          |  6 +++
> >   util/coroutine-pool-timer.c         | 35 ++++++++++++++++
> >   util/main-loop.c                    |  5 +++
> >   util/qemu-coroutine.c               | 64 ++++++++++++++++-------------
> >   util/meson.build                    |  1 +
> >   7 files changed, 125 insertions(+), 29 deletions(-)
> >   create mode 100644 include/qemu/coroutine-pool-timer.h
> >   create mode 100644 util/coroutine-pool-timer.c
> 
> This is causing
> 
>  (001/170) tests/acceptance/boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg:
> INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout
> reached\nOriginal status: ERROR\n{'name':
> '001-tests/acceptance/boot_linux.py:BootLinuxX8664.test_pc_i440fx_tcg',
> 'logdir':
> '/home/richard.henderson/qemu/bld/tests/results/job-2021-10-21T20.58-ae0f6...
> (900.15 s)
>  (002/170) tests/acceptance/boot_linux.py:BootLinuxX8664.test_pc_i440fx_kvm:
> INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout
> reached\nOriginal status: ERROR\n{'name':
> '002-tests/acceptance/boot_linux.py:BootLinuxX8664.test_pc_i440fx_kvm',
> 'logdir':
> '/home/richard.henderson/qemu/bld/tests/results/job-2021-10-21T20.58-ae0f6...
> (900.23 s)
> 
> I initially though this was just gitlab, but it reliably happens on my local 
> machine as well.

Thanks, the coroutine pool timer commit in this pull request is broken.
Coroutines are created in one thread and then destroyed in another, so
the thread-local book keeping that assumed coroutines live in a single
thread was getting out of sync.

I will drop this pull request for now.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]