Hi Logan, Thank you for reviewing this. Although I mentioned the minimum bandwidth requirement in the introduction of the ECR, I did not include any specification changes that would require this. I recognized that for p2p to be useful, there must be a useful level of bandwidth, however, I could see no easy way to adequately advertise this. Ultimately, bandwidth levels could be seen as part of the platform architecture of each OEM. Performance differences between OEM's is often what makes a buyer choose one OEM's system over another in a competitive environment. So requiring a particular bandwidth level is like requiring an OEM to include a minimum number of cores in a system or a minimum number of PCIe links. So ultimately, I excluded any discussion of bandwidth in the ECR spec changes. However, if you see a particular way that this issue could be approached, I am still willing to consider a change. Eric Wehage Huawei Principal Engineer, PCIe -----Original Message----- From: Logan Gunthorpe [mailto:logang@xxxxxxxxxxxx] Sent: Monday, December 10, 2018 9:20 AM To: Jonathan Cameron <jonathan.cameron@xxxxxxxxxx>; linux-pci@xxxxxxxxxxxxxxx Cc: bhelgaas@xxxxxxxxxx; lorenzo.pieralisi@xxxxxxx; Eric Wehage <Eric.Wehage@xxxxxxxxxx>; Linuxarm <linuxarm@xxxxxxxxxx>; Stephen Bates <sbates@xxxxxxxxxxxx> Subject: Re: [RFC] Proposed PCI ECR for description of Advanced Peer to Peer Capabilities Hi Jonathan, Thanks for taking this on. On 2018-12-10 4:56 a.m., Jonathan Cameron wrote: > I would recommend reading the ECR and presentation for more details. > Anyone who can't get to Google Drive, email me and I'll send a copy directly. > > ECR: > https://drive.google.com/open?id=1X08pfyjkNwSfpTVBuiut90ajxBZd7BXg > Slides: > https://drive.google.com/open?id=11d3egA8x91d99-QqfYGZ-MxLGrHpJHCK I've looked through the ECR now a couple times and haven't really spotted any major issues with it. The minimum supported bandwidth requirement is pretty vague and my biggest concern is that hardware vendors must report consistently otherwise this is useless. So I'd maybe suggest expanding on what's required before hardware is allowed to indicate support. Also, one thought is, it might be better to add another bit indicating performance. So the hardware can say: these TLPs will be supported but they will not be supported at high bandwidth. In terms of defining high bandwidth: what I care about is whether the bandwidth through the P2P link will be significantly slower than the bandwidth of going to/from system RAM. If that's the case it probably means a subset of P2P applications would rather just transfer to RAM instead of going P2P. Logan