On Fri, Mar 15, 2019 at 3:31 PM Brice Goglin <Brice.Goglin(a)inria.fr> wrote:
Hello Dan,
On a machine emulating nvdimms over DDR using the memmap kernel parameter,
I can't enable devdax anymore with ndctl, when using your libnvdimm-pending
branch (1ffc664f9b8ca7346f2af0fb4f62b923193bf65c):
# ndctl create-namespace -f -e namespace1.0 -t pmem -m devdax
libndctl: ndctl_dax_enable: dax1.0: failed to enable
Error: namespace1.0: failed to enable
failed to reconfigure namespace: No such device or address
In the previous version of your libnvdimm-pending branch that I used before
(8d4a7e3da68e88a6efd3acb5cc971d0c2ca219a4 from January 8th) this ndctl line
worked fine right after boot.
The difference between strace ndctl doesn't show anything obvious.
* /sys/devices/platform/e820_pmem/ndbus0/region1/namespace1.0/holder_class contains
nothing instead of "dax"
* /sys/devices/platform/e820_pmem/ndbus0/region1/dax_seed contains dax1.0 instead of
dax1.1
Any idea where to look?
If my libnvdimm-pending branch worked it is likely due to the
alignment padding fixes I had pending there. Can you post the dmesg
from this failure?
The alignment padding fixes are being abandoned in favor of just
teaching the core-mm to not require section (128MB) alignment, but
until then you need to make sure your persistent memory is 128MB
aligned.