Skip to content

Releases: pmem/ndctl

ndctl: release v80

10 Oct 16:07
v80
04815e5
Compare
Choose a tag to compare

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

02 May 21:44
v79
16f4575
Compare
Choose a tag to compare
v79

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

03 Aug 22:25
v78
a871e61
Compare
Choose a tag to compare
v78

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

02 May 20:29
v77
2fd570a
Compare
Choose a tag to compare

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

ndctl: release v76.1

24 Feb 19:47
v76.1
b782a2c
Compare
Choose a tag to compare

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

ndctl: release v76

22 Feb 22:47
v76
cb4c8f9
Compare
Choose a tag to compare
This release incorporates functionality up to the 6.2 kernel.

Highlights include the new cxl-monitor command that uses CXL trace
events, fix for a long-standing off-by-one in memblock enumeration in
libdaxctl, another daxctl fix to be tolerant of new sysfs attributes
starting with 'memory_', that are not regular memblocks, and a few
other misc cleanups and fixes.

Commands:
  daxctl-online-memory: fix a memblock enumeration off-by-one
  daxctl-online-memory: tolerate non-memblock sysfs attrs that start
  with 'memory_'
  cxl-monitor: new command to monitor CXL events

Tests:
  cxl-xor-region.sh: fix a skip vs. fail condition
  cxl-security.sh: fix intermittent failures due to race with cxl_test
  probe

APIs:
  no new APIs

ndctl: release v75

13 Jan 05:09
v75
b73e4e0
Compare
Choose a tag to compare
This release incorporates functionality up to the 6.1 kernel.

Highlights include cxl region management usability improvements, further
cxl-list reworks and enhancements, support for RCH topologies, a unit test
for XOR arithmetic based regions, a new cxl-security unit test, support for
master-passphrase removal, retrieval and display of CXL device's alert
configuration, and misc test updates and bugfixes.

Commands:
  cxl-create-region: automatically select memdevs in certain condtions
  cxl-list: Skip emitting pmem_size when it is zero

Tests:
  cxl-topology.sh: update to the currwent cxl_test topology
  cxl-xor-regions.sh: new test for XOR arithmetic
  various: add backtrace detection to several tests

APIs:
  ndctl_bus_has_cxl
  ndctl_dimm_disable_master_passphrase
  cxl_cmd_alert_config_corrected_pmem_err_prog_warn_threshold_valid
  cxl_cmd_alert_config_corrected_pmem_err_prog_warn_threshold_writable
  cxl_cmd_alert_config_corrected_volatile_mem_err_prog_warn_threshold_valid
  cxl_cmd_alert_config_corrected_volatile_mem_err_prog_warn_threshold_writable
  cxl_cmd_alert_config_dev_over_temperature_prog_warn_threshold_valid
  cxl_cmd_alert_config_dev_over_temperature_prog_warn_threshold_writable
  cxl_cmd_alert_config_dev_under_temperature_prog_warn_threshold_valid
  cxl_cmd_alert_config_dev_under_temperature_prog_warn_threshold_writable
  cxl_cmd_alert_config_get_corrected_pmem_err_prog_warn_threshold
  cxl_cmd_alert_config_get_corrected_volatile_mem_err_prog_warn_threshold
  cxl_cmd_alert_config_get_dev_over_temperature_crit_alert_threshold
  cxl_cmd_alert_config_get_dev_over_temperature_prog_warn_threshold
  cxl_cmd_alert_config_get_dev_under_temperature_crit_alert_threshold
  cxl_cmd_alert_config_get_dev_under_temperature_prog_warn_threshold
  cxl_cmd_alert_config_get_life_used_crit_alert_threshold
  cxl_cmd_alert_config_get_life_used_prog_warn_threshold
  cxl_cmd_alert_config_life_used_prog_warn_threshold_valid
  cxl_cmd_alert_config_life_used_prog_warn_threshold_writable
  cxl_cmd_new_get_alert_config
  cxl_dport_get_firmware_node
  cxl_port_get_parent_dport
  cxl_target_get_firmware_node

ndctl: release v74

24 Aug 07:26
v74
c9c9db3
Compare
Choose a tag to compare
This release incorporates functionality up to the 6.0 kernel.

Highlights include CXL region management, enhancements to cxl-list,
cxl_test based unit tests for topology enumeration, and region and
label operations, misc build fixes, iniparser include resolution,
fixes in config parsing for ndctl-monitor, and misc documentation
and unit test updates.

Commands:
  cxl-create-region: new command (also {enable,disable,destroy}-region)
  cxl-list: add -v / -vv etc. options for verbosity control
  cxl-list: new filtering options, endpoint decoder DPA listings
  cxl-list: add decoder interleave settings, and mode
  cxl-list: add port depth
  cxl-list: Auto-enable 'single' mode for port listings
  cxl-set-partition: Accept 'ram' as an alias for 'volatile'
  cxl-disable-bus: new command
  cxl-{reserve,free}-dpa: new commands
  ndctl-xable-namespace: zero namespace fixes
  ndctl-monitor: fix config parsing
  daxctl-reconfigure-device: fix systemd escaping for policy config

Tests:
  cxl-topology.sh: new test for CXL topology enumeration
  cxl-region-sysfs.sh: new test for the low-level CXL region ABI
  cxl-create-region.sh: new test for region management
  cxl-labels.sh: new test for label management commands

