Messages in this thread | | | From | Logan Gunthorpe <> | Date | Tue, 8 May 2018 14:19:05 -0600 | Subject | Re: [PATCH v4 04/14] PCI/P2PDMA: Clear ACS P2P flags for all devices behind switches |
| |
On 08/05/18 02:13 PM, Alex Williamson wrote: > Well, I'm a bit confused, this patch series is specifically disabling > ACS on switches, but per the spec downstream switch ports implementing > ACS MUST implement direct translated P2P. So it seems the only > potential gap here is the endpoint, which must support ATS or else > there's nothing for direct translated P2P to do. The switch port plays > no part in the actual translation of the request, ATS on the endpoint > has already cached the translation and is now attempting to use it. > For the switch port, this only becomes a routing decision, the request > is already translated, therefore ACS RR and EC can be ignored to > perform "normal" (direct) routing, as if ACS were not present. It would > be a shame to go to all the trouble of creating this no-ACS mode to find > out the target hardware supports ATS and should have simply used it, or > we should have disabled the IOMMU altogether, which leaves ACS disabled.
Ah, ok, I didn't think it was the endpoint that had to implement ATS. But in that case, for our application, we need NVMe cards and RDMA NICs to all have ATS support and I expect that is just as unlikely. At least none of the endpoints on my system support it. Maybe only certain GPUs have this support.
Logan
| |