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

Dan Williams dan.j.williams at intel.com
Thu Nov 9 16:45:31 UTC 2017


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.




More information about the dm-devel mailing list