[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFH] Qemu main thread is blocked in g_poll in windows
From: |
Xiexiangyou |
Subject: |
Re: [Qemu-devel] [RFH] Qemu main thread is blocked in g_poll in windows guest |
Date: |
Tue, 15 Oct 2013 12:18:45 +0000 |
Thanks for your reply :-)
The QEMU version is 1.5.1,and the KVM version is 3.6
QEMU command:
/usr/bin/qemu-kvm -name win2008_dc_5 -S -machine
pc-i440fx-1.5,accel=kvm,usb=off -m 2048 -realtime mlock=off -smp
4,maxcpus=64,sockets=16,cores=4,threads=1 -uuid
13e08e3e-cd23-4450-8bd3-60e7c220316d -no-user-config -nodefaults -chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/win2008_dc_5.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc
base=utc,clock=vm,driftfix=slew -no-hpet -no-shutdown -device
piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device
virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x4 -device
virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive
file=/dev/vmdisk/win2008_dc_5,if=none,id=drive-scsi0-0-0-0,format=qcow2,cache=none,aio=native
-device
scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1
-netdev tap,fd=28,id=hostnet0,vhost=on,vhostfd=29 -device
virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:16:49:23,bus=pci.0,addr=0x3
-chardev
socket,id=charchannel0,path=/var/run/libvirt/qemu/win2008_dc_5.extend,server,nowait
-device
virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.1
-chardev
socket,id=charchannel1,path=/var/run/libvirt/qemu/win2008_dc_5.agent,server,nowait
-device
virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=org.qemu.guest_agent.0
-device usb-tablet,id=input0 -vnc 0.0.0.0:4 -device
cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
(gdb) bt
#0 0x00007f9ba661a423 in poll () from /lib64/libc.so.6
#1 0x000000000059460f in os_host_main_loop_wait (timeout=4294967295) at
main-loop.c:226
#2 0x00000000005946a4 in main_loop_wait (nonblocking=0) at main-loop.c:464
#3 0x0000000000619309 in main_loop () at vl.c:2182
#4 0x000000000061fb5e in main (argc=54, argv=0x7fff879830c8,
envp=0x7fff87983280) at vl.c:4611
Main thread's strace message:
# strace -p 6386
Process 6386 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>
cpu thread's strace message:
# strace -p 6389
Process 6389 attached - interrupt to quit
rt_sigtimedwait([BUS USR1], 0x7f9ba36fbc00) = -1 EAGAIN (Resource temporarily
unavailable)
rt_sigpending([]) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
ioctl(17, 0xae80, 0) = 0
...
Thanks!
--xie
-----Original Message-----
From: Paolo Bonzini [mailto:address@hidden On Behalf Of Paolo Bonzini
Sent: Tuesday, October 15, 2013 7:52 PM
To: Xiexiangyou
Cc: address@hidden; address@hidden; address@hidden; Huangpeng (Peter);
Luonengjun
Subject: Re: [RFH] Qemu main thread is blocked in g_poll in windows guest
Il 15/10/2013 12:21, Xiexiangyou ha scritto:
> Hi all:
>
> Windows2008 Guest run without pressure for long time. Sometimes, it
> stop and looks like hanging. But when I connect to it with VNC, It
> resume to run, but VM's time is delayed . When the vm is hanging, I
> check the main thread of QEMU. I find that the thread is blocked in
> g_poll function. it is waiting for a SIG, However, there is no SIG .
>
> I tried the clock with "hpet" and "no hpet", but came out the same
> problem. Then I upgrade the glibc to newer, it didn't work too. I'm
> confused. Is the reason that VM in sleep state and doesn't emit the
> signal. I set the windows 's "power option", enable/disable the
> "allow the wake timers", I didn't work.
>
> Is anybody have met the same problem before, or know the reason. Your
> reply will be very helpful.
This post is missing a few pieces of information:
* What version of QEMU is this?
* What is the command line?
* How do you know g_poll is waiting for a signal and not for a file
descriptor?
* What is the backtrace of the main thread? What is the backtrace of
the VCPU thread?
etc.
Paolo