Hi Kishon, > Subject: Re: [PATCH v7 15/18] NTB: Add support for EPF PCI-Express Non- > Transparent Bridge > > Hi Sherry, Arnd, > > On 10/11/20 8:29 pm, Arnd Bergmann wrote: > > On Tue, Nov 10, 2020 at 3:20 PM Kishon Vijay Abraham I <kishon@xxxxxx> > wrote: > >> On 10/11/20 7:55 am, Sherry Sun wrote: > > > >>> But for VOP, only two boards are needed(one board as host and one > >>> board as card) to realize the communication between the two systems, > so my question is what are the advantages of using NTB? > >> > >> NTB is a bridge that facilitates communication between two different > >> systems. So it by itself will not be source or sink of any data > >> unlike a normal EP to RP system (or the VOP) which will be source or sink > of data. > >> > >>> Because I think the architecture of NTB seems more complicated. Many > thanks! > >> > >> yeah, I think it enables a different use case all together. Consider > >> you have two x86 HOST PCs (having RP) and they have to be communicate > >> using PCIe. NTB can be used in such cases for the two x86 PCs to > >> communicate with each other over PCIe, which wouldn't be possible > without NTB. > > > > I think for VOP, we should have an abstraction that can work on either > > NTB or directly on the endpoint framework but provide an interface > > that then lets you create logical devices the same way. > > > > Doing VOP based on NTB plus the new NTB_EPF driver would also work and > > just move the abstraction somewhere else, but I guess it would > > complicate setting it up for those users that only care about the > > simpler endpoint case. > > I'm not sure if you've got a chance to look at [1], where I added support for > RP<->EP system both running Linux, with EP configured using Linux EP > framework (as well as HOST ports connected to NTB switch, patches 20 and > 21, that uses the Linux NTB framework) to communicate using virtio over > PCIe. > I saw your patches at [1], here you take a rpmsg as an example to communicate between two SoCs using PCIe RC<->EP and HOST1-NTB-HOST2 for different usercases. The VOP code works under the PCIe RC<->EP framework, which means that we can also make VOP works under the Linux NTB framework, just like the rpmsg way you did here, right? Best regards Sherry > The cover-letter [1] shows a picture of the two use cases supported in that > series. > > [1] -> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flore.ke > rnel.org%2Fr%2F20200702082143.25259-1- > kishon%40ti.com&data=04%7C01%7Csherry.sun%40nxp.com%7C5d8b7 > 3a4b72947bea65d08d8858f5091%7C686ea1d3bc2b4c6fa92cd99c5c301635%7 > C0%7C0%7C637406197865119992%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100 > 0&sdata=iRrBvQ9xjoOUYU%2FDidMLZZpW6XuU4ITVXFDA%2B%2F4rJFU > %3D&reserved=0 > > Thank You, > Kishon