[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161205180231.GA28133@obsidianresearch.com>
Date: Mon, 5 Dec 2016 11:02:31 -0700
From: Jason Gunthorpe <jgunthorpe@...idianresearch.com>
To: Dan Williams <dan.j.williams@...el.com>
Cc: Stephen Bates <sbates@...thlin.com>,
Haggai Eran <haggaie@...lanox.com>,
Logan Gunthorpe <logang@...tatee.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"linux-nvdimm@...1.01.org" <linux-nvdimm@...1.01.org>,
"christian.koenig@....com" <christian.koenig@....com>,
"Suravee.Suthikulpanit@....com" <suravee.suthikulpanit@....com>,
"John.Bridgman@....com" <john.bridgman@....com>,
"Alexander.Deucher@....com" <alexander.deucher@....com>,
"Linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
Max Gurtovoy <maxg@...lanox.com>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"serguei.sagalovitch@....com" <serguei.sagalovitch@....com>,
"Paul.Blinzer@....com" <paul.blinzer@....com>,
"Felix.Kuehling@....com" <felix.kuehling@....com>,
"ben.sander@....com" <ben.sander@....com>
Subject: Re: Enabling peer to peer device transactions for PCIe devices
On Mon, Dec 05, 2016 at 09:40:38AM -0800, Dan Williams wrote:
> > If it is kernel only with physical addresess we don't need a uAPI for
> > it, so I'm not sure #1 is at all related to iopmem.
> >
> > Most people who want #1 probably can just mmap
> > /sys/../pci/../resourceX to get a user handle to it, or pass around
> > __iomem pointers in the kernel. This has been asked for before with
> > RDMA.
> >
> > I'm still not really clear what iopmem is for, or why DAX should ever
> > be involved in this..
>
> Right, by default remap_pfn_range() does not establish DMA capable
> mappings. You can think of iopmem as remap_pfn_range() converted to
> use devm_memremap_pages(). Given the extra constraints of
> devm_memremap_pages() it seems reasonable to have those DMA capable
> mappings be optionally established via a separate driver.
Except the iopmem driver claims the PCI ID, and presents a block
interface which is really *NOT* what people who have asked for this in
the past have wanted. IIRC it was embedded stuff eg RDMA video
directly out of a capture card or a similar kind of thinking.
It is a good point about devm_memremap_pages limitations, but maybe
that just says to create a /sys/.../resource_dmableX ?
Or is there some reason why people want a filesystem on top of BAR
memory? That does not seem to have been covered yet..
Jason
Powered by blists - more mailing lists