From: Kevin Wolf <kwolf@redhat.com>
To: Peter Lieven <pl@dlh.net>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org,
Christoph Hellwig <hch@lst.de>
Subject: [Qemu-devel] Re: qemu-kvm hangs if multipath device is queing
Date: Tue, 18 May 2010 15:22:36 +0200 [thread overview]
Message-ID: <4BF2949C.8010108@redhat.com> (raw)
In-Reply-To: <4BF275B1.8030106@dlh.net>
Am 18.05.2010 13:10, schrieb Peter Lieven:
> hi kevin,
>
> here is the backtrace of (hopefully) all threads:
>
> ^C
> Program received signal SIGINT, Interrupt.
> [Switching to Thread 0x7f39b72656f0 (LWP 10695)]
> 0x00007f39b6c3ea94 in __lll_lock_wait () from /lib/libpthread.so.0
>
> (gdb) thread apply all bt
>
> Thread 2 (Thread 0x7f39b57b8950 (LWP 10698)):
> #0 0x00007f39b6c3eedb in read () from /lib/libpthread.so.0
> #1 0x000000000049e723 in qemu_laio_completion_cb (opaque=0x22b4010) at
> linux-aio.c:125
> #2 0x000000000049e8ad in laio_cancel (blockacb=0x22ba310) at
> linux-aio.c:184
I think it's stuck here in an endless loop:
while (laiocb->ret == -EINPROGRESS)
qemu_laio_completion_cb(laiocb->ctx);
Can you verify this by single-stepping one or two loop iterations? ret
and errno after the read call could be interesting, too.
We'll be stuck in an endless loop if the request doesn't complete, which
might well happen in your scenario. Not sure what the right thing to do
is. We probably need to fail the bdrv_aio_cancel to avoid blocking the
whole program, but I have no idea what device emulations should do on
that condition.
As long as we can't handle that condition correctly, leaving the hang in
place is probably the best option. Maybe add some sleep to avoid 100%
CPU consumption.
Kevin
next prev parent reply other threads:[~2010-05-18 13:23 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-03 21:26 [Qemu-devel] Qemu-KVM 0.12.3 and Multipath -> Assertion Peter Lieven
2010-05-04 5:38 ` [Qemu-devel] " André Weidemann
2010-05-04 8:35 ` [Qemu-devel] " Kevin Wolf
2010-05-04 11:38 ` Peter Lieven
2010-05-04 12:20 ` Kevin Wolf
2010-05-04 13:42 ` Peter Lieven
2010-05-04 14:01 ` Kevin Wolf
2010-05-04 17:07 ` Christoph Hellwig
2010-05-18 11:13 ` Peter Lieven
2010-05-18 12:14 ` Kevin Wolf
2010-05-12 14:01 ` qemu-kvm hangs if multipath device is queing (was: Re: [Qemu-devel] Qemu-KVM 0.12.3 and Multipath -> Assertion) Peter Lieven
2010-05-14 9:26 ` [Qemu-devel] Re: qemu-kvm hangs if multipath device is queing Kevin Wolf
2010-05-18 11:10 ` Peter Lieven
2010-05-18 13:22 ` Kevin Wolf [this message]
2010-05-19 7:29 ` Christoph Hellwig
2010-05-19 7:48 ` Kevin Wolf
2010-05-19 8:18 ` Peter Lieven
2010-05-23 10:30 ` Peter Lieven
2010-05-08 9:53 ` [Qemu-devel] Qemu-KVM 0.12.3 and Multipath -> Assertion André Weidemann
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=4BF2949C.8010108@redhat.com \
--to=kwolf@redhat.com \
--cc=hch@lst.de \
--cc=kvm@vger.kernel.org \
--cc=pl@dlh.net \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).