diff options
author | Vishal Verma <vishal.l.verma@intel.com> | 2021-12-10 15:34:35 -0700 |
---|---|---|
committer | Vishal Verma <vishal.l.verma@intel.com> | 2021-12-17 10:56:33 -0700 |
commit | 876e3711262bcaaa22b8006b673ca8992abf05a0 (patch) | |
tree | ca25ec9744ef5fdcd57b055aa10bc109e767c2d4 | |
parent | 4b2346f656f6fa70b15a77d7d45cdd3eda099a33 (diff) |
daxctl: Documentation updates for persistent reconfiguration
Add a man page update describing how daxctl-reconfigure-device(1) can
be used for persistent reconfiguration of a daxctl device using a
config file.
Link: https://lore.kernel.org/r/20211210223440.3946603-7-vishal.l.verma@intel.com
Cc: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
-rw-r--r-- | Documentation/daxctl/daxctl-reconfigure-device.txt | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/Documentation/daxctl/daxctl-reconfigure-device.txt b/Documentation/daxctl/daxctl-reconfigure-device.txt index f112b3c6..aa87d456 100644 --- a/Documentation/daxctl/daxctl-reconfigure-device.txt +++ b/Documentation/daxctl/daxctl-reconfigure-device.txt @@ -162,6 +162,15 @@ include::region-option.txt[] brought online automatically and immediately with the 'online_movable' policy. Use this option to disable the automatic onlining behavior. +-C:: +--check-config:: + Get reconfiguration parameters from the global daxctl config file. + This is typically used when daxctl-reconfigure-device is called from + a systemd-udevd device unit file. The reconfiguration proceeds only + if the match parameters in a 'reconfigure-device' section of the + config match the dax device specified on the command line. See the + 'PERSISTENT RECONFIGURATION' section for more details. + include::movable-options.txt[] -f:: @@ -183,6 +192,64 @@ include::human-option.txt[] include::verbose-option.txt[] +PERSISTENT RECONFIGURATION +-------------------------- + +The 'mode' of a daxctl device is not persistent across reboots by default. This +is because the device itself does not hold any metadata that hints at what mode +it was set to, or is intended to be used. The default mode for such a device +on boot is 'devdax'. + +The administrator may set policy such that certain dax devices are always +reconfigured into a target configuration every boot. This is accomplished via a +daxctl config file. + +The config file may have multiple sections influencing different aspects of +daxctl operation. The section of interest for persistent reconfiguration is +'reconfigure-device'. The format of this is as follows: + +---- +[reconfigure-device <unique_subsection_name>] +nvdimm.uuid = <NVDIMM namespace uuid> +mode = <desired reconfiguration mode> (default: system-ram) +online = <true|false> (default: true) +movable = <true|false> (default: true) +---- + +Here is an example of a config snippet for managing three devdax namespaces, +one is left in devdax mode, the second is changed to system-ram mode with +default options (online, movable), and the third is set to system-ram mode, +the memory is onlined, but not movable. + +Note that the 'subsection name' can be arbitrary, and is only used to +identify a specific config section. It does not have to match the 'device +name' (e.g. 'dax0.0' etc). + +---- +[reconfigure-device dax0] +nvdimm.uuid = ed93e918-e165-49d8-921d-383d7b9660c5 +mode = devdax + +[reconfigure-device dax1] +nvdimm.uuid = f36d02ff-1d9f-4fb9-a5b9-8ceb10a00fe3 +mode = system-ram + +[reconfigure-device dax2] +nvdimm.uuid = f36d02ff-1d9f-4fb9-a5b9-8ceb10a00fe3 +mode = system-ram +online = true +movable = false +---- + +The following example can be used to create a devdax mode namespace, and +simultaneously add the newly created namespace to the config file for +system-ram conversion. + +---- +ndctl create-namespace --mode=devdax | \ + jq -r "\"[reconfigure-device $(uuidgen)]\", \"nvdimm.uuid = \(.uuid)\", \"mode = system-ram\"" >> $config_path +---- + include::../copyright.txt[] SEE ALSO |