[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PCI pass-through vs PoD



On 17/11/2021 10:13, Jan Beulich wrote:
On 17.11.2021 09:55, Roger Pau Monné wrote:
On Wed, Nov 17, 2021 at 09:39:17AM +0100, Jan Beulich wrote:
On 13.09.2021 11:02, Jan Beulich wrote:
libxl__domain_config_setdefault() checks whether PoD is going to be
enabled and fails domain creation if at the same time devices would get
assigned. Nevertheless setting up of IOMMU page tables is allowed.
I'm unsure whether allowing enabling the IOMMU with PoD is the right
thing to do, at least for our toolstack.
May I ask about the reasons of you being unsure?

PoD and passthrough is a total nonsense.  You cannot have IOMMU mappings to bits of the guest physical address space which don't exist.

It is now the case that IOMMU (or not) must be specified at domain creation time, which is ahead of creating PoD pages.  Certainly as far as Xen is concerned, the logic probably wants reversing to have add_to_physmap&friends reject PoD if an IOMMU was configured.

A toolstack could, in principle, defer the decision to first device assignment.

However, this is terrible behaviour all around, because one way or another we've got to force-populate all PoD pages (which is potentially minutes worth of work to do), and liable to suffer -ENOMEM, or we have to reject a control operation with -EBUSY for a task which is dependent on the guest kernel actions in a known-buggy area.


There is no point trying to make this work.  If a user wants a device, they don't get to have PoD.  Anything else is a waste of time and effort on our behalf for a usecase that doesn't exist in practice.

~Andrew



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.