Re: [Xen-devel] [PATCH] PCI: Introduce two new MSI infrastructurecalls for masking/unmasking.
From: Bjorn Helgaas
Date: Thu Nov 07 2013 - 16:48:05 EST
On Wed, Nov 06, 2013 at 09:42:15PM -0400, Konrad Rzeszutek Wilk wrote:
> On Wed, Nov 06, 2013 at 04:51:52PM -0700, Bjorn Helgaas wrote:
> > [+cc Thomas, Ingo, Peter, x86 list]
> >
> > On Wed, Nov 6, 2013 at 2:16 PM, Konrad Rzeszutek Wilk
> > <konrad.wilk@xxxxxxxxxx> wrote:
> > > Certain platforms do not allow writes in the MSI-X bars
> > > to setup or tear down vector values. To combat against
> > > the generic code trying to write to that and either silently
> > > being ignored or crashing due to the pagetables being marked r/o
> > > this patch introduces a platform over-write.
> > >
> > > Note that we keep two separate, non-weak, functions
> > > default_mask_msi_irqs() and default_mask_msix_irqs() for the
> > > behavior of the arch_mask_msi_irqs() and arch_mask_msix_irqs(),
> > > as the default behavior is needed by x86 PCI code.
> > >
> > > For Xen, which does not allow the guest to write to MSI-X
> > > tables - as the hypervisor is solely responsible for setting
> > > the vector values - we implement two nops.
> > >
> > > CC: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> > > CC: Sucheta Chakraborty <sucheta.chakraborty@xxxxxxxxxx>
> > > CC: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
> > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> >
> > I think this is safe, and I'd like to squeeze it into the v3.13 merge
> > window next week, since it supersedes three patches Zhenzhong has been
> > trying to get in since July [1], and this patch is much simpler to
> > understand.
> >
> > I *think* this also fixes an actual bug on Xen. Konrad, is there a
> > bugzilla or any kind of email problem description that we can include
> > here as a reference? I think there's a lost interrupt with qlcnic,
> > but I don't know the details or what the failure looks like to a user.
>
> It is pretty catastrophic. Here is the console log when I pass in
> a PCI device (with MSI-X) to the guest:
Perfect, thanks! I put the log info in
https://bugzilla.kernel.org/show_bug.cgi?id=64581 and put this in
my pci/misc branch for v3.13. I added the following to the changelog:
This fixes a Xen guest crash when passing a PCI device with MSI-X to the
guest. See the bugzilla for more details.
[bhelgaas: add bugzilla info]
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=64581
Let me know if this needs any tweaking.
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/