powerpc/papr_scm: Don't enable direct map for a region by default
authorAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Wed, 8 Jan 2020 06:46:47 +0000 (12:16 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 25 Jan 2020 13:11:32 +0000 (00:11 +1100)
Setting ND_REGION_PAGEMAP flag implies namespace mode defaults to fsdax mode.
This also means kernel ends up creating struct page backing for these namspace
ranges. With large namespaces that is not the right thing to do. We
should let the user select the mode he/she wants the namespace to be created
with.

Hence disable ND_REGION_PAGEMAP for papr_scm regions. We still keep the flag for
of_pmem because it supports only small persistent memory regions.

This is similar to what is done for x86 with commit
commit: 004f1afbe199 ("libnvdimm, pmem: direct map legacy pmem by default")

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200108064647.169637-1-aneesh.kumar@linux.ibm.com
arch/powerpc/platforms/pseries/papr_scm.c

index cdd316c6cef38bdc4f4a8a1471472fab2eb0bec5..8da39a9c55699468ea11600bff9d7d071eda2d8e 100644 (file)
@@ -357,7 +357,6 @@ static int papr_scm_nvdimm_init(struct papr_scm_priv *p)
        ndr_desc.mapping = &mapping;
        ndr_desc.num_mappings = 1;
        ndr_desc.nd_set = &p->nd_set;
-       set_bit(ND_REGION_PAGEMAP, &ndr_desc.flags);
 
        if (p->is_volatile)
                p->region = nvdimm_volatile_region_create(p->bus, &ndr_desc);