mbox series

[NDCTL,v9,0/4] ndctl: Add support of qos_class for CXL CLI

Message ID 20240304173618.1580662-1-dave.jiang@intel.com (mailing list archive)
Headers show
Series ndctl: Add support of qos_class for CXL CLI | expand

Message

Dave Jiang March 4, 2024, 5:35 p.m. UTC
Hi Vishal,
With the QoS class series merged to the v6.8 kernel, can you please review and
apply this series to ndctl if acceptable?

v9:
- Rename cxl_region_qos_class_matches() to cxl_region_qos_class_mismatch() (Vishal)
- Rename ->qos_enforce to ->enforce_qos (Vishal)
- Rename json output qos_class_mismatched to qos_class_mismatch (Vishal)
v8:
- Move qos_class comparison to libcxl. (Vishal)
- Move check to validate_decoder(). (Vishal)
- Update test to pick decoder that will always work. (Vishal)
- Fix script style. (Vishal)
v7:
- Removed qos restriction flag entirely (Alison)
- Added check for invalid qos_class when doing json output
- Change -q to -Q (Vishal)
- Add qos_class_mismatched to region output for cxl list (Vishal)
- Add -Q test in cxl-qos-class.sh test (Vishal)
- Change verify behavior to only do qos matching with -Q (Vishal/Dan)
v6:
- Check return value of create_region_validate_qos_class() (Wonjae)
v5:
- split out test from cxl-topology.sh (Vishal)
v4:
- Update against changes in kernel from multi to single qos_class entry
- Add test in cxl-topology.sh (Dan)
- See individual patch log for details
v3:
- Rebase against latest ndctl/pending branch.

The series adds support for the kernel enabling of QoS class in the v6.8
kernel. The kernel exports a qos_class token for the root decoders (CFMWS) and as
well as for the CXL memory devices. The qos_class exported for a device is
calculated by the driver during device probe. Currently a qos_class is exported
for the volatile partition (ram) and another for the persistent partition (pmem).
In the future qos_class will be exported for DCD regions. Display of qos_class is
through the CXL CLI list command with -vvv for extra verbose.

A qos_class check as also been added for region creation. A warning is emitted
when the qos_class of a memory range of a CXL memory device being included in
the CXL region assembly does not match the qos_class of the root decoder. Options
are available to suppress the warning or to fail the region creation. This
enabling provides a guidance on flagging memory ranges being used is not
optimal for performance for the CXL region to be formed.