Skip to content

Tags: pmem/ndctl

Tags

v85

Toggle v85's commit message

Verified

This tag was signed with the committer’s verified signature.
AlisonSchofield Alison Schofield
ndctl: release v85

This release adds userspace support for new features introduced in
the 7.1 kernel. Highlights include support for the Fabric-Attached
Memory File System (FAMFS) in daxctl, a new FAMFS unit test, a new
Soft Reserved range handling test (cxl-dax-hmem.sh), and test access
to the cxl_test module's new region replay capability.

Users will also see region locked status in cxl-list, more robust
handling of cxl-destroy-region requests, and additional updates that
improve overall quality and unit test coverage.

Command Updates:
    daxctl-reconfigure-device: add FAMFS mode
    cxl-list: show region locked status to user
    cxl-destroy-region: no partial teardowns in destroy-region

New APIs:
    daxctl_dev_enable_famfs;
    daxctl_dev_is_famfs_mode;
    daxctl_dev_is_devdax_mode;
    daxctl_dev_get_mode;
    daxctl_dev_is_system_ram_mode;
    cxl_region_locked_state;

New Tests:
    test/daxctl-famfs.sh: Add nfit_test famfs mode-transition test
    test/cxl-region-replay.sh: add test of region replay workflow
    test/common: add helpers for CXL region replay testing
    test/cxl-dax-hmem.sh: validate dax_hmem vs CXL collisions

Updated Tests:
    test/cxl-destroy-region.sh: test out-of-order destroy-region handling
    test/cxl-destroy-region.sh: prevent false pass when no decoder found
    test/cxl-topology.sh: verify dax device creation for auto region
    test/mmap.sh: reduce fallocate size from 1GiB to 256MiB
    test/mmap.c: check mmap() result against MAP_FAILED
    test/mmap: move detailed tracing behind -v option
    test/cxl-sanitize: avoid sanitize submit/wait race

Infrastructure:
    cxl/list: apply bus and port filters to anonymous memdevs
    ndctl/test: make fwctl dependency conditional in meson tests
    ndctl: add key_type parameter to ndctl_dimm_remove_key stub

Documentation:
    documentation: add FAMFS to daxctl-reconfigure-device.txt

v84

Toggle v84's commit message

Verified

This tag was signed with the committer’s verified signature.
AlisonSchofield Alison Schofield
ndctl: release v84

This release incorporates functionality up through the 7.0 kernel.

Highlights include new cxl-cli commands for media and protocol error
injection, visibility of Extended Linear Cache (ELC) in cxl-list along
with a new ELC unit test, and a unit test for address translation. It
also includes additional unit test and infrastructure improvements that
improve test coverage and overall quality.

Commands:
  cxl-inject-protocol-error: new command
  cxl-inject-media-poison: new command
  cxl-list: add extended linear cache info
  cxl-list: add injection info

APIs:
  cxl_region_get_extended_linear_cache_size;
  cxl_protocol_error_get_first;
  cxl_protocol_error_get_next;
  cxl_protocol_error_get_num;
  cxl_protocol_error_get_str;
  cxl_dport_get_einj_path;
  cxl_dport_protocol_error_inject;
  cxl_memdev_has_poison_support;
  cxl_memdev_inject_poison;
  cxl_memdev_clear_poison;
  cxl_debugfs_exists;

Tests:
  test/cxl-poison.sh: add test case for unaligned address translations
  test/cxl-elc.sh: add a new test for extended linear cache support
  test/cxl-poison.sh: detect the correct elc sysfs attribute
  test/cxl-poison.sh: replace sysfs usage with cxl-cli cmds
  test/cxl-translate.sh: add new cxl-translate.sh unit test
  test/cxl-topology.sh: test switch port target enumeration
  test/pmem-ns: fully reset nfit_test in pmem-ns unit test
  test/cxl-poison.sh: add support for ELC in poison test
  test/cxl-poison.sh: use the cxl_test auto region

Infrastructure:
  util/sysfs: add hint for missing root privileges on sysfs access
  util/sysfs: save and use errno properly in read and write paths
  README.md: exclude unsupported distros from Repology badge
  daxctl: replace basename() usage with new path_basename()
  ndctl: add key cleanup after overwrite operation

Documentation:
  documentation: add docs for protocol and poison injection commands

v83

Toggle v83's commit message

Verified

This tag was signed with the committer’s verified signature.
AlisonSchofield Alison Schofield
ndctl: release v83

This release incorporates functionality up through the 6.17 kernel.

It corrects the issue where libtracefs became a requirement to build
versions 80,81,82. Libtracefs is returned to optional status in v83.
Note that the '--media-errors' option to cxl-list, as well as the
monitor command, is not available when libtracefs is disabled.

