diff options
author | Steve Scargall <37674041+sscargal@users.noreply.github.com> | 2023-05-26 20:38:13 -0400 |
---|---|---|
committer | Jake Hunsaker <jhunsake@redhat.com> | 2023-06-06 09:16:19 -0400 |
commit | 46e64d458dd38eabc4f3a44a72de6e5c107feef9 (patch) | |
tree | 66826a5509dad44318ae05e59c316e1b6bf3362d | |
parent | 96d3553ea86f95c2f8225bdcb978df731b1d69bc (diff) | |
download | sos-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.py | 46 |
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 : |