From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yang, Sheng" Subject: Re: Test with VT-d patches Date: Thu, 4 Sep 2008 17:33:19 +0800 Message-ID: <200809041733.20117.sheng.yang@intel.com> References: <2556963.105221220518687678.JavaMail.servlet@kundenserver> <0122C7C995D32147B66BF4F440D3016301A689DF@pdsmsx415.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Cc: "Han, Weidong" , amit.shah@qumranet.com, kvm@vger.kernel.org To: gg@seh.de Return-path: Received: from mga03.intel.com ([143.182.124.21]:27953 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752026AbYIDJaW (ORCPT ); Thu, 4 Sep 2008 05:30:22 -0400 In-Reply-To: <0122C7C995D32147B66BF4F440D3016301A689DF@pdsmsx415.ccr.corp.intel.com> Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: On Thursday 04 September 2008 17:12:28 Han, Weidong wrote: > gg@seh.de wrote: > > Hello, > > > > I try to explain the current state on my pc. > > > > 1) The patch KVM 1/2 was applied with the following change. > > The files "drivers/pci/iova.h" and "drivers/pci/intel-iommu.h" > > already exists. And I get both files rejected. > > So I take the headers from the KVM 1/2 Patchfile and use these a > > "iova.h" and "intel-iommu.h". Kernel compiles without errors. > > > > 2) What known bug is in the latest userspace patchfile? (Told by > > Yang, Sheng) > I think it's mentioned by Ben that userspace patch refer a kvm fd before it was initialized correctly. (patch at 2008-08-26, Hope I don't miss any update on this... ) > in add_assigned_device(), you can simply comment out some lines between > following #ifdef and #endif as follows. > > +#ifdef KVM_CAP_IOMMU > //+ r = kvm_check_extension(kvm_context, KVM_CAP_IOMMU); > //+ if (r) > + assigned_devices[nr_assigned_devices].dma |= > + KVM_DEV_ASSIGN_ENABLE_IOMMU; > + > //+ r = get_param_value(dma, sizeof dma, "dma", arg); > //+ if (r && !strncmp(dma, "none", 4)) { > //+ assigned_devices[nr_assigned_devices].dma &= > //+ ~KVM_DEV_ASSIGN_ENABLE_IOMMU; > + } > +#endif > Yeah, as this workaround. > Randy (Weidong) > > >> Hello, > >> > >> * On Wednesday 03 September 2008 14:07:36 gg@seh.de wrote: > >>> Hi, > >>> > >>> i make some more tests with > >>> 1) an old APCI1500/PCI card no linux driver support -> so i don't > >>> need to unload the module. 2) my second network-card Realtek 10/100 > >>> MBit. > >>> > >>> Both don't work at all. Only my first gigabit-onboard-network-card > >>> starts. > >>> > >>> Here the output from userspace/dmesg: > >>> > >>> > >>> 1) // Applied Micro Circuits Corp. APCI1500 Signal processing > >>> controller > >>> > >>> Warning: No DNS servers found > >>> Registered host PCI device 03:00.0 ("03:00.0") as guest device > >>> 00:03.0 assigned_dev_update_irq: Input/output error > >>> assigned_dev_update_irq: Input/output error > >> > >> This means the devices shares the irq with some other device in the > >> system. See the "lspci -v" output for details. > >> > >>> 2) // 03:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. > >>> RTL-8139/8139C/8139C+ (rev 10) Registered host PCI device 03:02.0 > >>> ("03:02.0") as guest device 00:03.0 assigned_dev_update_irq: > >>> Input/output error > >>> > >>> [ 369.195971] pci 0000:03:02.0: PCI INT A -> GSI 18 (level, low) > >>> -> IRQ 18 [ 369.326026] kvm_vm_ioctl_assign_irq: couldn't allocate > >>> irq for pv device > >> > >> Same error. > >> > >>> Sould i update the BIOS if possible/available? > >> > >> That's not necessary. We don't support assigning devices that share > >> the irq on > >> > >> the host with some other device. You can try inserting one device at > >> a time and try different PCI slots. > >> > >>> Could it be a problem with the already assigned patches? (See the > >>> first E-Mail :The VTD [PATCH1/2] seems already be applied. ) > >> > >> No patches have already been applied to any tree. You'll definitely > >> have to apply the 1/2 patch as well. > > > > Ok. On both PCI-Cards (1) APCI1500 Signal processing controller and > > (2) Realtek NIC > > the IRQ is shared with my USB-UHCI-Controller. > > On this PC there is no PS2-Connector (USB-Mouse/USB-Keyboard). > > When I unload the usb module on the host, I can not handle the system > > anymore. Well, another choice is use VNC from anyother machine. > > > > I can start qemu/kvm remote over a serial-console. But then I cannot > > use the guest system without keyboard/mouse. (login and so) > > > > "Han, Weidong" told to use IRQF_SHARED in reqeust_irq(). In which > > code? kvm_vm_ioctl_assign_irq() in x86.c. But for you are using keyboard and mouse, I think it would cause chaos? Maybe you can tell USB 2.0 controller apart from USB 1.1, and just unload 2.0 ones. The USB 1.1 is UHCI while 2.0 is EHCI, the drivers can be made as modules. > > > > Both tests are only made to get an idea how it works with other > > devices. > > > > My primary efforts are to use my onboard Gigabit with VT-d direct on > > the Windows guest-system. This device don't share the IRQ with an > > other device. But I have the problems with: 1) slow down the complete > > system and generate this Unbalanced IRQ 21 messages. 2) Packet > > statistic under windows shows on this device no package traffic in > > live-network. (no ping etc. possible) No clue, if you ensure that you've got latest version of patch... I think it was posted by Amit at 2008-08-26. BTW: Can you try a new Linux guest if possible? -- regards Yang, Sheng > > > > Thanks for your hints. > > > > Gregor