[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] xen/pt: fix some pass-thru devices don't work across reboot
On Tue, Dec 11, 2018 at 10:03:10AM -0700, Jan Beulich wrote: >>>> On 15.11.18 at 02:10, <chao.gao@xxxxxxxxx> wrote: >> I find some pass-thru devices don't work any more across guest >> reboot. Assigning it to another domain also meets the same issue. And >> the only way to make it work again is un-binding and binding it to >> pciback. Someone reported this issue one year ago [1]. >> >> If the device's driver doesn't disable MSI-X during shutdown or qemu is >> killed/crashed before the domain shutdown, this domain's pirq won't be >> unmapped. Then xen will unmap all pirq. But pciback has already disabled >> meory decoding before xen unmapping pirq. Then when Xen is disabling a >> MSI of the device, it has to sets the host_maskall flag and maskall bit >> to mask a MSI rather than sets maskbit in MSI-x table. The call trace of >> this process is: >> ->arch_domain_destroy >> ->free_domain_pirqs >> ->unmap_domain_pirq (if pirq isn't unmap by qemu) >> ->pirq_guest_force_unbind >> ->__pirq_guest_unbind >> ->mask_msi_irq(=desc->handler->disable()) >> ->the warning in msi_set_mask_bit() >> >> The host_maskall bit will prevent guests from clearing the maskall bit >> even the device is assigned to another guest later. Guests cannot >> receive interrupts from this device. >> >> To fix this, host_maskall flag is cleared when all MSIs of a device are >> freed. >> It is definitely safely to clear it because no msi is actually set up >> for this device. Also, 'msix->warned' is initialized to DOMID_INVALID >> rather than 0 to avoid warnings missing for Dom0. >> >> [1]: >> https://lists.xenproject.org/archives/html/xen-devel/2017-09/msg02520.html >> >> Signed-off-by: Chao Gao <chao.gao@xxxxxxxxx> > >So I take it this patch has become obsolete with the xen-pciback >change you've posted a few days ago? Yes, you are right. Thanks Chao _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |