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.