All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [Xen-devel] Broken PCI device passthrough, after XSA-302 fix?
Date: Mon, 6 Jan 2020 15:04:18 +0100	[thread overview]
Message-ID: <20200106140418.GH1314@mail-itl> (raw)
In-Reply-To: <b40c6f0d-374e-b771-1463-74c40bf4a340@suse.com>


[-- Attachment #1.1: Type: text/plain, Size: 2659 bytes --]

On Mon, Jan 06, 2020 at 12:18:31PM +0100, Jan Beulich wrote:
> On 04.01.2020 02:07, Marek Marczykowski-Górecki  wrote:
> > I have a multi-function PCI device, behind a PCI bridge, that normally
> > I assign to a single domain. But now it fails with:
> > 
> > (XEN) [VT-D]d14: 0000:04:00.0 owned by d0!<G><0>assign 0000:05:00.0 to dom14 failed (-22)
> 
> Is this on the 1st attempt, or after the device had already been
> assigned to some (same or other) guest? After quite a bit of
> staring at the code I can't seem to be able to spot a difference
> in behavior for the 1st attempt, but you not saying explicitly
> that it would only happen on subsequent ones makes me assume you
> run into the issue right away.

Yes, it was the first try.

> > This is Xen 4.8.5 + XSA patches. It started happening after some update
> > during last few months, not really sure which one.
> 
> Having a smaller window would of course help, as would ...

The working version was just before XSAs of 2019-10-31  (which include
XSA-302).
But at this point, I'm not sure if no other configuration changes were
made (see below).

> > I guess it is because quarantine feature, so initial ownership of
> > 0000:05:00.0 is different than the bridge it is connected to.
> > I'm not sure if relevant for this case, but I also set
> > pcidev->rdm_policy = LIBXL_RDM_RESERVE_POLICY_RELAXED.
> > 
> > Booting with iommu=no-quarantine helps. Note I do not use `xl
> > pci-assignable-add` command, only bind the device to the pciback driver
> > in dom0.
> 
> ... knowing whether behavior differs when using this preparatory
> step.

xl pci-assignable-add doesn't make a difference with XSA-306 applied.
But I've tried xl pci-assignable-remove with interesting result:
It succeeded for 0000:05:00.0 and 0000:05:00.2, but failed for
0000:05:00.1 with this message:

(XEN) [VT-D]d0: 0000:05:00.1 owned by d32753!<G><0>deassign 0000:05:00.1
from dom32753 failed (-22)

Anyway, I think my previous testing was inaccurate:
Looks like the issue is caused by me failing to set rdm_policy, contrary
to the above message. I get the above error only without
LIBXL_RDM_RESERVE_POLICY_RELAXED set. When I set it properly, domain
starts even without iommu=no-quarantine. I still have some issues with
the device within the domain, but not sure if relevant to this or
something else.

Does it make sense now?
Is the patch from your other message still relevant?

-- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2020-01-06 14:04 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-04  1:07 [Xen-devel] Broken PCI device passthrough, after XSA-302 fix? Marek Marczykowski-Górecki
2020-01-06 11:18 ` Jan Beulich
2020-01-06 14:04   ` Marek Marczykowski-Górecki [this message]
2020-01-06 14:16     ` Marek Marczykowski-Górecki
2020-01-06 14:29       ` Marek Marczykowski-Górecki
2020-01-06 14:38     ` Jan Beulich
2020-01-06 16:37       ` Marek Marczykowski-Górecki
2020-01-06 13:06 ` Jan Beulich
2020-01-19 10:39   ` Pasi Kärkkäinen
2020-01-20  8:36     ` Jan Beulich
2020-01-20  9:10       ` Pasi Kärkkäinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200106140418.GH1314@mail-itl \
    --to=marmarek@invisiblethingslab.com \
    --cc=jbeulich@suse.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.