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

Re: [Xen-devel] [PATCH] libxl: suppress device assignment to HVM guest when there is no IOMMU



George Dunlap wrote on 2013-07-02:
> On Tue, Jul 2, 2013 at 3:27 AM, Zhang, Yang Z <yang.z.zhang@xxxxxxxxx> wrote:
>> George Dunlap wrote on 2013-07-01:
>>> On Mon, Jul 1, 2013 at 2:45 PM, George Dunlap
>>> <George.Dunlap@xxxxxxxxxxxxx> wrote:
>>>> On Mon, Jul 1, 2013 at 2:08 PM, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>>> This in effect copies similar logic from xend: While there's no way to
>>>>> check whether a device is assigned to a particular guest,
>>>>> XEN_DOMCTL_test_assign_device at least allows checking whether an
>>>>> IOMMU is there and whether a device has been assign to _some_ guest.
>>>>> For the time being, this should be enough to cover for the missing
>>>>> error checking/recovery in other parts of libxl's device assignment
>>>>> paths.
>>>>> 
>>>>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>>>> 
>>>> Something isn't quite right about this patch:
>>>> 
>>>> # xl create h0
>>>> Parsing config from h0
>>>> xc: info: VIRTUAL MEMORY ARRANGEMENT:
>>>>   Loader:        0000000000100000->000000000019ee28 Modules:
>>>>   0000000000000000->0000000000000000 TOTAL:
>>>>   0000000000000000->00000001ff800000 ENTRY ADDRESS: 0000000000100608
>>>>   xc: info: PHYSICAL MEMORY ALLOCATION: 4KB PAGES: 0x0000000000000200
>>>>   2MB PAGES: 0x00000000000007fb 1GB PAGES: 0x0000000000000004
>>>> libxl: error: libxl_pci.c:1046:libxl__device_pci_add: PCI device
>>>> 0000:07:00.0 cannot be assigned - no IOMMU?
>>>> Daemon running with PID 3468
>>>> # xl pci-list h0
>>>> Vdev Device
>>>> 00.0 0000:07:00.0
>>>> # xl pci-assignable-list
>>>> #
>>>> 
>>>> In other words, the xenstore stuff is still happening.
>> Still got confused. If no IOMMU, why there will have device assignable? But I
> think there may no good way to solve it since pci-assignalbe-list don't need
> IOMMU's intercept. Perhaps we should show whether IOMMU is enabled with
> 'xl pci-assignable-list ' to let user know more earlier.
> 
> Remember that PV guests can be assigned a device even without an IOMMU
> (although it's less safe).
Yes. I mean pci-assignable-list can show whether IOMMU is enabled. Since PV 
guest doesn't need IOMMU, it can just ignore it. It just as a reminder for user 
to do VT-d device pass-through.

> 
> Expected behavior:
> # xl pci-assignable-add 07:00.0
> # xl pci-assignable-list
> 07:00.0
> # xl pci-attach hvm-domain 07:00.0
> [error]
> # xl pci-assignable-list
> 07:00.0
> # xl pci-attach pv-domain 07:00.0
> [works]
> 
> Actual behavior:
> # xl pci-assignable-add 07:00.0
> # xl pci-assignable-list
> 07:00.0
> # xl pci-attach hvm-domain 07:00.0
> [error]
> # xl pci-assignable-list
> [nothing!]
> # xl pci-attach pv-domain 07:00.0
> Error: 07:00.0 not assignable!
> 
> In other words, even with this patch we are still going through some
> of the motions of assigning the device.  If the device assignment
> fails, *nothing* should be done; and the device should still be
> available to be assigned to someone else.  Instead, it is partially
> assigned, and after the failure is not available to be assigned to
> another guest.
> 
> But this is good enough for now.
> 
>  -George


Best regards,
Yang



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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