Thread (42 messages) 42 messages, 7 authors, 2020-12-10

Re: [RFC PATCH 15/15] nvme-pci: Allow mmaping the CMB in userspace

From: Logan Gunthorpe <logang@deltatee.com>
Date: 2020-11-09 16:50:18
Also in: linux-iommu, linux-mm, linux-nvme, linux-pci, lkml


On 2020-11-09 8:03 a.m., Keith Busch wrote:
On Fri, Nov 06, 2020 at 10:00:36AM -0700, Logan Gunthorpe wrote:
quoted
Allow userspace to obtain CMB memory by mmaping the controller's
char device. The mmap call allocates and returns a hunk of CMB memory,
(the offset is ignored) so userspace does not have control over the
address within the CMB.

A VMA allocated in this way will only be usable by drivers that set
FOLL_PCI_P2PDMA when calling GUP. And inter-device support will be
checked the first time the pages are mapped for DMA.

Currently this is only supported by O_DIRECT to an PCI NVMe device
or through the NVMe passthrough IOCTL.
Rather than make this be specific to nvme, could pci p2pdma create an
mmap'able file for any resource registered with it?
It's certainly possible. However, other people have been arguing that
more of this should be specific to NVMe as some use cases do not want to
use the genalloc inside p2pdma.

Logan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help