Thread (4 messages) 4 messages, 3 authors, 2014-01-09

Re: [Lsf-pc] [LSF/MM TOPIC] Persistent Memory

From: Bob Liu <hidden>
Date: 2014-01-09 01:35:45
Also in: linux-fsdevel

On 01/08/2014 11:42 PM, Mel Gorman wrote:
On Fri, Dec 20, 2013 at 10:05:02AM -0700, Matthew Wilcox wrote:
quoted
I should like to discuss the current situation with Linux support for
persistent memory.  While I expect the current discussion to be long
over by March, I am certain that there will be topics around persistent
memory that have not been settled at that point.

I believe this will mostly be of crossover interest between filesystem
and MM people, and of lesser interest to storage people (since we're
basically avoiding their code).

Subtopics might include
 - Using persistent memory for FS metadata
   (The XIP code provides persistent memory to userspace.  The filesystem
    still uses BIOs to fetch its metadata)
 - Supporting PMD/PGD mappings for userspace
   (Not only does the filesystem have to avoid fragmentation to make this
    happen, the VM code has to permit these giant mappings)
The filesystem would also have to correctly align the data on disk. All
this implies that the underlying device is byte-addressible, similar access
speeds to RAM and directly accessible from userspace without the kernel
being involved. Without those conditions, I find it hard to believe that
TLB pressure dominates access cost. Then again I have no experience with
the devices or their intended use case so would not mind an education.

However, if you really wanted the device to be accessible like this then
the shortest solutions (and I want to punch myself for even suggesting
this) is to extend hugetlbfs to directly access these devices. It's
almost certainly a bad direction to take though, there would need to be a
good justification for it. Anything in this direction is pushing usage of
persistent devices to userspace and the kernel just provides an interface,
maybe that is desirable maybe not.
quoted
 - Persistent page cache
   (Another way to take advantage of persstent memory would be to place it
    in the page cache.  But we don't have struct pages for it!  What to do?)
I think one potential way is to use persistent memory as a second-level
clean page cache through the cleancache API.

-- 
Regards,
-Bob

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help