From: Avi K. <av...@qu...> - 2008-02-25 17:19:54
|
david ahern wrote: > david ahern wrote: > >> Avi Kivity wrote: >> >>> - 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; >>> >>> > > With the "if (!change) return;" taken out of pci_set_irq() and the above code > added to kvm_ioapic_set_irq() networking froze. > That points the finger at the kernel ioapic. I saw from the /proc/interrupts dump that it's an smp guest. Does it freeze on uniprocessor as well? Maybe it's bad locking in the kernel. -- error compiling committee.c: too many arguments to function |