On Thu, Apr 24, 2025 at 04:23:55PM -0500, Ben Cheatham wrote: > This series adds support for injecting CXL protocol (CXL.cache/mem) > errors[1] into CXL RCH Downstream ports and VH root ports[2] and > poison into CXL memory devices through the CXL debugfs. Errors are > injected using a new 'inject-error' command, while errors are reported > using a new cxl-list "-N"/"--injectable-errors" option. > > The 'inject-error' command and "-N" option of cxl-list both require > access to the CXL driver's debugfs. Because the debugfs doesn't have a > required mount point, a "--debugfs" option is added to both cxl-list and > cxl-inject-error to specify the path to the debugfs if it isn't mounted > to the usual place (/sys/kernel/debug). > > The documentation for the new cxl-inject-error command shows both usage > and the possible device/error types, as well as how to retrieve them > using cxl-list. The documentation for cxl-list has also been updated to > show the usage of the new injectable errors and debugfs options. > > [1]: ACPI v6.5 spec, section 18.6.4 > [2]: ACPI v6.5 spec, table 18.31
Hi Ben, Junkyeok Im posted a set for inject & clear poison back in 2023.[1] It went through one round of review but was a bit ahead of it's time as we were still working out the presentation of media-errors in the trigger poison patch set. I'll 'cc them here in case they have interest and can help review thi set. How come you're not interested in implementing clear-poison? [1] https://lore.kernel.org/linux-cxl/20230517032311.19923-1-junhyeok...@samsung.com/ --Alison > > Ben Cheatham (6): > libcxl: Add debugfs path to CXL context > libcxl: Add CXL protocol errors > libcxl: Add poison injection functions > cxl/list: Add debugfs option > cxl/list: Add injectable-errors option > cxl: Add inject-error command > > Documentation/cxl/cxl-inject-error.txt | 139 +++++++++++++++ > Documentation/cxl/cxl-list.txt | 39 ++++- > Documentation/cxl/meson.build | 1 + > cxl/builtin.h | 1 + > cxl/cxl.c | 1 + > cxl/filter.h | 3 + > cxl/inject-error.c | 211 +++++++++++++++++++++++ > cxl/json.c | 30 ++++ > cxl/lib/libcxl.c | 225 +++++++++++++++++++++++++ > cxl/lib/libcxl.sym | 13 ++ > cxl/lib/private.h | 14 ++ > cxl/libcxl.h | 17 ++ > cxl/list.c | 9 + > cxl/meson.build | 1 + > util/json.h | 1 + > 15 files changed, 704 insertions(+), 1 deletion(-) > create mode 100644 Documentation/cxl/cxl-inject-error.txt > create mode 100644 cxl/inject-error.c > > -- > 2.34.1 >