[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 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? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |