On Mon, Feb 22, 2010 at 04:20:52PM +0200, Avi Kivity wrote: > On 02/22/2010 03:59 PM, Marcelo Tosatti wrote: > >VIRTIO_PCI_QUEUE_NOTIFY is used to inform availability of new buffers, > >so wakeup the iothread to process that information immediately. > > > >Reported-by: Amit Shah<amit.shah@xxxxxxxxxx> > >Signed-off-by: Marcelo Tosatti<mtosatti@xxxxxxxxxx> > > > >Index: qemu/hw/virtio-pci.c > >=================================================================== > >--- qemu.orig/hw/virtio-pci.c > >+++ qemu/hw/virtio-pci.c > >@@ -204,6 +204,7 @@ static void virtio_ioport_write(void *op > > break; > > case VIRTIO_PCI_QUEUE_NOTIFY: > > virtio_queue_notify(vdev, val); > >+ qemu_notify_event(); > > break; > > virtio_queue_notify() will call ->handle_output(), which should > either do what's needed to be done, or wake up some iothread itself. kick is used to inform either output processing, in which case ->handle_output() does what its supposed to. But its also used to inform availability of new buffers, which is common to all virtio devices. So what is the point pushing this to ->handle_output? Are you concerned about spurious wakeups? -- 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