From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44904) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPcaL-0004ua-En for qemu-devel@nongnu.org; Tue, 09 Apr 2013 13:43:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPcaJ-0006kr-19 for qemu-devel@nongnu.org; Tue, 09 Apr 2013 13:43:57 -0400 Received: from e9.ny.us.ibm.com ([32.97.182.139]:49821) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPcaI-0006kl-Sj for qemu-devel@nongnu.org; Tue, 09 Apr 2013 13:43:54 -0400 Received: from /spool/local by e9.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 9 Apr 2013 13:43:53 -0400 Received: from d01relay07.pok.ibm.com (d01relay07.pok.ibm.com [9.56.227.147]) by d01dlp02.pok.ibm.com (Postfix) with ESMTP id 349866E8048 for ; Tue, 9 Apr 2013 13:43:32 -0400 (EDT) Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay07.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r39HhXaL46792924 for ; Tue, 9 Apr 2013 13:43:34 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r39HhXHC005459 for ; Tue, 9 Apr 2013 14:43:33 -0300 Received: from [172.16.1.222] (klinux.watson.ibm.com [9.2.208.21]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id r39HhXB7005400 for ; Tue, 9 Apr 2013 14:43:33 -0300 Message-ID: <51645345.60005@linux.vnet.ibm.com> Date: Tue, 09 Apr 2013 13:43:33 -0400 From: "Michael R. Hines" MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="------------020206030008030101000305" Subject: [Qemu-devel] latest master: major slowdown (something spinning?) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "qemu-devel@nongnu.org" This is a multi-part message in MIME format. --------------020206030008030101000305 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit *Here's the commit that causes the problem:* $ git checkout d185c094b404b4ff392b77d1244c0233da7d53bd qemu-char: eliminate busy waiting on can_read returning zero *Symptoms:* When the VM boots everything crawls and the host CPU is at 100%, messages are printing extremely slowly on the VM console and the VM is not making any boot progress......... printing kernel messages once a second or so....... Something in QEMU appears to be spinning. Here's my command line: qemu-system-x86_64 -enable-kvm -m 2048 -smp 2,sockets=1,cores=1,threads=1 -nodefconfig -rtc base=utc -no-shutdown disk.img -serial pty -monitor unix:/tmp/devguest,server,nowait -netdev type=tap,vhost=on,id=hostnet0,script=kvmifup.sh,downscript=kvmifdown.sh -device virtio-net-pci,netdev=hostnet0,mac=12:34:36:00:00:02 -usb -device usb-tablet,id=input0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 - Michael Hines --------------020206030008030101000305 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Here's the commit that causes the problem:

$ git checkout d185c094b404b4ff392b77d1244c0233da7d53bd
qemu-char: eliminate busy waiting on can_read returning zero

Symptoms:

When the VM boots everything crawls and the host CPU is at 100%,
messages are printing extremely slowly on the VM console
and the VM is not making any boot progress......... printing kernel
messages once a second or so.......

Something in QEMU appears to be spinning.

Here's my command line:

qemu-system-x86_64 -enable-kvm -m 2048 -smp 2,sockets=1,cores=1,threads=1 -nodefconfig -rtc base=utc -no-shutdown disk.img -serial pty -monitor unix:/tmp/devguest,server,nowait -netdev type=tap,vhost=on,id=hostnet0,script=kvmifup.sh,downscript=kvmifdown.sh -device virtio-net-pci,netdev=hostnet0,mac=12:34:36:00:00:02 -usb -device usb-tablet,id=input0  -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

- Michael Hines
--------------020206030008030101000305-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40874) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPplh-0002WL-Lh for qemu-devel@nongnu.org; Wed, 10 Apr 2013 03:48:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPplg-0000Qc-Lr for qemu-devel@nongnu.org; Wed, 10 Apr 2013 03:48:33 -0400 Received: from mail-bk0-x22e.google.com ([2a00:1450:4008:c01::22e]:52524) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPpgl-0006so-7o for qemu-devel@nongnu.org; Wed, 10 Apr 2013 03:43:27 -0400 Received: by mail-bk0-f46.google.com with SMTP id je9so65864bkc.5 for ; Wed, 10 Apr 2013 00:43:25 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <51651817.1050703@redhat.com> Date: Wed, 10 Apr 2013 09:43:19 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <51645345.60005@linux.vnet.ibm.com> In-Reply-To: <51645345.60005@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] latest master: major slowdown (something spinning?) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael R. Hines" Cc: "qemu-devel@nongnu.org" Il 09/04/2013 19:43, Michael R. Hines ha scritto: > *Here's the commit that causes the problem:* > > $ git checkout d185c094b404b4ff392b77d1244c0233da7d53bd > qemu-char: eliminate busy waiting on can_read returning zero Can you stil reproduce it after commit 1e885b25275fb6763eb947b1e53b2d6911b967a8 Author: Paolo Bonzini Date: Mon Apr 8 15:03:15 2013 +0200 qemu-char: really fix behavior on can_read = 0 ? Paolo > *Symptoms:* > > When the VM boots everything crawls and the host CPU is at 100%, > messages are printing extremely slowly on the VM console > and the VM is not making any boot progress......... printing kernel > messages once a second or so....... > > Something in QEMU appears to be spinning. > > Here's my command line: > > qemu-system-x86_64 -enable-kvm -m 2048 -smp > 2,sockets=1,cores=1,threads=1 -nodefconfig -rtc base=utc -no-shutdown > disk.img -serial pty -monitor unix:/tmp/devguest,server,nowait -netdev > type=tap,vhost=on,id=hostnet0,script=kvmifup.sh,downscript=kvmifdown.sh > -device virtio-net-pci,netdev=hostnet0,mac=12:34:36:00:00:02 -usb > -device usb-tablet,id=input0 -device > virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 > > - Michael Hines From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43980) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPuNQ-0007OB-LJ for qemu-devel@nongnu.org; Wed, 10 Apr 2013 08:43:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPuNN-0007oc-SY for qemu-devel@nongnu.org; Wed, 10 Apr 2013 08:43:48 -0400 Received: from e7.ny.us.ibm.com ([32.97.182.137]:56752) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPuNN-0007oU-OQ for qemu-devel@nongnu.org; Wed, 10 Apr 2013 08:43:45 -0400 Received: from /spool/local by e7.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 10 Apr 2013 08:43:44 -0400 Received: from d01relay03.pok.ibm.com (d01relay03.pok.ibm.com [9.56.227.235]) by d01dlp01.pok.ibm.com (Postfix) with ESMTP id 5E43A38C801C for ; Wed, 10 Apr 2013 08:43:42 -0400 (EDT) Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay03.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r3AChg5b287974 for ; Wed, 10 Apr 2013 08:43:42 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r3AChgP1018051 for ; Wed, 10 Apr 2013 09:43:42 -0300 Message-ID: <51655E7D.2000308@linux.vnet.ibm.com> Date: Wed, 10 Apr 2013 08:43:41 -0400 From: "Michael R. Hines" MIME-Version: 1.0 References: <51645345.60005@linux.vnet.ibm.com> <51651817.1050703@redhat.com> In-Reply-To: <51651817.1050703@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] latest master: major slowdown (something spinning?) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: "qemu-devel@nongnu.org" Yes, it still happens at that commit string. Is there a specific test or trace I can provide to help track it down? - Michael On 04/10/2013 03:43 AM, Paolo Bonzini wrote: > Il 09/04/2013 19:43, Michael R. Hines ha scritto: >> *Here's the commit that causes the problem:* >> >> $ git checkout d185c094b404b4ff392b77d1244c0233da7d53bd >> qemu-char: eliminate busy waiting on can_read returning zero > Can you stil reproduce it after > > commit 1e885b25275fb6763eb947b1e53b2d6911b967a8 > Author: Paolo Bonzini > Date: Mon Apr 8 15:03:15 2013 +0200 > > qemu-char: really fix behavior on can_read = 0 > > ? > > Paolo > >> *Symptoms:* >> >> When the VM boots everything crawls and the host CPU is at 100%, >> messages are printing extremely slowly on the VM console >> and the VM is not making any boot progress......... printing kernel >> messages once a second or so....... >> >> Something in QEMU appears to be spinning. >> >> Here's my command line: >> >> qemu-system-x86_64 -enable-kvm -m 2048 -smp >> 2,sockets=1,cores=1,threads=1 -nodefconfig -rtc base=utc -no-shutdown >> disk.img -serial pty -monitor unix:/tmp/devguest,server,nowait -netdev >> type=tap,vhost=on,id=hostnet0,script=kvmifup.sh,downscript=kvmifdown.sh >> -device virtio-net-pci,netdev=hostnet0,mac=12:34:36:00:00:02 -usb >> -device usb-tablet,id=input0 -device >> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 >> >> - Michael Hines > From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44927) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPuQZ-0002Bv-7v for qemu-devel@nongnu.org; Wed, 10 Apr 2013 08:47:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPuQU-0000bU-Mu for qemu-devel@nongnu.org; Wed, 10 Apr 2013 08:47:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47140) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPuQU-0000bH-G2 for qemu-devel@nongnu.org; Wed, 10 Apr 2013 08:46:58 -0400 Message-ID: <51655F3A.3070703@redhat.com> Date: Wed, 10 Apr 2013 14:46:50 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <51645345.60005@linux.vnet.ibm.com> <51651817.1050703@redhat.com> <51655E7D.2000308@linux.vnet.ibm.com> In-Reply-To: <51655E7D.2000308@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] latest master: major slowdown (something spinning?) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael R. Hines" Cc: "qemu-devel@nongnu.org" Il 10/04/2013 14:43, Michael R. Hines ha scritto: > Yes, it still happens at that commit string. > > Is there a specific test or trace I can provide to help track it down? You can try: 1) first, please post the exact QEMU command line your using; 2) put "strace -e poll" in front and post the final lines. Also post the output of "ls -l /proc//fd" where is QEMU's pid. 3) if the output of "strace -e poll" hangs, instead, run it under gdb and post a backtrace. Perhaps continue the process a few times and check if the backtrace remains the same or changes. Paolo From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53963) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPutF-0004ht-Th for qemu-devel@nongnu.org; Wed, 10 Apr 2013 09:16:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPutA-0002J9-DD for qemu-devel@nongnu.org; Wed, 10 Apr 2013 09:16:41 -0400 Received: from e9.ny.us.ibm.com ([32.97.182.139]:56771) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPutA-0002J0-8S for qemu-devel@nongnu.org; Wed, 10 Apr 2013 09:16:36 -0400 Received: from /spool/local by e9.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 10 Apr 2013 09:16:35 -0400 Received: from d01relay05.pok.ibm.com (d01relay05.pok.ibm.com [9.56.227.237]) by d01dlp01.pok.ibm.com (Postfix) with ESMTP id E7ED638C801A for ; Wed, 10 Apr 2013 09:16:31 -0400 (EDT) Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by d01relay05.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r3ADGV5V328684 for ; Wed, 10 Apr 2013 09:16:31 -0400 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r3ADGEqC001408 for ; Wed, 10 Apr 2013 07:16:15 -0600 Message-ID: <5165661D.1060700@linux.vnet.ibm.com> Date: Wed, 10 Apr 2013 09:16:13 -0400 From: "Michael R. Hines" MIME-Version: 1.0 References: <51645345.60005@linux.vnet.ibm.com> <51651817.1050703@redhat.com> <51655E7D.2000308@linux.vnet.ibm.com> <51655F3A.3070703@redhat.com> In-Reply-To: <51655F3A.3070703@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] latest master: major slowdown (something spinning?) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: "qemu-devel@nongnu.org" Will do, in the meantime, QEMU just printed out this error message: main-loop: WARNING: I/O thread spun for 1000 iterations Will get the traces later for you.... - Michael On 04/10/2013 08:46 AM, Paolo Bonzini wrote: > Il 10/04/2013 14:43, Michael R. Hines ha scritto: >> Yes, it still happens at that commit string. >> >> Is there a specific test or trace I can provide to help track it down? > You can try: > > 1) first, please post the exact QEMU command line your using; > > 2) put "strace -e poll" in front and post the final lines. Also post > the output of "ls -l /proc//fd" where is QEMU's pid. > > 3) if the output of "strace -e poll" hangs, instead, run it under gdb > and post a backtrace. Perhaps continue the process a few times and > check if the backtrace remains the same or changes. > > Paolo > From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42255) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQqzq-00073H-50 for qemu-devel@nongnu.org; Fri, 12 Apr 2013 23:19:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UQqzk-0000Do-Cp for qemu-devel@nongnu.org; Fri, 12 Apr 2013 23:19:22 -0400 Received: from e36.co.us.ibm.com ([32.97.110.154]:43990) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQqzk-0000DX-0s for qemu-devel@nongnu.org; Fri, 12 Apr 2013 23:19:16 -0400 Received: from /spool/local by e36.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 12 Apr 2013 21:19:14 -0600 Received: from d03relay01.boulder.ibm.com (d03relay01.boulder.ibm.com [9.17.195.226]) by d03dlp01.boulder.ibm.com (Postfix) with ESMTP id 97D221FF0026 for ; Fri, 12 Apr 2013 21:14:11 -0600 (MDT) Received: from d03av03.boulder.ibm.com (d03av03.boulder.ibm.com [9.17.195.169]) by d03relay01.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r3D3JB8m107934 for ; Fri, 12 Apr 2013 21:19:12 -0600 Received: from d03av03.boulder.ibm.com (loopback [127.0.0.1]) by d03av03.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r3D3JBH5020079 for ; Fri, 12 Apr 2013 21:19:11 -0600 Message-ID: <5168CEAE.6000306@linux.vnet.ibm.com> Date: Fri, 12 Apr 2013 23:19:10 -0400 From: "Michael R. Hines" MIME-Version: 1.0 References: <51645345.60005@linux.vnet.ibm.com> <51651817.1050703@redhat.com> <51655E7D.2000308@linux.vnet.ibm.com> <51655F3A.3070703@redhat.com> In-Reply-To: <51655F3A.3070703@redhat.com> Content-Type: multipart/alternative; boundary="------------000604060007090904090402" Subject: Re: [Qemu-devel] latest master: major slowdown (something spinning?) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: "qemu-devel@nongnu.org" This is a multi-part message in MIME format. --------------000604060007090904090402 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit OK, I pinned down the spinning to a specific device: A serial PTY device. Here's a very easy way to reproduce: qemu-system-x86_64 disk.qed -serial pty (VM is running RHEL 6.1) If I add '-serial pty' to my command line, it spins until it prints: main-loop: WARNING: I/O thread spun for 1000 iterations But if I delete the device from the command-line, the VM boots up perfectly. I've also attached the strace output and ls -l output. $ ls -l /proc/16474/fd total 0 lrwx------ 1 root root 64 Apr 12 23:15 0 -> /dev/pts/0 lrwx------ 1 root root 64 Apr 12 23:15 1 -> /dev/pts/0 lr-x------ 1 root root 64 Apr 12 23:15 10 -> /home/mrhines/qemu/pc-bios/bios.bin lrwx------ 1 root root 64 Apr 12 23:15 11 -> socket:[1477237] lrwx------ 1 root root 64 Apr 12 23:15 12 -> socket:[1477238] lrwx------ 1 root root 64 Apr 12 23:15 2 -> /dev/pts/0 lrwx------ 1 root root 64 Apr 12 23:15 3 -> anon_inode:[signalfd] lrwx------ 1 root root 64 Apr 12 23:15 4 -> anon_inode:[eventfd] lrwx------ 1 root root 64 Apr 12 23:15 5 -> anon_inode:[eventfd] lrwx------ 1 root root 64 Apr 12 23:15 6 -> disk.qed lrwx------ 1 root root 64 Apr 12 23:15 7 -> anon_inode:[eventfd] lr-x------ 1 root root 64 Apr 12 23:15 8 -> /home/kvm_repo/cloudbench_root.qed lrwx------ 1 root root 64 Apr 12 23:15 9 -> /dev/ptmx klinux9:/home/mrhines # And QEMU seems to be doing a lot of polling: poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 943) = 1 ([{fd=3, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 922) = 1 ([{fd=3, revents=POLLIN}]) poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}]) poll([{fd=12, events=POLLIN}], 1, -1) = 1 ([{fd=12, revents=POLLIN}]) poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=5, revents=POLLIN}, {fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 214) = 1 ([{fd=3, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 208) = 1 ([{fd=3, revents=POLLIN}]) poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}]) poll([{fd=12, events=POLLIN}], 1, -1) = 1 ([{fd=12, revents=POLLIN}]) poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 173) = 1 ([{fd=3, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=5, revents=POLLIN}, {fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 153) = 1 ([{fd=3, revents=POLLIN}]) poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}]) poll([{fd=12, events=POLLIN}], 1, -1) = 1 ([{fd=12, revents=POLLIN}]) poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}, {fd=9, events=POLLIN}], 5, 0) = 3 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}, {fd=9, revents=POLLHUP}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=5, revents=POLLIN}, {fd=4, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}]) poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout) - Michael On 04/10/2013 08:46 AM, Paolo Bonzini wrote: > Il 10/04/2013 14:43, Michael R. Hines ha scritto: >> Yes, it still happens at that commit string. >> >> Is there a specific test or trace I can provide to help track it down? > You can try: > > 1) first, please post the exact QEMU command line your using; > > 2) put "strace -e poll" in front and post the final lines. Also post > the output of "ls -l /proc//fd" where is QEMU's pid. > > 3) if the output of "strace -e poll" hangs, instead, run it under gdb > and post a backtrace. Perhaps continue the process a few times and > check if the backtrace remains the same or changes. > > Paolo > --------------000604060007090904090402 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit
OK, I pinned down the spinning to a specific device: A serial PTY device.

Here's a very easy way to reproduce: qemu-system-x86_64 disk.qed -serial pty


(VM is running RHEL 6.1)

If I add '-serial pty' to my command line, it spins until it prints:
main-loop: WARNING: I/O thread spun for 1000 iterations

But if I delete the device from the command-line, the VM boots up perfectly.

I've also attached the strace output and ls -l output.

$ ls -l /proc/16474/fd
total 0
lrwx------ 1 root root 64 Apr 12 23:15 0 -> /dev/pts/0
lrwx------ 1 root root 64 Apr 12 23:15 1 -> /dev/pts/0
lr-x------ 1 root root 64 Apr 12 23:15 10 -> /home/mrhines/qemu/pc-bios/bios.bin
lrwx------ 1 root root 64 Apr 12 23:15 11 -> socket:[1477237]
lrwx------ 1 root root 64 Apr 12 23:15 12 -> socket:[1477238]
lrwx------ 1 root root 64 Apr 12 23:15 2 -> /dev/pts/0
lrwx------ 1 root root 64 Apr 12 23:15 3 -> anon_inode:[signalfd]
lrwx------ 1 root root 64 Apr 12 23:15 4 -> anon_inode:[eventfd]
lrwx------ 1 root root 64 Apr 12 23:15 5 -> anon_inode:[eventfd]
lrwx------ 1 root root 64 Apr 12 23:15 6 -> disk.qed
lrwx------ 1 root root 64 Apr 12 23:15 7 -> anon_inode:[eventfd]
lr-x------ 1 root root 64 Apr 12 23:15 8 -> /home/kvm_repo/cloudbench_root.qed
lrwx------ 1 root root 64 Apr 12 23:15 9 -> /dev/ptmx
klinux9:/home/mrhines #

