Re: [PATCH 1/3] kvm tools: Make virtio-net kvm__irq_line thread safe

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

 



* Pekka Enberg <penberg@xxxxxxxxxx> wrote:

> On Fri, Apr 29, 2011 at 1:32 PM, Ingo Molnar <mingo@xxxxxxx> wrote:
> >>> Without the mutex around the kvm__irq_line, I am still seeing the
> >>> hangs(with the irq assertion movement patch).
> >>
> >> since the mutex has no effect on the other party that modifies the virtual
> >> queue (the guest OS), this at best only changes timings and hides the bug.
> 
> On Fri, Apr 29, 2011 at 1:42 PM, Pekka Enberg <penberg@xxxxxxxxxx> wrote:
> > Yes, I don't think it has anything to do with the queues - it's simply
> > a bug in the RX path which requires other work to happen to raise the
> > IRQ.
> 
> Turns out thread pool isn't related to the problem. Asias and Sasha reported 
> that the problem triggers even with all the thread pool code reverted. I'm 
> guessing it's a latent bug in the virtio network driver that got exposed by 
> Cyrill's patch. It seems to be related to IRQ handling and I still think it's 
> related to assuming VIRTIO_PCI_QUEUE_NOTIFY will be triggered for the RX 
> path.

Some sort of timeout would make it more robust i suspect, although the guest 
can always 'hang' both the rx and tx flow: by not clearing ring entries.

So i think it needs to be understood how those stalls occur - who misses to 
issue a notification?

Also, do perhaps TX activity assume a wakeup for RX processing? Right now the 
TX and RX threads are independent. So it would be nice to document how the 
virtio protocol works.

Thanks,

	Ingo
--
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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux