[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->di
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization |
Date: |
Thu, 23 Jul 2015 16:14:13 +0200 |
On Wed, 22 Jul 2015 12:43:43 +0100
Stefan Hajnoczi <address@hidden> wrote:
> From: Paolo Bonzini <address@hidden>
>
> This patch rewrites the ctx->dispatching optimization, which was the cause
> of some mysterious hangs that could be reproduced on aarch64 KVM only.
> The hangs were indirectly caused by aio_poll() and in particular by
> flash memory updates's call to blk_write(), which invokes aio_poll().
> Fun stuff: they had an extremely short race window, so much that
> adding all kind of tracing to either the kernel or QEMU made it
> go away (a single printf made it half as reproducible).
Sadly, this commit seems to *introduce* hangs on my s390x setup - i.e.
the guest does not react at all.
Thread 1 seems to be stuck in dataplane setup:
(gdb) bt
#0 0x000003fffc5871b4 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib64/libpthread.so.0
#1 0x000000008024cfca in qemu_cond_wait (address@hidden,
address@hidden)
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,
address@hidden) 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
Instant hang for me :(
- [Qemu-devel] [PULL v2 for-2.4 v2 0/7] Block patches, Stefan Hajnoczi, 2015/07/22
- [Qemu-devel] [PULL v2 for-2.4 v2 1/7] mirror: Speed up bitmap initial scanning, Stefan Hajnoczi, 2015/07/22
- [Qemu-devel] [PULL v2 for-2.4 v2 2/7] qemu-timer: initialize "timers_done_ev" to set, Stefan Hajnoczi, 2015/07/22
- [Qemu-devel] [PULL v2 for-2.4 v2 3/7] tests: remove irrelevant assertions from test-aio, Stefan Hajnoczi, 2015/07/22
- [Qemu-devel] [PULL v2 for-2.4 v2 4/7] aio-win32: reorganize polling loop, Stefan Hajnoczi, 2015/07/22
- [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
- [Qemu-devel] [PULL v2 for-2.4 v2 7/7] AioContext: optimize clearing the EventNotifier, Stefan Hajnoczi, 2015/07/22
- [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization, Stefan Hajnoczi, 2015/07/22
- Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization,
Cornelia Huck <=
- Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization, Paolo Bonzini, 2015/07/23
- Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization, Paolo Bonzini, 2015/07/23
- Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization, Christian Borntraeger, 2015/07/23
- Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization, Paolo Bonzini, 2015/07/23
- Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization, Christian Borntraeger, 2015/07/23
- Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization, Cornelia Huck, 2015/07/24
- Re: [Qemu-devel] [PULL v2 for-2.4 v2 5/7] AioContext: fix broken ctx->dispatching optimization, Stefan Hajnoczi, 2015/07/27
Re: [Qemu-devel] [PULL v2 for-2.4 v2 0/7] Block patches, Peter Maydell, 2015/07/22