On Tue, Feb 16, 2016 at 09:44:17PM -0700, Jason Gunthorpe wrote: > On Tue, Feb 16, 2016 at 08:13:58PM -0800, davide rossetti wrote: > > > Bottom line is, BAR mappings are not like plain memory. > > As I understand it the actual use of this in fact when user space > manages to map BAR memory into it's address space and attempts to do DMA > from it. So, I'm not sure I agree at all with this assement. > > ie I gather with NVMe the desire is this could happen through the > filesystem with the right open/mmap flags. Lot's of confusion here. NVMe is a block device interface - there is not real point in mapping anything in there to userspace unless you use an entirely userspace driver through the normal userspace PCI driver interface. For pmem (which some people confusingly call NVM) mapping the byte addressable persistent memory to userspace using DAX makes a lot of sense, and a lot of work around that is going on currently. For NVMe 1.2 there is a new feature called the controller memory buffer, which basically is a giant BAR that can be used instead of host memory for the submission and completion queues of the device, as well as for actual data sent to and reived from the device. Some people are tlaking about using this as the target of RDMA operations, but I don't think this patch series would be anywhere near useful for this mode of operation. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>