And QEMU seems to be doing a lot of polling:

poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 943) = 1 ([{fd=3, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 922) = 1 ([{fd=3, revents=POLLIN}])
poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}])
poll([{fd=12, events=POLLIN}], 1, -1)   = 1 ([{fd=12, revents=POLLIN}])
poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=5, revents=POLLIN}, {fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 214) = 1 ([{fd=3, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 208) = 1 ([{fd=3, revents=POLLIN}])
poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}])
poll([{fd=12, events=POLLIN}], 1, -1)   = 1 ([{fd=12, revents=POLLIN}])
poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 173) = 1 ([{fd=3, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=5, revents=POLLIN}, {fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 153) = 1 ([{fd=3, revents=POLLIN}])
poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}])
poll([{fd=12, events=POLLIN}], 1, -1)   = 1 ([{fd=12, revents=POLLIN}])
poll([{fd=12, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=12, revents=POLLOUT}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}, {fd=9, events=POLLIN}], 5, 0) = 3 ([{fd=3, revents=POLLIN}, {fd=5, revents=POLLIN}, {fd=9, revents=POLLHUP}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 2 ([{fd=5, revents=POLLIN}, {fd=4, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 1 ([{fd=5, revents=POLLIN}])
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout)



- Michael

On 04/10/2013 08:46 AM, Paolo Bonzini wrote:
Il 10/04/2013 14:43, Michael R. Hines ha scritto:
Yes, it still happens at that commit string.

Is there a specific test or trace I can provide to help track it down?
You can try:

1) first, please post the exact QEMU command line your using;

2) put "strace -e poll" in front and post the final lines.  Also post
the output of "ls -l /proc/<pid>/fd" where <pid> is QEMU's pid.

3) if the output of "strace -e poll" hangs, instead, run it under gdb
and post a backtrace.  Perhaps continue the process a few times and
check if the backtrace remains the same or changes.

Paolo


--------------000604060007090904090402--