On 12.12.2010, at 23:31, Erik Brakkee wrote: > Jan Kiszka wrote: >> >>>> Are there some tuning parameters I can use or perhaps even kernel >>>> configuration paramters on the host to solve this? >>>> >>>> Cheers >>>> Erik >>>> >>>> Host: Motherboard Supermicro X8DTi-F, Intel Xeon L5630, 12MB >>>> OS: Opensuse 11.3 64 bit >>>> >>>> Guest: OS: Opensuse 11.3 64 bit >>>> >>> I can say now that I am giving up on getting this to work. One >>> alternative was to use PCI passthrough the USB hardware, but that >>> didn't work for the USB that was on the motherboard. So I bought a USB >>> PCI card and tried to use PCI passthrough for that. Unfortunately other >>> problems occured there. >>> >>> For one, the problem with 4K alignment. But I could fix that by using >>> the pci=resource_alignment=... kernel parameter. In my grub/menu.lst it >>> says: >>> >>> kernel /vmlinuz-2.6.34.7-0.5-default root=/dev/hsystem/root quiet >>> showopts intel_iommu=on >>> pci=resource_alignment=01:04.0;01:04.1;01:04.2 noirqdebug vga=0x31a >>> >>> >>> The noirqdebug flas was needed to avoid the host from disabling the IRQ >>> (it was a shared IRQ). >>> >>> Using this, I could configure PCI passthrough and start the VM. Also the >>> USB device showed up there. Only it did not work at all. >>> >>> Here is a summary of my journey up until know: >>> >>> The original approach I wanted to use was to pass my old PCI card (WinTV >>> PVR-500) to a VM. This card is a well supported card and has been doing >>> fine for me. Because of the PCI passthrough problems with the wintv >>> card, I decided to try a USB card instead. This gave me a 'ctrl buffer >>> too small' issue that I could solve by taking the source RPM for kvm and >>> applying a known patch from red hat (increasing buffer size from 2048 to >>> 8192). But then I got jerky video, probably due to USB 1.1 issues. To >>> bypass these I could use PCI passthrough for USB. But with the PCI >>> passthrough of this card I am again running into issues probably related >>> to Shared IRQs. So, after all this I am back to square one. >>> >>> I have now modified my approach so instead of running a separate minimal >>> host with my old server as a guest, I am now running the old server >>> (same install) on the new hardware, using it as a host. I would >>> definitely be interested in trying this out further in the future. I >>> even tried Xen for a brief moment, only to realize that my host and >>> guest felt slower (slower startup and execution) and much more difficult >>> to handle. >>> >>> From the experience of the last two days fulltime trying to get things >>> working I can only conclude that the following two features would be >>> really important to have: >>> >>> * Extended PCI passthrough support >>> o shared IRQ support >>> >> Addressed by the series I sent out today. >> > Does this mean I have a chance now that PCI passthrough of my WinTV PVR-500 might work now? > What version is this and where can I get this for opensuse? > > I still have the setup I used for testing with the host OS still installed but not running so it would be really easy to try out new releases of KVM (it is not a serious production server after all but mainly used to run some websites and mailing lists). > >> >>> o supporting cases where memory is not aligned on a 4K boundary >>> >> Hmm, I'm seeing warnings here when passing through one of my EHCIs, but >> no fatal errors. >> > In my case, the domain just didn't start. > Btw. I was using 0.12.5 on opensuse 11.3 but could only find the sources for 0.12.3 on download.opensuse.org (perhaps I looked wrong) and I patched those for th 4K issue. PCI passthrough also did not work with my wintv pci card with KVM 0.12.5. The source rpm for the 11.3 update channel is here: http://download.opensuse.org/update/11.3/rpm/src/kvm-0.12.5-1.2.1.src.rpm >> >>> * USB passthrough >>> o support USB 2.0 >>> o support USB 3.0 (but taking one step at a time, 2.0 would >>> also be great). >>> >> Note that this will not solve any real-time issue (if that is part of >> your problem). E.g.: While my EHCIs work nicely in PCI-passthrough >> scenarios, I'm unable to use certain webcams that sooner or later run >> out of sync. >> >> Jan >> >> > Is your point in this case that USB in a VM based on PCI passthrough will always have problems when it comes to more real-time issues or does this only apply to USB passthrough? I can imagine that PCI passthrough is better since it uses hardware support. By the way, I have seen issues in the past whereby the tv card stopped working because of high load on the server running natively so real-time issues also exist apart from virtualization. IIRC the reason that PCI passthrough with EHCI performs as badly as it does is that BARs < 4k get passed through using the slow path (trap to qemu, issue MMIO in user space). Unfortunately, EHCI seems to have a 256 byte BAR region usually that is used for some handshaking: 00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller (prog-if 20 [EHCI]) Subsystem: ATI Technologies Inc SB700/SB800 USB EHCI Controller Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 17 Region 0: Memory at c8014400 (32-bit, non-prefetchable) [size=256] > Apart from this, I am definitely interested in getting updates for KVM on opensuse. Is there a channel for that? The most current development version for the user space part is in the openSUSE build service on the Virtualization repo: http://download.opensuse.org/repositories/Virtualization/openSUSE_11.3/ Please be aware that that version is less tested than the one delivered with the distribution :). Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html