API:
cxl: add helper function to verify port is in memdev hierarchy
cxl: document 'cxl enable-port -m' behavior change

Tests:
README.md: update package requirements for the test environment
test/cxl-poison.sh: test inject and clear poison by region offset
test/common: move err() function to top of file
test/common: add double quotes to bash variables
test/dax.sh: adjust trace parsing of fault results
test/dm.sh: use dm.sh as script name in cleanup error message
test/meson.build: add fwctl dependency needed for cxl-features.sh
test/sub-section.sh: use built ndctl program in unit test

Infrastructure:
cxl/list: remove libtracefs build dependency for --media-errors
build: update meson feature deprecation warnings
ndctl: fix user visible spelling errors

v82

Toggle v82's commit message

Verified

This tag was signed with the committer’s verified signature.
AlisonSchofield Alison Schofield
ndctl: release v82

    This release incorporates functionality up through the 6.15 kernel.

    Aligning with the CXL Features capability introduced in the 6.15
    kernel, ndctl adds libcxl enumeration of FWCTL character devices
    which enables issuing of the new ioctl's to the device.

    A new CXL Features unit test is added and it includes a C program
    "fwctl.c" that provides an example for users of the new capability.

    Existing test and infrastructure is updated.

    API:
    libcxl: enumerate major/minor of FWCTL char device
    libcxl: add cxl_bus_get_by_provider()

    Tests:
    test/cxl-features.sh: add test for CXL features device
    test/cxl-xor-region.sh: remove redundant waiting
    test/cxl-topology.sh: change assumption on host bridge validation

    Infrastructure:
    README.md: update the kernel config requirement for unit tests
    test/meson.build: use the default POSIX locale for unit tests
    cxl: add features.h from kernel UAPI for CXL Features support
    cxl/test: skip, don't fail, when kernel tracing is not enabled
    cxl/test: set the $CXL environment variable in meson.build

v81

Toggle v81's commit message

Verified

This tag was signed with the committer’s verified signature.
AlisonSchofield Alison Schofield
ndctl: release v81

This release incorporates functionality up to the 6.14 kernel.

Highlights are usability improvements in daxctl and region creation
and listing. Namespace creation gets more robust parameter handling
and unit tests are improved.

Commands:
cxl/region: report max size for region creation
ndctl/list: display region caps for any of BTT, PFN, DAX
daxctl: output more information if memblock is unremovable
ndctl/namespace: protect against overflow handling param.offset
ndctl/namespace: avoid integer overflow in namespace validation
ndctl/namespace: close file descriptor in do_xaction_namespace()
ndctl/namespace: protect against under|over-flow w bad param.align

Tests:
test/cxl-events.sh: do not fail test until event counts are reported
test/security.sh: add jq requirement check
test/monitor.sh: make shell variable handling more robust
test/monitor.sh: convert float to integer before increment

API:
cxl/lib: remove unimplemented symbol cxl_mapping_get_region

Infrastructure:
util/strbuf: remove unused cli infrastructure imports
cxl/json: remove prefix from tracefs.h #include

v80

Toggle v80's commit message

Verified

This tag was signed with the committer’s verified signature.
AlisonSchofield Alison Schofield
ndctl: release v80

This release incorporates functionality up through the 6.11 kernel.

Highlights include support for listing CXL media-errors, usability
fixups in daxctl create-device, the addition of firmware revision
in CXL memdev listings, and misc unit test and build fixes.

Commands:
  cxl-list: add --media-errors option
  cxl-list: always emit memdev firmware revision
  daxctl: fail create-device with extra parameters
  daxctl: remove unused options from create-device usage message
  ndctl load-keys: stop leaking file descriptors upon error

Tests:
  cxl-poison.sh: new unit test
  cxl-events.sh: add test case for region info
  daxctl-create.sh: use bash math syntax to find available size
  daxctl-create.sh: use CXL DAX regions instead of efi_fake_mem
  rescan-partitions.sh: refine search for created partition

API:
  cxl_memdev_trigger_poison_list
  cxl_region_trigger_poison_list

v79

Toggle v79's commit message

Verified

This tag was signed with the committer’s verified signature.
stellarhopper Vishal Verma
ndctl: release v79

This release incorporates functionality up to and including the 6.9 kernel.

Highlights include test and build fixes, a new cxl-wait-sanitize
command, support for QOS Class in cxl-create-region, and a new
cxl-set-alert-config command.

Commands:
  cxl-create-region: Add QOS Class support
  cxl-wait-sanitize: New command
  cxl-disable-region: Add a new --force option
  cxl-set-alert-config: New command
  cxl-monitor: fix event_trace array parsing
  daxctl-destroy-device: fix accounting for number of devices destroyed

