Skip to content

Releases: pmem/ndctl

v79

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

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

ndctl: release v72

18 Dec 05:09
v72
25062cf
Compare
Choose a tag to compare

ndctl: release v72

This release incorporates functionality up to the 5.16 kernel.

Highlights include a new utility and library for interfacing with the
'CXL' drivers and devices, a policy based configuration mechanism for
ndctl and daxctl, fixes, test updates, and general additions for the
PAPR family of NVDIMMs, more seed device accounting fixes, misc unit
test and documentation updates, and fixes to NVDIMM bus scrubbing.

Commands:
cxl-cli: new utility providing list, {read,write,zero}-label commands
daxctl-reconfigure-device: new --check-config option
ndctl-monitor: add support for a new unified config file format
ndctl-*-namespace: seed namespace accounting fixes

Tests:
Fix device-dax mremap() test
Exercise soft_offline_page() corner cases
Fix btt expect table compile warning
monitor.sh: add checking the presence of jq command ahead of time

APIs:
ndctl_bus_nfit_translate_spa
ndctl_dimm_sizeof_namespace_index
ndctl_get_config_path
ndctl_set_config_path
daxctl_dev_has_online_memory
daxctl_dev_will_auto_online_memory
daxctl_get_config_path
daxctl_set_config_path
cxl_cmd_get_devname
cxl_cmd_get_mbox_status
cxl_cmd_get_out_size
cxl_cmd_health_info_get_dirty_shutdowns
cxl_cmd_health_info_get_ext_corrected_persistent_normal
cxl_cmd_health_info_get_ext_corrected_persistent_warning
cxl_cmd_health_info_get_ext_corrected_volatile_normal
cxl_cmd_health_info_get_ext_corrected_volatile_warning
cxl_cmd_health_info_get_ext_life_used_critical
cxl_cmd_health_info_get_ext_life_used_normal
cxl_cmd_health_info_get_ext_life_used_warning
cxl_cmd_health_info_get_ext_temperature_critical
cxl_cmd_health_info_get_ext_temperature_normal
cxl_cmd_health_info_get_ext_temperature_warning
cxl_cmd_health_info_get_hw_replacement_needed
cxl_cmd_health_info_get_life_used
cxl_cmd_health_info_get_maintenance_needed
cxl_cmd_health_info_get_media_data_loss_imminent
cxl_cmd_health_info_get_media_data_lost
cxl_cmd_health_info_get_media_normal
cxl_cmd_health_info_get_media_not_ready
cxl_cmd_health_info_get_media_persistence_loss_imminent
cxl_cmd_health_info_get_media_persistence_lost
cxl_cmd_health_info_get_media_powerloss_data_loss
cxl_cmd_health_info_get_media_powerloss_persistence_loss
cxl_cmd_health_info_get_media_shutdown_data_loss
cxl_cmd_health_info_get_media_shutdown_persistence_loss
cxl_cmd_health_info_get_performance_degraded
cxl_cmd_health_info_get_pmem_errors
cxl_cmd_health_info_get_temperature
cxl_cmd_health_info_get_volatile_errors
cxl_cmd_identify_get_fw_rev
cxl_cmd_identify_get_label_size
cxl_cmd_identify_get_partition_align
cxl_cmd_new_get_health_info
cxl_cmd_new_identify
cxl_cmd_new_raw
cxl_cmd_new_read_label
cxl_cmd_new_write_label
cxl_cmd_read_label_get_payload
cxl_cmd_ref
cxl_cmd_set_input_payload
cxl_cmd_set_output_payload
cxl_cmd_submit
cxl_cmd_unref
cxl_get_log_priority
cxl_get_private_data
cxl_get_userdata
cxl_memdev_get_ctx
cxl_memdev_get_devname
cxl_memdev_get_firmware_verison
cxl_memdev_get_first
cxl_memdev_get_id
cxl_memdev_get_label_size
cxl_memdev_get_major
cxl_memdev_get_minor
cxl_memdev_get_next
cxl_memdev_get_pmem_size
cxl_memdev_get_ram_size
cxl_memdev_nvdimm_bridge_active
cxl_memdev_read_label
cxl_memdev_write_label
cxl_memdev_zero_label
cxl_new
cxl_ref
cxl_set_log_fn
cxl_set_log_priority
cxl_set_private_data
cxl_set_userdata
cxl_unref