On 06/28/2017 01:47 PM, Stefan Hajnoczi wrote: > This patch series fixes qemu-iotests 068. Since commit > ea4f3cebc4e0224605ab9dd9724aa4e7768fe372 ("qemu-iotests: 068: test iothread > mode") the test case has attempted to use dataplane without -M accel=kvm. > Although QEMU is capable of running TCG or qtest with emulated ioeventfd/irqfd > we haven't enabled it yet. > > Unfortunately the virtio test cases fail when ioeventfd is enabled in qtest > mode. This is because they make assumptions about virtqueue ISR signalling. > They assume that a request is completed when ISR becomes 1. However, the ISR > can be set to 1 even though no new request has completed since commit > 83d768b5640946b7da55ce8335509df297e2c7cd "virtio: set ISR on dataplane > notifications". > > This issue is solved by introducing a proper qvirtqueue_get_buf() API (similar > to the Linux guest drivers) instead of making assumptions about the ISR. Most > of the patches update the test cases to use the new API. > > Stefan Hajnoczi (6): > libqos: fix typo in virtio.h QVirtQueue->used comment > libqos: add virtio used ring support > tests: fix virtio-scsi-test ISR dependence > tests: fix virtio-blk-test ISR dependence > tests: fix virtio-net-test ISR dependence > virtio-pci: use ioeventfd even when KVM is disabled I'm less familiar with the code in question, so I'll let others review, but it did fix the failure of 068 for me. Tested-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org