aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Scargall <37674041+sscargal@users.noreply.github.com>2023-05-26 20:38:13 -0400
committerJake Hunsaker <jhunsake@redhat.com>2023-06-06 09:16:19 -0400
commit46e64d458dd38eabc4f3a44a72de6e5c107feef9 (patch)
tree66826a5509dad44318ae05e59c316e1b6bf3362d
parent96d3553ea86f95c2f8225bdcb978df731b1d69bc (diff)
downloadsos-46e64d458dd38eabc4f3a44a72de6e5c107feef9.tar.gz
[cxl] Add a new Compute Express Link (CXL) plugin
Compute Express Link (CXL) is an industry-supported Cache-Coherent Interconnect for Processors, Memory Expansion, and Accelerators. The CXL Consortium (https://www.computeexpresslink.org/) is an open industry standard group formed to develop technical specifications that facilitate breakthrough performance for emerging usage models while supporting an open ecosystem for data center accelerators and other high-speed enhancements. There are currently three specifications (v1.1, 2.0, and v3.0) publicly available. CPUs are available from Intel and AMD that support CXL v1.1. Hardware is emerging that supports up to CXL v3.0. This plugin uses open-source utilities from https://github.com/pmem/ndctl that introduce new and updated commands to support CXL devices in the Linux Kernel. Signed-off-by: Steve Scargall <37674041+sscargal@users.noreply.github.com>
-rw-r--r--sos/report/plugins/cxl.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/sos/report/plugins/cxl.py b/sos/report/plugins/cxl.py
new file mode 100644
index 00000000..908a14b0
--- /dev/null
+++ b/sos/report/plugins/cxl.py
@@ -0,0 +1,46 @@
+# This file is part of the sos project: https://github.com/sosreport/sos
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions of
+# version 2 of the GNU General Public License.
+#
+# See the LICENSE file in the source distribution for further information.
+
+from sos.report.plugins import Plugin, IndependentPlugin
+
+
+class cxl(Plugin, IndependentPlugin):
+ """This plugin collects data from Compute Express Link (CXL) devices
+ """
+
+ short_desc = 'Compute Express Link (CXL)'
+ plugin_name = 'cxl'
+ profiles = ('storage', 'hardware', 'memory')
+ # Utilities can be installed by package or self compiled
+ packages = ('cxl-cli', 'daxctl')
+ commands = ('cxl', 'daxctl')
+
+ def setup(self):
+ """ Use the daxctl-list(1) command to collect disabled, devices,
+ mapping, and region information
+
+ Output is JSON formatted
+ """
+ self.add_cmd_output([
+ "daxctl version",
+ "daxctl list",
+ "daxctl list -iDRM"
+ ])
+
+ """ Use the cxl-list(1) command to collect data about
+ all CXL devices.
+
+ Output is JSON formatted
+ """
+ self.add_cmd_output([
+ "cxl version",
+ "cxl list",
+ "cxl list -vvv"
+ ])
+
+# vim: set et ts=4 sw=4 :