Re: How to force RC to forward p2p TLPs

From: Logan Gunthorpe
Date: Sat Dec 29 2018 - 14:25:09 EST




On 2018-12-28 7:29 p.m., Bjorn Helgaas wrote:
>> We use the p2p DMA to transfer data between these two endpoint SOCs,
>> and if the host server is not enable ACS in BIOS, the p2p works well,
>> but when ACS is enabled in BIOS, the p2p is always failed. With the
>> help of a protocol analyzer, we can see that the TLP is redirected to
>> RC, and RC just discard it.
>>
>> I tried to find how to make RC forward redirected TLP to its original
>> target, but nothing found, it seems this is highly related to the RC
>> vendors.

As far as I know, this is not possible with any RCs I've worked with.
For our work, we ensure we disable ACS on paths between peers that want
to communicate. This is why we introduced the 'disable_acs_redir' kernel
parameter[1] to selectively disable ACS for bridges along P2P paths.

>> So is there some spec or document to describe how to set the RC? Any
>> suggestion is appreciated.

If there is, it would be the documentation for your specific RC. Odds
are, the RC simply does not support this.

Logan

[1] https://patchwork.kernel.org/patch/10549279/