On Fri, 17 Jan 2020 12:22:45 +0100 Christian Borntraeger <borntrae...@de.ibm.com> wrote:
> On 17.01.20 12:11, Cornelia Huck wrote: > > If the kernel irqchip has been disabled, we don't want the > > {add,release}_adapter_routes routines to call any kvm_irqchip_* > > interfaces, as they may rely on an irqchip actually having been > > created. Just take a quick exit in that case instead. > > > > Also initialize routes->gsi[] with -1 in the virtio-ccw handling, > > to make sure we don't trip over other errors, either. (Nobody > > else uses the gsi array in that structure.) > > > > Fixes: d426d9fba8ea ("s390x/virtio-ccw: wire up irq routing and irqfds") > > Signed-off-by: Cornelia Huck <coh...@redhat.com> > > I think it was actually quite good to see an error, because something went > wrong > (kvmirqchip being off). Now the error (crash) was certainly a bad one. > What happens after this patch? > To me it _looks_ like every caller of set_guest_notifiers would get the ENOSYS > and bail out with an error so this should be ok, but it would be good > to add something to the patch description that says so. > > Something like "instead of crashing we now fail with an error message for > vhost > and friends" > of course only if this is true. It should work in the same way as it does for tcg right now (we return -ENOSYS in the non-kvm flic as well). If you're not using irqfd, everything will work just fine. What about the following: "If you are trying to use irqfd without a kernel irqchip, we will fail with an error." ? There probably won't be many people seeing anything like this, as I guess most people will delegate the irqfd setup to libvirt anyway, which will not turn off the kernel irqchip.