NDCTL User Guide

Introduction

ndctl is a utility for managing the Linux LIBNVDIMM Kernel subsystem. It is designed to work with various non-volatile memory devices (NVDIMMs) from different vendors. The LIBNVDIMM subsystem defines a kernel device model and control message interface for platform NVDIMM resources like those defined by the ACPI v6.0arrow-up-right NFIT (NVDIMM Firmware Interface Table). The latest ACPI arrow-up-rightand UEFI arrow-up-rightspecifications can be found at uefi.orgarrow-up-right. Operations supported by ndctl include:

  • Provisioning capacity (namespaces)

  • Enumerating Devices

  • Enabling and Disabling NVDIMMs, Regions, and Namespaces

  • Managing NVDIMM Labels

What's new in v66

This release incorporates functionality up to the 5.3 kernel, and adds a number of bug fixes, and improvements.

Highlights include a new command to reconfigure dax devices to different modes (devdax - default, and system-ram - to hotplug the dax device as system memory), improvements to ndctl-{read,write,init}-labels allowing smaller sized reads/writes, usability fixes to ndctl-monitor, and ndctl-create-namespace, and a fix to ndctl-check-namespace allowing it to be used on systems with different page sizes.

Commands:

APIs:

  • ndctl_cmd_cfg_read_set_extent

  • ndctl_cmd_cfg_write_set_extent

  • ndctl_dimm_read_label_extent

  • ndctl_dimm_read_label_index

  • ndctl_dimm_zero_label_extent

  • daxctl_dev_disable

  • daxctl_dev_enable_devdax

  • daxctl_dev_enable_ram

  • daxctl_dev_get_ctx

  • daxctl_dev_get_memory

  • daxctl_dev_get_resource

  • daxctl_dev_get_target_node

  • daxctl_dev_is_enabled

  • daxctl_memory_get_block_size

  • daxctl_memory_get_dev

  • daxctl_memory_get_node_path

  • daxctl_memory_is_online

  • daxctl_memory_num_sections

  • daxctl_memory_offline

  • daxctl_memory_online

Last updated

Was this helpful?