From: Paolo Bonzini <pbonzini@redhat.com>
To: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
Christian Borntraeger <borntraeger@de.ibm.com>
Subject: Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization
Date: Thu, 23 Jul 2015 20:19:50 +0200 [thread overview]
Message-ID: <55B13046.2060205@redhat.com> (raw)
In-Reply-To: <55B12274.2050005@redhat.com>
On 23/07/2015 19:20, Paolo Bonzini wrote:
>
>
> On 23/07/2015 16:14, Cornelia Huck wrote:
>> (gdb) bt
>> #0 0x000003fffc5871b4 in pthread_cond_wait@@GLIBC_2.3.2 ()
>> from /lib64/libpthread.so.0
>> #1 0x000000008024cfca in qemu_cond_wait (cond=cond@entry=0x9717d950,
>> mutex=mutex@entry=0x9717d920)
>> at /data/git/yyy/qemu/util/qemu-thread-posix.c:132
>> #2 0x000000008025e83a in rfifolock_lock (r=0x9717d920)
>> at /data/git/yyy/qemu/util/rfifolock.c:59
>> #3 0x00000000801b78fa in aio_context_acquire (ctx=<optimized out>)
>> at /data/git/yyy/qemu/async.c:331
>> #4 0x000000008007ceb4 in virtio_blk_data_plane_start (s=0x9717d710)
>> at /data/git/yyy/qemu/hw/block/dataplane/virtio-blk.c:285
>> #5 0x000000008007c64a in virtio_blk_handle_output (vdev=<optimized out>,
>> vq=<optimized out>) at /data/git/yyy/qemu/hw/block/virtio-blk.c:599
>> #6 0x00000000801c56dc in qemu_iohandler_poll (pollfds=0x97142800,
>> ret=ret@entry=1) at /data/git/yyy/qemu/iohandler.c:126
>> #7 0x00000000801c5178 in main_loop_wait (nonblocking=<optimized out>)
>> at /data/git/yyy/qemu/main-loop.c:494
>> #8 0x0000000080013ee2 in main_loop () at /data/git/yyy/qemu/vl.c:1902
>> #9 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>)
>> at /data/git/yyy/qemu/vl.c:4653
>>
>> I've stripped down the setup to the following commandline:
>>
>> /data/git/yyy/qemu/build/s390x-softmmu/qemu-system-s390x -machine
>> s390-ccw-virtio-2.4,accel=kvm,usb=off -m 1024 -smp
>> 4,sockets=4,cores=1,threads=1 -nographic -drive
>> file=/dev/sda,if=none,id=drive-virtio-disk0,format=raw,serial=ccwzfcp1,cache=none,aio=native
>> -device
>> virtio-blk-ccw,scsi=off,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1,x-data-plane=on
>
> What's the backtrace like for the other threads? This is almost
> definitely a latent bug somewhere else.
BTW, I can reproduce this---I'm asking because I cannot even attach gdb
to the hung process.
The simplest workaround is to reintroduce commit a0710f7995 (iothread:
release iothread around aio_poll, 2015-02-20), though it also comes with
some risk. It avoids the bug because it limits the contention on the
RFifoLock.
Paolo
next prev parent reply other threads:[~2015-07-23 18:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-22 11:43 [Qemu-devel] [PULL v2 for-2.4 v2 0/7] Block patches Stefan Hajnoczi
2015-07-22 11:43 ` [Qemu-devel] [PULL v2 for-2.4 v2 1/7] mirror: Speed up bitmap initial scanning Stefan Hajnoczi
2015-07-22 11:43 ` [Qemu-devel] [PULL v2 for-2.4 v2 2/7] qemu-timer: initialize "timers_done_ev" to set Stefan Hajnoczi
2015-07-22 11:43 ` [Qemu-devel] [PULL v2 for-2.4 v2 3/7] tests: remove irrelevant assertions from test-aio Stefan Hajnoczi
2015-07-22 11:43 ` [Qemu-devel] [PULL v2 for-2.4 v2 4/7] aio-win32: reorganize polling loop Stefan Hajnoczi
2015-07-22 11:43 ` [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization Stefan Hajnoczi
2015-07-23 14:14 ` Cornelia Huck
2015-07-23 17:20 ` Paolo Bonzini
2015-07-23 18:19 ` Paolo Bonzini [this message]
2015-07-23 19:19 ` Christian Borntraeger
2015-07-23 19:25 ` Paolo Bonzini
2015-07-23 19:29 ` Christian Borntraeger
2015-07-24 6:46 ` Cornelia Huck
2015-07-27 15:41 ` Stefan Hajnoczi
2015-07-22 11:43 ` [Qemu-devel] [PULL v2 for-2.4 v2 6/7] AioContext: fix broken placement of event_notifier_test_and_clear Stefan Hajnoczi
2015-07-22 11:43 ` [Qemu-devel] [PULL v2 for-2.4 v2 7/7] AioContext: optimize clearing the EventNotifier Stefan Hajnoczi
2015-07-22 14:02 ` [Qemu-devel] [PULL v2 for-2.4 v2 0/7] Block patches Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55B13046.2060205@redhat.com \
--to=pbonzini@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=kwolf@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.