Tests:
  cxl/test: use max_available_extent in cxl-destroy-region
  cxl: Add a test for qos_class in CXL test suite
  cxl/test: add 3-way HB interleave testcase to cxl-xor-region.sh
  cxl/test: add double quotes in cxl-xor-region.sh
  cxl/test: replace spaces with tabs in cxl-xor-region.sh
  test/daxctl-create.sh: remove region and dax device assumptions
  test/cxl-region-sysfs: fix a missing space syntax error
  test/cxl-region-sysfs.sh: use '[[ ]]' command to evaluate operands as arithmetic expressions
  ndctl/test: Add destroy region test
  cxl/test: Validate sanitize notifications
  cxl/test: validate the auto region in cxl-topology.sh
  cxl/test: replace a bad root decoder usage in cxl-xor-region.sh
  test/security.sh: test keyctl before excuting
  test/daxctl-devices.sh: increase the namespace size to 4GiB
  test/cxl-event: Skip cxl event testing if cxl-test is not available
  test/cxl-update-firmware: Fix checksum sysfs query

APIs:
  daxctl_dev_is_system_ram_capable
  cxl_cmd_alert_config_set_corrected_pmem_err_prog_warn_threshold
  cxl_cmd_alert_config_set_corrected_volatile_mem_err_prog_warn_threshold
  cxl_cmd_alert_config_set_dev_over_temperature_prog_warn_threshold
  cxl_cmd_alert_config_set_dev_under_temperature_prog_warn_threshold
  cxl_cmd_alert_config_set_enable_alert_actions
  cxl_cmd_alert_config_set_life_used_prog_warn_threshold
  cxl_cmd_alert_config_set_valid_alert_actions
  cxl_cmd_new_set_alert_config
  cxl_memdev_get_pmem_qos_class
  cxl_memdev_get_ram_qos_class
  cxl_memdev_wait_sanitize
  cxl_port_decoders_committed
  cxl_region_qos_class_mismatch
  cxl_root_decoder_get_qos_class

v78

Toggle v78's commit message

Verified

This tag was signed with the committer’s verified signature.
stellarhopper Vishal Verma
ndctl: release v78

This release incorporates functionality up to the 6.5 kernel.

Highlights include fixes to cxl-monitor and ndctl-monitor, a new
cxl-update-firmware command, various documentation fixes, and a new unit
test for cxl events.

Commands:
  cxl-update-firmware: new command to update firmware on CXL memdevs
  {cxl,ndctl}-monitor: fixes for option handling for logging

Tests:
  cxl-events.sh: new test for CXL events

APIs:
  cxl_cmd_fw_info_get_active_slot
  cxl_cmd_fw_info_get_fw_ver
  cxl_cmd_fw_info_get_num_slots
  cxl_cmd_fw_info_get_online_activate_capable
  cxl_cmd_fw_info_get_staged_slot
  cxl_cmd_new_get_fw_info
  cxl_memdev_cancel_fw_update
  cxl_memdev_fw_update_get_remaining
  cxl_memdev_fw_update_in_progress
  cxl_memdev_update_fw

v77

Toggle v77's commit message

Verified

This tag was signed with the committer’s verified signature.
stellarhopper Vishal Verma
ndctl: release v77

This release incorporates functionality up to the 6.3 kernel.

Highlights include some build fixes around cx-monitor and event tracing,
the ability to create ram type regions, some fixes to create-region to
allow a user-supplied UUID, cxl-list fixes for RCD devices, and region
listings, cxl-list filtering improvements, and some unit test fixes.

Commands:
  cxl-list: Include regions in the verbose listing
  cxl-list: Enumerate device-dax properties for regions
  cxl-list: Fix filtering RCDs
  cxl-list: Filter root decoders by region
  cxl-list: Add parent_dport attribute to port listings
  cxl-list: Add a type attribute to region listings
  cxl-create-region: add creation of ram type regions
  cxl-create-region: skip region_actions for region creation
  cxl-create-region: automatic type detection based on memdev capacity

Tests:
  all: fix module load path expectations
  libndctl: fix dangling pointer warnings
  cxl-security.sh: use the correct 'cxl' binary

APIs:
  cxl_decoder_create_ram_region
  cxl_port_get_parent_dport
  cxl_region_get_daxctl_region
  cxl_region_get_mode

v76.1

Toggle v76.1's commit message

Verified

This tag was signed with the committer’s verified signature.
stellarhopper Vishal Verma
ndctl: release v76.1

Fixes:
  cxl/event-trace: use the wrapped util_json_new_u64()
  cxl/monitor: fix include paths for tracefs and traceevent
  cxl/monitor: Make libtracefs dependency optional