Tags: pmem/ndctl
Tags
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
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
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
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
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
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
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
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
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
PreviousNext