On 1/25/24 14:16, Dan Williams wrote:
> Dave Jiang wrote:
>> 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?
>>
>> 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.
>>
>> ---
>>
>> Dave Jiang (3):
>> ndctl: cxl: Add QoS class retrieval for the root decoder
>> ndctl: cxl: Add QoS class support for the memory device
>> ndctl: cxl: add QoS class check for CXL region creation
>>
>>
>> Documentation/cxl/cxl-create-region.txt | 9 ++++
>> cxl/filter.h | 4 ++
>> cxl/json.c | 46 ++++++++++++++++-
>> cxl/lib/libcxl.c | 62 +++++++++++++++++++++++
>> cxl/lib/libcxl.sym | 3 ++
>> cxl/lib/private.h | 3 ++
>> cxl/libcxl.h | 10 ++++
>> cxl/list.c | 1 +
>> cxl/region.c | 67 ++++++++++++++++++++++++-
>> util/json.h | 1 +
>> 10 files changed, 204 insertions(+), 2 deletions(-)
>
> This needs changes to test/cxl-topology.sh to validate that the
> qos_class file pops in the right place per and has prepopulated values
> per cxl_test expectation.
Do we need to plumb cxl_test to support qos_class with mock functions?
Currently cxl_test does not support qos_class under memdev due it not support
CDAT, HMAT/SRAT, and any of the PCIe bandwidth/latency attributes. It only has
root decoder qos_class exposed.