david ahern wrote:
> I've run a lot more tests:
>
>
> - if I remove the "if (!change) return" optimization from pci_set_irq the
> rtl8139 nic worked fine for 16+ hours. I'm not recommending this as a fix, 
> just
> confirming that the problem goes away.
>
>   

Interesting.  What can cause this to happen?

- some non-pci device shares the same irq (unlikely)

- the pci link sharing is broken.  Is the eth0 irq shared?

Please post /proc/interrupts.

- the in-kernel ioapic is buggy and needs the extra kicking the 
optimization prevents.  Can be checked by re-adding the optimization to 
kvm_ioapic_set_irq() (keeping it removed in qemu).  If it works, the 
problem is in userspace.  If it fails, the problem is in the kernel.

Something like

  static int old_level[16];

  if (level == old_level[irq])
     return;
  old_level[irq] = level;



-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to