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

Re: PCI pass-through vs PoD


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Wed, 17 Nov 2021 09:55:44 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Qj7o4Fh7oCvekEDVNRy0BKJMSfFuvp1kP7A2BNvLx2M=; b=JjCMjXTJQ3sRzN+Lnx/fHqnys53xc0HCCWmOGmT++6t9gJaf8xKFvVKqGoJYlCkAt+PH00wXNXWFupNYBwK/l3VzXB+3FxnP3PKSoSYDS7CrQUy3QXMfr+mUcDOGcni3T8PxXdr0R6rpbBVAbjEzu8opLugcTd6YiP3gpTeNQRyAMkPfXh2NBGjzDysl5XvGD7KCYZEF0w2+RRs7+AW0iuOAkHDH5EFJ2w5iZJ7WwXcgpfr9LFmLg3h70USmTz1kFh2LtZNcrVi2wlK5YOnwH1GVxK3KJwQUHz5YRM2z0uC5f8zse5OwJOYImcYMh+lOBLHdMML2ya+kCAD/LVkCkA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kbzXn5/grQ+kx9VMpm+x/KE/gXhUaBNsqHhJCdtQqeRnwBqhJKedx/tkG1hPFokl9jWFqmxUKD1LNKLQeSiUdz1luS4NRZv0k/sx5zAVfoleIiDD6oBb7O8a6D72JgP1EFBwOZhXAU85COy6O+MPJBIfV23ZWVoENFbidl0QWNiM71pfl8FRYu1YkAFdap6q+KK7CWQrMFhSALND9B0AZ9XTJrd3P1ApSLdtPp+/NZQWSzn1b2XPpbEkUEdoD8D4sAGBXJC+4K4cltOrC7bYb5WRjb6esWwhmjU3tcXdSBZqa8pFDY2QeP3cGTp3dZgH2E2xEsQ4DlkaU5fsGZ4AXA==
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Wed, 17 Nov 2021 08:56:21 +0000
  • Ironport-data: A9a23:GBpDs648vbVBpF6DflfWYQxRtMHAchMFZxGqfqrLsTDasY5as4F+v jAdCG6BPfuKa2H1Ld0laYyw9x9Uv5CAnYUwGQo+/nphHi5G8cbLO4+Ufxz6V8+wwmwvb67FA +E2MISowBUcFyeEzvuV3zyIQUBUjclkfJKlYAL/En03FVAMpBsJ00o5wrdg29Ew27BVPivW0 T/Mi5yHULOa82Yc3lI8s8pvfzs24ZweEBtB1rAPTagjUG32zhH5P7pGTU2FFFPqQ5E8IwKPb 72rIIdVXI/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8CbP2lS2Pc0MC9qZzu1c99Zx M9v5YCsagkQEqjDoOBaXDQfTzBzIvgTkFPHCSDXXc27ykTHdz3nwul0DVFwNoodkgp1KTgQr 7pCcmlLN03dwbLtqF64YrAEasALNs7kMZlZonh95TrYEewnUdbIRKCiCdpwgWdo3Z0WQ6u2i 8wxNWFeXjHxUSZzBRRJMdEzjf3zoUX/fGgNwL6SjfVuuDWCpOBr65D1OcfRUsyHQ4NShEnwj n3C13T0BFcdLtP34Tua8Fq8i+nXhyT5VYkOUrqi+ZZCglee22gSAx0+TkagrL+yjUvWc8JSL QkY9zQjqYA29Ve3VZ/tUhugunmGsxUAHd1KHIUHBBqlk/SOpVzDXy5dE2AHOIdOWNIKqSIC2 kWrz8/1JjJWnLiacXba+ZrT8SK/Jn1ARYMdXhMsQQwA6tjlhYg8iBPTU9pueJKIYs3J9SLYm G7T8nVn71kHpYtSjvjgowib6965jsGRFlZd2+nBYo6yAuqVjqaBbpfg11XU5O0owG2xHgjY5 yhsdyRzAYkz4XCxeM6lHLVl8FKBva/t3NjgbbhHRcFJG9OFoSDLQGyoyGsiTHqFy+5dEdMTX GfduBlK+LhYN2awYKl8buqZUppxkvCwSoi6CqqFM7Kih6Sdkifdp0mCgmbKgQjQfLUEy/lja f93j+7yZZrlNUiX5GXvHLpMuVPa7is/2XnSVfjGI+ePitKjiIquYe5dajOmN7lhhIvd+Vm92 4sPZqOilkQEOMWjM3a/zGLmBQ1TRZTNLcut8JI/my/qClcOJVzN/NeNm+58INI8wPwO/goKl 1nkMnJlJJPErSSvAS2Ba2x5aaOpWpB6rHkhOjcrM0ru0H8mCbtDJo9GH3fuVbV4puFl09BuS PwJJ5eJDvhVE2yV8DUBd5jt6odlcU3z1w6JOiOkZhk5foJhGFOVqoO1IFO3+XlcFDezuOs/v 6akilHRT60cSlkwF83Rcv+ukQ+85CBPhOJoUkLUCdBPY0GwopNyIin8g6ZvccEBIBnO3BWA0 AOSDUtKrOXBudZtotLImbqFv8GiFO4nRhhWGGzS7LCXMyjG/zX8nd8cAbjQJT2EDTH64qSvY +lR3srQCvxfkQYYqZd4HpZq0bk6u4nlqYhFw1k2B37MdVmqVO9teyHUwclVu6RR7bZFog/qC FmX89xXNLjVasPoFFkdeFgsYuiZjKxGnzDT6bI+IVng5T8x972CCB0AMx6JgS1bDb10LIJ6n rtx5J9Is1Sy2kgwL9KLriFI7GDdfHUPXpIuuoweHIK22BEgzUtPYMCEByL7iH1Vhw6g7qX+z ueouZf/
  • Ironport-hdrordr: A9a23:fzznqahXXOrwLHoKZ0X+e/YFpHBQXt4ji2hC6mlwRA09TyX+rb HIoB17726RtN91YhodcL+7VJVoLUmyyXcX2+ks1NWZMjUO0VHAROsO0WKI+VzdMhy72ulB1b pxN4hSYeeAaGSSVPyKgzVQxexQouW6zA==
  • Ironport-sdr: Q0iotyDAT5vb/8KDOkGRRi1n9bv7LmmTcrb8fYu8qeXgTElkNeFpjouIBX+Sxi8amfg1FqDauY Lo6KnDrWzcYUUgULz2OyI1pWfbKIiLjNoSkwV7lnMOYeFhSYdBlsKutyi1WbrqVgquf33YHJXj zDWuXnLvZELXAHPCVnTylubg3r+gtcgQTv/vDXuBCuBFnm7vIJq195K8xpA/Ty/C7B5AHekugt MtU3i+maZw56qGqoFvqbqeuoyJZ8bTf1tQ74ImxA/53XwPlgnKkKb5ejfnD1X4eFJ6KR1McxzL jQsoaIl68L2YApm6Ug2Uq/oy
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

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.

