Re: [PATCH v8 13/13] nvmet: Optionally use PCI P2P memory
From: Keith Busch <hidden>
Date: 2018-09-27 17:10:25
Also in:
linux-nvme, linux-pci, linux-rdma, lkml, nvdimm
From: Keith Busch <hidden>
Date: 2018-09-27 17:10:25
Also in:
linux-nvme, linux-pci, linux-rdma, lkml, nvdimm
On Thu, Sep 27, 2018 at 10:54:20AM -0600, Logan Gunthorpe wrote:
We create a configfs attribute in each nvme-fabrics target port to enable p2p memory use. When enabled, the port will only then use the p2p memory if a p2p memory device can be found which is behind the same switch hierarchy as the RDMA port and all the block devices in use. If the user enabled it and no devices are found, then the system will silently fall back on using regular memory. If appropriate, that port will allocate memory for the RDMA buffers for queues from the p2pmem device falling back to system memory should anything fail. Ideally, we'd want to use an NVME CMB buffer as p2p memory. This would save an extra PCI transfer as the NVME card could just take the data out of it's own memory. However, at this time, only a limited number of cards with CMB buffers seem to be available. Signed-off-by: Stephen Bates <redacted> Signed-off-by: Steve Wise <redacted> [hch: partial rewrite of the initial code] Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
I haven't the necessary hardware to try this out, but looking forward to it in the future. Looks good. Reviewed-by: Keith Busch <redacted>