Bug 957507
| Summary: | NetKVM: Windows guest crashes on unload when working on top of QEMU without control queue support | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Dmitry Fleytman <dfleytma> |
| Component: | virtio-win | Assignee: | Dmitry Fleytman <dfleytma> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.5 | CC: | acathrow, bcao, bsarathy, dfleytma, juzhang, lnovich, qzhang, virt-bugs, yvugenfi |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Windows | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: |
Do not document. Bug between internal builds. Does not exist in previous release.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-11-22 00:04:32 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Dmitry Fleytman
2013-04-28 15:29:13 UTC
Hi, Dima/Yan What's control queue ,Could you show QE how to reproduce this bug ? Thanks, Mike (In reply to Mike Cao from comment #1) > Hi, Dima/Yan > > What's control queue ,Could you show QE how to reproduce this bug ? > > Thanks, > Mike Hi Mike, Control queue is additional virtio ring in network device used to set multicast list, mac address and etc. I think it was introduced somewhere around RHEL5.5, maybe before. Until RHEL6.4 Windows driver didn't support it at all and handle all the functionality provided by the host inside of the driver. Dima found a problem by code review - in current QEMU there is no way to disable control queue. Best regards, Yan. I can not reproduce this issue on build 49 Steps 1.Start VM w/o control queue support eg -virtio-net-pci,ctrl_vq=off CLI:/usr/libexec/qemu-kvm -netdev tap,id=hostnet0,script=/etc/qemu-ifup \ -device virtio-net-pci,ctrl_vq=off,netdev=hostnet0,id=net0,mac=00:12:10:94:a3:f8 \ -m 2G -smp 2 -usb -device usb-tablet,id=tablet0 -drive file=/home/win7-64-virtio.qcow2,if=none,id=drive-virtio0-0-0,format=qcow2,werror=stop,rerror=stop,cache=none -device ide-drive,drive=drive-virtio0-0-0,id=virti0-0-0,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,ctrl_vq=off,netdev=hostnet0,id=net0,mac=00:12:10:94:a3:f8 -uuid 8677bf9b-3cf6-47a1-b3e9-94213b801c87 -monitor stdio -vnc :7 -global PIIX4_PM.disable_s3=0 -global PIIX_PM.disable_s4=0 2.install virtio-win-prwehql-49 netkvm driver in the guest 3. disable/enable it 4. uninstall it Actual Results: Both disable/enable ,uninstallation works fine ,guest did not crash Yan ,Could you view my steps above and why I can not reproduce this issue ? Thanks, MIke You need an old QEMU without control queue. According to Yan it should be pre-RHEL6.4 (In reply to Dmitry Fleytman from comment #8) > You need an old QEMU without control queue. According to Yan it should be > pre-RHEL6.4 According to Amos .-virtio-net-pci,ctrl_vq=off is to disable control queue .why it still work Hello Mike, According to what I see in QEMU source code this option (ctrl_vq) doesn't disable control queue, it just "hides" it by clearing corresponding feature bit in device bit mask. One of the problems of old builds (until build 61 when we fixed control queue usage was that driver never verified that control queue feature supported by device's features bitmask. This way driver continues to use control queue even when you disable it with QEMU command line option and since QEMU actually supports it everything works fine. Actually I've never seen the crash on real setup, I've found the problem during code review, so I'm not sure you need to verify it formally. It could be that you need to check for regressions only, i.e. driver unloads without crashed on current QEMU version, driver uses control queue properly, etc. Dmitry QE run netkvm functional test ,did not find any issue on disable\enable load\unload Based on above ,this issue has been fixed ald .Move status to VERIFIED. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-1729.html |