As an alternative, we might use the "memmap=nn[KMG]!ss[KMG]" [1] parameter
to mark some memory as protected.
That memory can then be configured as devdax device and online to
ZONE_MOVABLE (dev/dax).
[1] https://docs.pmem.io/persistent-memory/getting-started-guide/creating-development-environments/linux-environments/linux-memmap
I've previously been reconfiguring devdax memory like this:
ndctl create-namespace --reconfig=namespace0.0 -m devdax -f
daxctl reconfigure-device --mode=system-ram dax0.0
Is this how you've been doing it, or is there something else I should
consider?
I just sent mail to Michal outlining my use case, hopefully it makes sense.
I had thought about using 'memmap=' in the first kernel and the worry was that
I'd have to support many different machines with different memory
configurations, and have to hard-code memory offsets and lengths for the
various memmap= kernel command line parameters.
If I can make ZONE_MOVABLE
work that's preferable because the kernel will choose the correct usermem-only
region for me, and then I can just use that region for the crash kernel and
3rd kernel boots.