[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: Still struggling with HVM: tx timeouts on emulated nics



On Wed, 21 Sep 2011, Stefan Bader wrote:
> This is on 3.0.4 based dom0 and domU with 4.1.1 hypervisor. I tried using the
> default 8139cp and ne2k_pci emulated nic. The 8139cp one at least comes up and
> gets configured via dhcp. And initial pings also get routed and done 
> correctly.
> But slightly higher traffic (like checking for updates) hangs. And after a 
> while
> there are messages about tx timeouts.
> The ne2k_pci type nic almost immediately has those issues and never comes up
> correctly.
> 
> I am attaching the dmesg of the guest with apic=debug enabled. I am not sure 
> how
> this should be but both nics get configured with level,low IRQs. Disk 
> emulation
> seems to be ok but that seem to use IO-APIC-edge. And any other IRQs seem to 
> be
> at least not level.

Does the e1000 emulated card work correctly?
What happens if you disable interrupt remapping (see patch below)?


diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 1017c7b..472a58b 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -354,8 +354,7 @@ int __init pci_xen_init(void)
 
 int __init pci_xen_hvm_init(void)
 {
-       if (!xen_feature(XENFEAT_hvm_pirqs))
-               return 0;
+       return 0;
 
 #ifdef CONFIG_ACPI
        /*


> Btw, what exactly is the difference between xen-pirq-ioapic and IO-APIC?

xen-pirq-ioapic interrupts are interrupts that have been remapped onto
event channels


> Another problem came up recently though that may just be me doing the wrong
> thing. Normally I boot with xen_emul_unplug=unnecessary as I want the emulated
> devices. xen-blkfront is a module in my case and I thought I once had been 
> able
> to use that by removing the unplug arg and making the blkfront driver load. 
> But
> when I recently tried the module loaded but no disks appeared... Again, not 
> sure
> I just forgot how to do that right or that was different when using a 4.1.0
> hypervisor still...
 
xen_emul_unplug=unnecessary allows the kernel to use PV interfaces on
older hypervisors that didn't support the unplug protocol and had other
ways to cope with multiple drivers accessing the same devices.
You can use xen_emul_unplug=never to prevent any unplug but you won't
get any PV interfaces.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.