Messages in this thread | | | Date | Mon, 27 Apr 2015 14:26:04 -0500 (CDT) | From | Christoph Lameter <> | Subject | Re: Interacting with coherent memory on external devices |
| |
On Mon, 27 Apr 2015, Jerome Glisse wrote:
> > We can drop the DAX name and just talk about mapping to external memory if > > that confuses the issue. > > DAX is for direct access block layer (X is for the cool name factor) > there is zero code inside DAX that would be usefull to us. Because it > is all about filesystem and short circuiting the pagecache. So DAX is > _not_ about providing rw mappings to non regular memory, it is about > allowing to directly map _filesystem backing storage_ into a process.
Its about directly mapping memory outside of regular kernel management via a block device into user space. That you can put a filesystem on top is one possible use case. You can provide a block device to map the memory of the coprocessor and then configure the memory space to have the same layout on the coprocessor as well as the linux process.
> Moreover DAX is not about managing that persistent memory, all the > management is done inside the fs (ext4, xfs, ...) in the same way as > for non persistent memory. While in our case we want to manage the > memory as a runtime resources that is allocated to process the same > way regular system memory is managed.
I repeatedly said that. So you would have a block device that would be used to mmap portions of the special memory into a process.
> So current DAX code have nothing of value for our usecase nor what we > propose will have anyvalue for DAX. Unless they decide to go down the > struct page road for persistent memory (which from last discussion i > heard was not there plan, i am pretty sure they entirely dismissed > that idea for now).
DAX is about directly accessing memory. It is made for the purpose of serving as a block device for a filesystem right now but it can easily be used as a way to map any external memory into a processes space using the abstraction of a block device. But then you can do that with any device driver using VM_PFNMAP or VM_MIXEDMAP. Maybe we better use that term instead. Guess I have repeated myself 6 times or so now? I am stopping with this one.
> My point is that this is 2 differents non overlapping problems, and > thus mandate 2 differents solution.
Well confusion abounds since so much other stuff has ben attached to DAX devices.
Lets drop the DAX term and use VM_PFNMAP or VM_MIXEDMAP instead. MIXEDMAP is the mechanism that DAX relies on in the VM.
| |