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

Re: [Xen-devel] [PATCH v5 6/6] amd/iommu: skip bridge devices when updating IOMMU page tables

>>> On 21.11.18 at 11:37, <roger.pau@xxxxxxxxxx> wrote:
> On Wed, Nov 21, 2018 at 02:21:36AM -0700, Jan Beulich wrote:
>> >>> On 21.11.18 at 00:26, <Brian.Woods@xxxxxxx> wrote:
>> > The original commit 0af438757d455f8eb6b5a6ae9a990ae245f230fd
>> > 
>> > The commit that adds is_hardware_domain (and rearrange things)
>> > 7c275549f46c5c46611592f7107c1345e93ed457
>> > 
>> > The orginal commit used the function like
>> > setup_dom0_pci_devices(d, amd_iommu_setup_dom0_device);
>> > which was because IOMMU needed to skip the host bridge devices on dom0.
>> > 
>> > So I assume you added the is_hardware_domain because it only needed to
>> > be done on dom0.  I'm not familiar with the IOMMU/PCI history wrt to
>> > what it mapped/passed through so.
>> Well, I added it presumably to retain original semantics. I still
>> think that the extra check would better be dropped there, not
>> the least to also cover the case of devices eventually getting
>> assigned to dom_xen.
>> Looking at this another time I find some other questionable
>> aspect though (both to pre-existing code and to the change
>> made here): "host bridge" != "bridge". The title here as much
>> as the comment next to the original piece of code both
>> suggest the wider general category is meant, but the code
>> cloned checks for host bridges only. In
>> amd_iommu_add_device() the check is used solely to emit a
>> less scary log message, but the change here goes beyond
>> that.
> The check in amd_iommu_add_device allows host bridge devices to be
> assigned to the hardware domain without returning an error since they
> are not behind an IOMMU. Note that even if amd_iommu_add_device
> returned an error the device would still be added to the hardware
> domain since the error is eaten by setup_one_hwdom_device and the
> device is assigned to the hardware domain regardless.

Hence me saying this check is mainly/just to make the log message
less scary.

> So either all devices that are not behind an IOMMU are not assigned to
> the hardware domain, or update_paging_mode needs this workaround in
> order to be able to handle IOMMU page table expansion for the hardware
> domain.

It looks like we're talking about different aspects: I don't put under
question that assignment wants to be avoided. What I question is
why the avoidance gets restricted to the hardware domain.

And then the secondary question I put up was why this restriction
applies to host bridges only, despite title here and comment there
saying "bridge" in general.

Your reply doesn't appear to relate to either of these.


Xen-devel mailing list



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