[dm-devel] [PATCH] vmalloc: introduce vmap_pfn for persistent memory

Mikulas Patocka mpatocka at redhat.com
Thu Nov 9 17:30:37 UTC 2017



On Thu, 9 Nov 2017, Dan Williams wrote:

> On Thu, Nov 9, 2017 at 8:40 AM, Mikulas Patocka <mpatocka at redhat.com> wrote:
> >
> >
> > On Wed, 8 Nov 2017, Dan Williams wrote:
> >
> >> On Wed, Nov 8, 2017 at 12:15 PM, Mikulas Patocka <mpatocka at redhat.com> wrote:
> >> >
> >> >
> >> > On Wed, 8 Nov 2017, Dan Williams wrote:
> >> >
> >> >> On Wed, Nov 8, 2017 at 7:35 AM, Christoph Hellwig <hch at infradead.org> wrote:
> >> >> > On Wed, Nov 08, 2017 at 10:21:38AM -0500, Mikulas Patocka wrote:
> >> >> >> > And what do you do for an architecture with virtuall indexed caches?
> >> >> >>
> >> >> >> Persistent memory is not supported on such architectures - it is only
> >> >> >> supported on x86-64 and arm64.
> >> >> >
> >> >> > For now.  But once support is added your driver will just corrupt data
> >> >> > unless you have the right API in place.
> >> >>
> >> >> I'm also in the process of ripping out page-less dax support. With
> >> >> pages we can potentially leverage the VIVT-cache support in some
> >> >> architectures, likely with more supporting infrastructure for
> >> >> dax_flush().
> >> >
> >> > Should I remove all the code for page-less persistent memory from my
> >> > driver?
> >> >
> >>
> >> Yes, that would be my recommendation. You can see that filesystem-dax
> >> is on its way to dropping page-less support in this series:
> >>
> >>    https://lists.01.org/pipermail/linux-nvdimm/2017-October/013125.html
> >
> > Why do you indend to drop dax for ramdisk? It's perfect for testing.
> >
> > On x86, persistent memory can be tested with the memmap kernel parameters,
> > but on other architectures, ramdisk is the only option for tests.
> >
> 
> Because it's not "perfect for testing", it does not support the
> get_user_pages() model that we need to safely handle DAX dma. ARM64
> and PowerPC PMEM support is in the works, so I expect the architecture
> support landscape for major architectures to improve such that the
> pmem driver can always be used for DAX testing.

Yes - but if I want to test the persistent memory driver on big-endian 
machine, I could use an old Sparc or PA-RISC machine with ramdisk.

New PowerPC machines may support native persistent memory, but they are 
extremely expensive.

Mikulas




More information about the dm-devel mailing list