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 disabledI'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 <[email protected]> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
