From: hkran <hkran@vnet.linux.ibm.com>
To: Vadim Rozenfeld <vrozenfe@redhat.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] balloon driver on winxp guest start failed
Date: Thu, 20 Oct 2011 15:55:15 +0800 [thread overview]
Message-ID: <4E9FD3E3.3040403@vnet.linux.ibm.com> (raw)
In-Reply-To: <1318856142.2803.24.camel@vadimr.dell>
On 10/17/2011 08:55 PM, Vadim Rozenfeld wrote:
> On Fri, 2011-10-14 at 17:49 +0800, hkran wrote:
>> On 10/14/2011 04:55 AM, Vadim Rozenfeld wrote:
>>> On Thu, 2011-10-13 at 15:47 +0100, Stefan Hajnoczi wrote:
>>>> On Thu, Oct 13, 2011 at 5:00 AM, hkran<hkran@vnet.linux.ibm.com> wrote:
>>>>> On 10/12/2011 07:09 PM, hkran wrote:
>>>>>> I used balloon driver for windows virtio-win-0.1-15.iso (from
>>>>>> http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/)
>>>>>>
>>>>>> following the install guard , I installed the balloon driver like this:
>>>>>>
>>>>>> devcon.exe install d:\wxp\x86\balloon.inf
>>>>>> "PCI\VEN_1AF4&DEV_1002&SUBSYS_00051AF4&REV_00"
>>>>>> then reboot guest Os, but the status of driver installed is always
>>>>>> incorrect, that show me the driver start failed (code 10) in the device
>>>>>> manager.
>>> Seems like a resource allocation problem
>>>>>> I typed the following cmds in the monitor command line:
>>>>>>
>>>>>> (qemu) device_add virtio-balloon
>>>>>> (qemu) info balloon
>>>>>> balloon: actual=2048
>>>>>> (qemu) balloon 1024
>>>>>> (qemu) info balloon
>>>>>> balloon: actual=2048
>>>>>> (qemu) info balloon
>>>>>> balloon: actual=2048
>>>>>>
>>>>>> And I also tried it by using "qemu -balloon virtio" param when getting
>>>>>> qemu up, the status is worse, the winxp guest froze at boot screen.
>>>>>>
>>>>>> Am I using balloon driver in a correct way?
>>>>>>
>>>>>>
>>>>>>
>>>>> For the boot failure case, I take more looks into it. I open the trace
>>>>> output and see the following when boot failed
>>>>> Balloon driver, built on Oct 13 2011 10:46:59
>>>>> ^M<-- DriverEntry
>>>>> ^Mfile z:\source\kvm-guest-drivers-windows\balloon\sys\driver.c line 151
>>>>> ^M--> BalloonDeviceAdd
>>>>> ^M<-- BalloonDeviceAdd
>>>>> ^M--> BalloonEvtDevicePrepareHardware
>>>>> ^M<-> Port Resource [0000C0A0-0000C0C0]
>>>>> ^M<-- BalloonEvtDevicePrepareHardware
>>>>> ^M--> BalloonEvtDeviceD0Entry
>>>>> ^M--> BalloonInit
>>>>> ^M--> VIRTIO_BALLOON_F_STATS_VQ
>>>>> ^M<-- BalloonInit
>>>>> ^M--> BalloonInterruptEnable
>>>>> ^M<-- BalloonInterruptEnable
>>>>>
>>>>> here, the system is blocked.
>>>>>
>>>>> I compare it with the logfile in the normal case that I hot-plugin the
>>>>> balloon device, and then find the system blocked before calling at
>>>>> BalloonInterruptDpc.
>>>>>
>>> What about ISR? Can you try changing balloon size and check if balloon
>>> ISR was invoked or not?
>>>>> Is it meaning that we open the interrupt of balloon device too soon when
>>>>> booting the system?
>>>> I suggest CCing Vadim on virtio Windows driver questions. Not sure if
>>>> he sees every qemu-devel email.
>>>>
>>>> Stefan
>>>
>> To make the issue clearer, I do more tests about that. Now I use the
>> package virtio-win-prewhql-0.1-15-sources.zip from
>> http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/src/
>> The problem that the balloon driver status is incorrect was not
>> reproduced any longer, but boot failure still be there.
>> more tests told me as if the failure will occur only in the case where
>> virtio-serial and balloon are all attached when qemu booting:
>>
>> (qemu) [huikai@oc0100708617 ~]$
>> /home/huikai/qemu15/bin/qemu-system-x86_64 --enable-kvm -m 2048 -drive
>> file=/home/huikai/xp_shanghai.img,if=virtio -net user -net
>> nic,model=viga qxl -localtime -chardev stdio,id=muxstdio -mon
>> chardev=muxstdio -usb -usbdevice tablet -device virtio-serial,id=vs0
>> -chardev socket,path=/tmp/foo,server,nowait,id=foo -device
>> virtserialport,bus=vs0.0,chardev=foo,name=helloworld -serial
>> file:/tmp/xp_1014_6.log -balloon virtio,id=ball1
>>
>> the trace:
>>
>> Virtio-Serial driver started...built on Oct 14 2011 15:58:02
>> ^M<--> VIOSerialEvtDeviceAdd
>> ^M<--> VIOSerialInitInterruptHandling
>> ^MBalloon driver, built on Oct 13 2011 17:34:56
>> ^M<-- DriverEntry
>> ^M--> BalloonDeviceAdd
>> ^M<-- BalloonDeviceAdd
>> ^M--> BalloonEvtDevicePrepareHardware
>> ^M<-> Port Resource [0000C0A0-0000C0C0]
>> ^M<-- BalloonEvtDevicePrepareHardware
>> ^M--> BalloonEvtDeviceD0Entry
>> ^M--> BalloonInit
>> ^M--> VIRTIO_BALLOON_F_STATS_VQ
>> ^M<-- BalloonInit
>> ^M--> BalloonInterruptEnable
>> ^M<-- BalloonInterruptEnable
>> ^M<--> VIOSerialEvtDevicePrepareHardware
>> ^MIO Port Info [0000C080-0000C0A0]
>> ^MWe have multiport host
>> ^MVirtIOConsoleConfig->max_nr_ports 31
>> ^M<--> VIOSerialEvtDeviceD0Entry
>> ^M<--> VIOSerialInitAllQueues
>> ^M<--> VIOSerialFillQueue
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89B13A50
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89B13638
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89C07E08
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89C07C50
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89C07A98
>> ... ...
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89BD14B8
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89B826E8
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89BE4450
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89BE2398
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89C53468
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89C37E18
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89C374C0
>> ^M--> VIOSerialFreeBuffer buf = 89C374C0, buf->va_buf = 89983000
>> ^MVIOSerialRenewAllPorts
>> ^M<--> VIOSerialFillQueue
>> ^M--> VIOSerialAllocateBuffer
>> ^M--> VIOSerialAddInBuf buf = 89C374C0
>> ^M--> VIOSerialFreeBuffer buf = 89C374C0, buf->va_buf = 89983000
>> ^MSetting VIRTIO_CONFIG_S_DRIVER_OK flag
>> ^M
>>
>> not any more output here.
>>
> What does "info pci" say?
> Best,
> Vadim.
>>
>
>
when windows hung, info pci output:
(qemu) info pci
Bus 0, device 0, function 0:
Host bridge: PCI device 8086:1237
id ""
Bus 0, device 1, function 0:
ISA bridge: PCI device 8086:7000
id ""
Bus 0, device 1, function 1:
IDE controller: PCI device 8086:7010
BAR4: I/O at 0xc0c0 [0xc0cf].
id ""
Bus 0, device 1, function 2:
USB controller: PCI device 8086:7020
IRQ 5.
BAR4: I/O at 0xc040 [0xc05f].
id ""
Bus 0, device 1, function 3:
Bridge: PCI device 8086:7113
IRQ 9.
id ""
Bus 0, device 2, function 0:
VGA controller: PCI device 1013:00b8
BAR0: 32 bit prefetchable memory at 0xfc000000 [0xfdffffff].
BAR1: 32 bit memory at 0xfebf0000 [0xfebf0fff].
BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
id ""
Bus 0, device 3, function 0:
Ethernet controller: PCI device 1af4:1000
IRQ 11.
BAR0: I/O at 0xc060 [0xc07f].
BAR1: 32 bit memory at 0xfebf1000 [0xfebf1fff].
BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe].
id ""
Bus 0, device 4, function 0:
Class 1920: PCI device 1af4:1003
IRQ 5.
BAR0: I/O at 0xc080 [0xc09f].
BAR1: 32 bit memory at 0xfebf2000 [0xfebf2fff].
id "vs0"
Bus 0, device 5, function 0:
RAM controller: PCI device 1af4:1002
IRQ 11.
BAR0: I/O at 0xc0a0 [0xc0bf].
id "ball1"
Bus 0, device 6, function 0:
SCSI controller: PCI device 1af4:1001
IRQ 10.
BAR0: I/O at 0xc000 [0xc03f].
BAR1: 32 bit memory at 0xfebf3000 [0xfebf3fff].
id ""
(qemu)
next prev parent reply other threads:[~2011-10-20 7:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-12 11:09 [Qemu-devel] balloon driver on winxp guest start failed hkran
2011-10-13 4:00 ` hkran
2011-10-13 14:47 ` Stefan Hajnoczi
2011-10-13 20:55 ` Vadim Rozenfeld
2011-10-14 9:49 ` hkran
2011-10-17 12:55 ` Vadim Rozenfeld
2011-10-20 7:55 ` hkran [this message]
2011-10-27 9:49 ` hkran
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=4E9FD3E3.3040403@vnet.linux.ibm.com \
--to=hkran@vnet.linux.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=vrozenfe@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 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).