mbox series

[ndctl,v2,0/3] ndctl: Add support of QoS Throttling Group (QTG) id for CXL CLI

Message ID 168505076089.2768411.10498775803334230215.stgit@djiang5-mobl3 (mailing list archive)
Headers show
Series ndctl: Add support of QoS Throttling Group (QTG) id for CXL CLI | expand

Message

Dave Jiang May 25, 2023, 9:40 p.m. UTC
- Updated against changed kernel sysfs attributes.
- See individual commit logs for detailed changes.

The series adds support for the kernel enabling [1] of QoS Throttling Group
(QTG) id. The kernel exports a QTG id for the root decoders (CFMWS) and as
well as for the CXL memory devices. The QTG id exported for a device is
calculated by the driver during device probe. Currently one or more QTG ids are       
exported for the volatile partition and another for the persistent partition.       
In the future QTG id(s) will be exported for DCD regions. Display of QTG id is
through the CXL CLI list command as qos_class.

A QTG id check as also been added for region creation. A warning is emitted
when the QTG id of a memory range of a CXL memory device being included in
the CXL region assembly does not match the QTG id 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.

[1]: https://lore.kernel.org/linux-cxl/168451588868.3470703.3527256859632103687.stgit@djiang5-mobl3/T/#t  

---

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                        | 64 +++++++++++++++++++++++++
 cxl/lib/libcxl.sym                      |  6 +++
 cxl/lib/private.h                       |  3 ++
 cxl/libcxl.h                            | 10 ++++
 cxl/list.c                              |  1 +
 cxl/region.c                            | 63 +++++++++++++++++++++++-
 util/json.h                             |  1 +
 10 files changed, 205 insertions(+), 2 deletions(-)

--
Signature