APIs:
  cxl_bus_disable_invalidate
  cxl_decoder_create_pmem_region
  cxl_decoder_get_by_name
  cxl_decoder_get_dpa_resource
  cxl_decoder_get_dpa_size
  cxl_decoder_get_interleave_granularity
  cxl_decoder_get_interleave_ways
  cxl_decoder_get_last
  cxl_decoder_get_max_available_extent
  cxl_decoder_get_memdev
  cxl_decoder_get_mode
  cxl_decoder_get_prev
  cxl_decoder_get_region
  cxl_decoder_set_dpa_size
  cxl_decoder_set_mode
  cxl_mapping_get_decoder
  cxl_mapping_get_first
  cxl_mapping_get_next
  cxl_mapping_get_position
  cxl_mapping_get_region
  cxl_port_get_depth
  cxl_region_clear_all_targets
  cxl_region_clear_target
  cxl_region_decode_commit
  cxl_region_decode_is_committed
  cxl_region_decode_reset
  cxl_region_delete
  cxl_region_disable
  cxl_region_enable
  cxl_region_get_ctx
  cxl_region_get_decoder
  cxl_region_get_devname
  cxl_region_get_first
  cxl_region_get_id
  cxl_region_get_interleave_granularity
  cxl_region_get_interleave_ways
  cxl_region_get_next
  cxl_region_get_resource
  cxl_region_get_size
  cxl_region_get_target_decoder
  cxl_region_get_uuid
  cxl_region_is_enabled
  cxl_region_set_interleave_granularity
  cxl_region_set_interleave_ways
  cxl_region_set_size
  cxl_region_set_target
  cxl_region_set_uuid

ndctl: release v73

23 Mar 22:12
v73
dd58d43
Compare
Choose a tag to compare
This release incorporates functionality up to the 5.17 kernel.

Highlights include full CXL topology walk and filtering in cxl-list, a
new cxl-cli command to set memdev partitioning info, several unit test
fixes, conversion of the build system to meson, smart error injection
enhancements for 'papr' NVDIMMs, and RPM spec fixes to support config
file migration, and flatpak builds.

Commands:
  cxl-list: full topology walk and filtering
  cxl-set-partition: new command to set memdev partitions
  cxl{enable,disable}-port: new commands
  cxl{enable,disable}-memdev: new commands

Tests:
  Deprecate BLK aperture support
  inject-smart.sh: increase tolerance for decimal formatted fields

APIs:
  ndctl_dimm_refresh_flags
  cxl_bus_get_ctx
  cxl_bus_get_devname
  cxl_bus_get_first
  cxl_bus_get_id
  cxl_bus_get_next
  cxl_bus_get_port
  cxl_bus_get_provider
  cxl_cmd_identify_get_persistent_only_size
  cxl_cmd_identify_get_total_size
  cxl_cmd_identify_get_volatile_only_size
  cxl_cmd_new_get_partition
  cxl_cmd_new_set_partition
  cxl_cmd_partition_get_active_persistent_size
  cxl_cmd_partition_get_active_volatile_size
  cxl_cmd_partition_get_next_persistent_size
  cxl_cmd_partition_get_next_volatile_size
  cxl_cmd_partition_set_mode
  cxl_decoder_get_ctx
  cxl_decoder_get_devname
  cxl_decoder_get_first
  cxl_decoder_get_id
  cxl_decoder_get_next
  cxl_decoder_get_nr_targets
  cxl_decoder_get_port
  cxl_decoder_get_resource
  cxl_decoder_get_size
  cxl_decoder_get_target_by_memdev
  cxl_decoder_get_target_by_position
  cxl_decoder_get_target_type
  cxl_decoder_is_accelmem_capable
  cxl_decoder_is_locked
  cxl_decoder_is_mem_capable
  cxl_decoder_is_pmem_capable
  cxl_decoder_is_volatile_capable
  cxl_dport_get_devname
  cxl_dport_get_first
  cxl_dport_get_id
  cxl_dport_get_next
  cxl_dport_get_physical_node
  cxl_dport_get_port
  cxl_dport_maps_memdev
  cxl_endpoint_get_bus
  cxl_endpoint_get_ctx
  cxl_endpoint_get_devname
  cxl_endpoint_get_first
  cxl_endpoint_get_host
  cxl_endpoint_get_id
  cxl_endpoint_get_memdev
  cxl_endpoint_get_next
  cxl_endpoint_get_parent
  cxl_endpoint_get_port
  cxl_endpoint_is_enabled
  cxl_memdev_disable_invalidate
  cxl_memdev_enable
  cxl_memdev_get_bus
  cxl_memdev_get_endpoint
  cxl_memdev_get_host
  cxl_memdev_get_numa_node
  cxl_memdev_get_serial
  cxl_memdev_is_enabled
  cxl_port_disable_invalidate
  cxl_port_enable
  cxl_port_get_bus
  cxl_port_get_bus
  cxl_port_get_ctx
  cxl_port_get_devname
  cxl_port_get_dport_by_memdev
  cxl_port_get_first
  cxl_port_get_host
  cxl_port_get_id
  cxl_port_get_next
  cxl_port_get_next_all
  cxl_port_get_nr_dports
  cxl_port_get_parent
  cxl_port_hosts_memdev
  cxl_port_is_enabled
  cxl_port_is_endpoint
  cxl_port_is_root
  cxl_port_is_switch
  cxl_port_to_bus
  cxl_port_to_endpoint
  cxl_target_get_decoder
  cxl_target_get_devname
  cxl_target_get_first
  cxl_target_get_id
  cxl_target_get_next
  cxl_target_get_physical_node
  cxl_target_get_position
  cxl_target_maps_memdev

v72.1

05 Jan 23:57
v72.1
7210fc3
Compare
Choose a tag to compare

ndctl: release v72.1

Fixes:
Fix iniparser.h include
test/monitor: fix conf_file in test_conf_file