Re: ioeventfd question
On Fri, 2011-05-27 at 11:30 +0300, Avi Kivity wrote: > On 05/26/2011 10:03 PM, Sasha Levin wrote: > > Hi Avi, > > > > I'm working on adding ioeventfd support into tools/kvm/. > > Currently the implementation creates ioeventfd entries at the > > 'VIRTIO_PCI_QUEUE_NOTIFY' of each device and waits on all of them using > > epoll(). > > The basics are working - when IO is triggered I receive a notification > > using the event instead of an exit. > > > > I couldn't find a way to retrieve the value written to the PIO port - > > the guest memory at that location doesn't change, 'reading' the event > > just returns 1 (as expected) and I couldn't find anything else which > > might suggest what value was written to the PIO port. > > You can use KVM_IOEVENTFD_FLAG_DATAMATCH for that. > Oh, so I need to create one for each vq instead of one for each device. Thanks! -- Sasha. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: ioeventfd question
On 05/26/2011 10:03 PM, Sasha Levin wrote: Hi Avi, I'm working on adding ioeventfd support into tools/kvm/. Currently the implementation creates ioeventfd entries at the 'VIRTIO_PCI_QUEUE_NOTIFY' of each device and waits on all of them using epoll(). The basics are working - when IO is triggered I receive a notification using the event instead of an exit. I couldn't find a way to retrieve the value written to the PIO port - the guest memory at that location doesn't change, 'reading' the event just returns 1 (as expected) and I couldn't find anything else which might suggest what value was written to the PIO port. You can use KVM_IOEVENTFD_FLAG_DATAMATCH for that. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
ioeventfd question
Hi Avi, I'm working on adding ioeventfd support into tools/kvm/. Currently the implementation creates ioeventfd entries at the 'VIRTIO_PCI_QUEUE_NOTIFY' of each device and waits on all of them using epoll(). The basics are working - when IO is triggered I receive a notification using the event instead of an exit. I couldn't find a way to retrieve the value written to the PIO port - the guest memory at that location doesn't change, 'reading' the event just returns 1 (as expected) and I couldn't find anything else which might suggest what value was written to the PIO port. This is an issue with devices which have multiple virtio-rings, such as virtio-net. -- Sasha. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html