Re: [PATCH v3] xen-pciback: Consider INTx disabled when MSI/MSI-X is enabled
From: Marek Marczykowski-Górecki
Date: Mon Nov 21 2022 - 11:17:02 EST
On Mon, Nov 21, 2022 at 10:41:34AM -0500, Jason Andryuk wrote:
> On Sat, Nov 19, 2022 at 11:33 AM Marek Marczykowski-Górecki
> <marmarek@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Sat, Nov 19, 2022 at 09:36:54AM -0500, Jason Andryuk wrote:
> > > Hi, Marek,
> > >
> > > On Fri, Nov 18, 2022 at 4:46 PM Marek Marczykowski-Górecki
> > > <marmarek@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> > > >
> > > > On Fri, Nov 18, 2022 at 03:46:47PM -0500, Jason Andryuk wrote:
> > > > > I was trying to test your xen-pciback v3 patch, and I am having
> > > > > assignment fail consistently now. It is actually failing to
> > > > > quarantine to domIO in the first place, which matches the failure from
> > > > > the other day (when I more carefully read through the logs). It now
> > > > > consistently fails to quarantine on every boot unlike the other day
> > > > > where it happened once.
> > > >
> > > > Does this include the very first assignment too, or only after domain
> > > > reboot? If the latter, maybe some cleanup missed clearing MASKALL?
> > >
> > > It's the quarantine during dom0 boot that fails. Later assignment
> > > during VM boot fails. I tried warm reboots and cold boots and it
> > > happened both times.
> > >
> > > I also modified my initrd to halt in there and checked the config
> > > space. MASKALL wasn't set at that time. I need to double check -
> > > MASKALL may have been unset after dom0 booted in that case.
> > >
> > > I'll test more to figure when and how MASKALL is getting set.
>
> I'm testing with a laptop without a battery. It seems MASKALL remains
> set when rebooting or when left plugged in.
>
> From unplugged, a cold boot doesn't have MASKALL set and the network vm boots.
>
> After that, rebooting the laptop leaves MASKALL set on the NIC when
> the laptop reboots. NIC assignment fails.
>
> Shutdown and later boot while left plugged in keeps MASKALL set. NIC
> assignment fails. I have only tested this scenario for short periods
> of time, so I don't know if it would eventually clear after a longer
> time.
That's interesting, seems like firmware is not resetting the device
properly. Maybe related to enabled wake on lan?
Anyway, resetting the device at domain create/destroy is AFAIR normally
done by pciback (at the instruction by the toolstack). Should it maybe
be done when assigning to pciback initially too? Or maybe in this
specific case, device reset doesn't properly clear MASKALL, so pciback
should clear it explicitly (after ensuring the MSI-X enable is cleared
too)?
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
Attachment:
signature.asc
Description: PGP signature