> > However, when later assigning a device to a domain which has IOMMU page
> > tables, libxl__device_pci_add() does not appear to be concerned of PoD:
> > - xc_test_assign_device() / XEN_DOMCTL_test_assign_device only check the
> >   device for being available to assign,
> > - libxl__device_pci_setdefault() is only concerned about the RDM policy,
> > - other functions called look to not be related to such checking at all.
> 
> I've now verified this to be the case. In fact creating the guest and
> assigning it a device while the guest still sits in the boot loader
> allowed the (oldish) Linux guest I've been using to recognize the device
> (and hence load its driver) even without any hotplug driver. Obviously
> while still in the boot loader ...
> 
> > IMO assignment should fail if pod.count != pod.entry_count,
> 
> ... this holds, and hence assignment should have failed.
> 
> IOW this approach currently is a simple "workaround" to avoid the "PCI
> device assignment for HVM guest failed due to PoD enabled" error upon
> domain creation.
> 
> I'll see if I can find a reasonable place to add the missing check; I'm
> less certain about ...
> 
> > and all PoD
> > entries should be resolved otherwise (whether explicitly by the
> > hypervisor or through some suitable existing hypercalls - didn't check
> > yet whether there are any reasonable candidates - by the tool stack is
> > secondary).
> 
> ... the approach to take here.

I think forcing all entries to be resolved would be unexpected when
assigning a device.

I would rather print a message saying that either the guest must
balloon down to the requested amount of memory, or that all entries
should be resolved (ie: using mem-set to match the mem-max value).

Thanks, Roger.



 


Rackspace

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