lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 14 Mar 2018 12:16:05 +0000 From: David Laight <David.Laight@...LAB.COM> To: 'Logan Gunthorpe' <logang@...tatee.com>, Sinan Kaya <okaya@...eaurora.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>, "linux-nvme@...ts.infradead.org" <linux-nvme@...ts.infradead.org>, "linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>, "linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>, "linux-block@...r.kernel.org" <linux-block@...r.kernel.org> CC: Stephen Bates <sbates@...thlin.com>, Christoph Hellwig <hch@....de>, "Jens Axboe" <axboe@...nel.dk>, Keith Busch <keith.busch@...el.com>, Sagi Grimberg <sagi@...mberg.me>, Bjorn Helgaas <bhelgaas@...gle.com>, Jason Gunthorpe <jgg@...lanox.com>, Max Gurtovoy <maxg@...lanox.com>, Dan Williams <dan.j.williams@...el.com>, Jérôme Glisse <jglisse@...hat.com>, Benjamin Herrenschmidt <benh@...nel.crashing.org>, "Alex Williamson" <alex.williamson@...hat.com> Subject: RE: [PATCH v3 01/11] PCI/P2PDMA: Support peer-to-peer memory From: Logan Gunthorpe > Sent: 13 March 2018 23:46 ... > As Stephen pointed out, it's a requirement of the PCIe spec that a > switch supports P2P. If you want to sell a switch that does P2P with bad > performance then that's on you to deal with. That surprises me (unless I missed something last time I read the spec). While P2P writes are relatively easy to handle, reads and any other TLP that require acks are a completely different proposition. There are no additional fields that can be set in the read TLP and will be reflected back in the ack(s) than can be used to route the acks back to the correct initiator. I'm pretty sure that to support P2P reads a switch would have to save the received read TLP and (possibly later on) issue read TLP of its own for the required data. I'm not even sure it is easy to interleave the P2P reads with those coming from the root. That requires a potentially infinite queue of pending requests. Some x86 root ports support P2P writes (maybe with a bios option). It would be a shame not to be able to do P2P writes on such systems even though P2P reads won't work. (We looked at using P2P transfers for some data, but in the end used a different scheme. For our use case P2P writes were enough. An alternative would be to access the same host memory buffer from two different devices - but there isn't an API that lets you do that.) David
Powered by blists - more mailing lists