On 16/11/16 19:38, Felipe Franciosi wrote: > >> On 16 Nov 2016, at 04:05, Alexey Kardashevskiy <a...@ozlabs.ru> wrote: >> >> On 11/11/16 01:45, Christian Borntraeger wrote: >>> On 11/09/2016 01:44 PM, Felipe Franciosi wrote: >>>> Following the recent refactor of virtio notfiers [1], more specifically >>>> the patch that uses virtio_bus_set_host_notifier [2] by default, core >>>> virtio code requires 'ioeventfd_started' to be set to true/false when >>>> the host notifiers are configured. Because not all vhost devices were >>>> update (eg. vhost-scsi) to use the new interface, this value is always >>>> set to false. >>>> >>>> When booting a guest with a vhost-scsi backend controller, SeaBIOS will >>>> initially configure the device which sets all notifiers. The guest will >>>> continue to boot fine until the kernel virtio-scsi driver reinitialises >>>> the device causing a stop followed by another start. Since >>>> ioeventfd_started was never set to true, the 'stop' operation triggered >>>> by virtio_bus_set_host_notifier() will not result in a call to >>>> virtio_pci_ioeventfd_assign(assign=false). This leaves the memory >>>> regions with stale notifiers and results on the next start triggering >>>> the following assertion: >>>> >>>> kvm_mem_ioeventfd_add: error adding ioeventfd: File exists >>>> Aborted >>>> >>>> This patch updates ioeventfd_started whenever the notifiers are set or >>>> cleared, fixing this issue. >>>> >>>> Signed-off-by: Felipe Franciosi <fel...@nutanix.com> >>> >>> This also fixes vhost-net after reboot on s390/kvm for me >> >> >> It does not fix it (the original breakage from e616c2f "virtio: remove >> ioeventfd_disabled altogether") for me: > > Can you try Paolo's latest patches for this issue? > http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg02834.html > > Specifically this: > http://lists.nongnu.org/archive/html/qemu-devel/2016-11/msg02837.html
This one does work, thanks! -- Alexey