All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/10] cxl: CXL Inject & Clear Poison
@ 2023-04-19  3:26 alison.schofield
  2023-04-19  3:26 ` [PATCH v6 01/10] cxl/memdev: Add support for the Inject Poison mailbox command alison.schofield
                   ` (10 more replies)
  0 siblings, 11 replies; 16+ messages in thread
From: alison.schofield @ 2023-04-19  3:26 UTC (permalink / raw)
  To: Dan Williams, Ira Weiny, Vishal Verma, Ben Widawsky, Dave Jiang
  Cc: Alison Schofield, linux-cxl

From: Alison Schofield <alison.schofield@intel.com>

Built on cxl/next plus [PATCH v13 0/9] CXL Poison List Retrieval & Tracing
https://lore.kernel.org/linux-cxl/cover.1681838291.git.alison.schofield@intel.com/

Changes in v6:
- Drop patches: The deprecate, and the removal of raw access, introduced
  for all poison commands in v13 of CXL Poison List Retrieval & Tracing,
  made these 2 patches obsolete:
	cxl/memdev: Make inject and clear poison cmds kernel exclusive
	cxl/mbox: Block inject and clear poison opcodes in raw mode

- The device always writes the write data on Clear, regardless of whether or
  not the address is actually poisoned. Stop stating otherwise. (Jonathan)
- Update Patch 1 commit message to refer to CXL.mem driver (DaveJ)
- __cxl_dpa_to_region() Stop the walk on a match (Jonathan)
- Set & use cxlds->poison.enabled_cmds for inject & clear
- Simplify inject payload address assignment (DaveJ)
- Use down_read_interruptible in inject/clear 
- Tidy up the memdev core api for inject/clear by using cxl_memdev
- Use the available cxl_memdev rather than dev in debugfs_create_file()

Link to v5:
https://lore.kernel.org/linux-cxl/cover.1679892337.git.alison.schofield@intel.com/


Introducing Inject and Clear Poison support for CXL Devices.

These are optional commands, meaning not all CXL devices must support
them. The debugfs attributes, inject_poison and clear_poison, are only
visible for devices reporting support of the capability.

Example:
# echo 0x40000000 > /sys/kernel/debug/cxl/mem1/inject_poison

cxl_poison: memdev=mem1 pcidev=cxl_mem.1 trace_type=Inject region= region_uuid=00000000-0000-0000-0000-000000000000 hpa=0xffffffffffffffff dpa=0x40000000 dpa_length=0x40 source=Unknown flags= overflow_time=0

Example in which the injected poison landed in region5:
# echo 0x40000000 > /sys/kernel/debug/cxl/mem0/inject_poison

cxl_poison: memdev=mem0 host=cxl_mem.0 serial=0 trace_type=Inject region=region5 region_uuid=cfcfc13a-5290-4983-aa74-4c8465c25f26 hpa=0xf110000000 dpa=0x40000000 dpa_length=0x40 source=Unknown flags= overflow_time=0


Alison Schofield (10):
  cxl/memdev: Add support for the Inject Poison mailbox command
  cxl/memdev: Add support for the Clear Poison mailbox command
  cxl/memdev: Warn of poison inject or clear to a mapped region
  cxl/memdev: Trace inject and clear poison as cxl_poison events
  cxl/mem: Add debugfs attributes for poison inject and clear
  tools/testing/cxl: Mock the Inject Poison mailbox command
  tools/testing/cxl: Mock the Clear Poison mailbox command
  tools/testing/cxl: Use injected poison for get poison list
  tools/testing/cxl: Add a sysfs attr to test poison inject limits
  tools/testing/cxl: Require CONFIG_DEBUG_FS

 Documentation/ABI/testing/debugfs-cxl |  35 +++++
 drivers/cxl/core/core.h               |   2 +
 drivers/cxl/core/memdev.c             | 172 ++++++++++++++++++++
 drivers/cxl/core/trace.h              |   8 +-
 drivers/cxl/cxlmem.h                  |  13 ++
 drivers/cxl/mem.c                     |  28 ++++
 tools/testing/cxl/config_check.c      |   1 +
 tools/testing/cxl/test/mem.c          | 216 +++++++++++++++++++++++---
 8 files changed, 453 insertions(+), 22 deletions(-)
 create mode 100644 Documentation/ABI/testing/debugfs-cxl

-- 
2.37.3


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-04-23 18:37 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-19  3:26 [PATCH v6 0/10] cxl: CXL Inject & Clear Poison alison.schofield
2023-04-19  3:26 ` [PATCH v6 01/10] cxl/memdev: Add support for the Inject Poison mailbox command alison.schofield
2023-04-22 21:49   ` Dan Williams
2023-04-19  3:26 ` [PATCH v6 02/10] cxl/memdev: Add support for the Clear " alison.schofield
2023-04-19  3:26 ` [PATCH v6 03/10] cxl/memdev: Warn of poison inject or clear to a mapped region alison.schofield
2023-04-23 15:35   ` Jonathan Cameron
2023-04-23 18:36     ` Dan Williams
2023-04-19  3:26 ` [PATCH v6 04/10] cxl/memdev: Trace inject and clear poison as cxl_poison events alison.schofield
2023-04-19  3:26 ` [PATCH v6 05/10] cxl/mem: Add debugfs attributes for poison inject and clear alison.schofield
2023-04-19  3:26 ` [PATCH v6 06/10] tools/testing/cxl: Mock the Inject Poison mailbox command alison.schofield
2023-04-19  3:26 ` [PATCH v6 07/10] tools/testing/cxl: Mock the Clear " alison.schofield
2023-04-19  3:26 ` [PATCH v6 08/10] tools/testing/cxl: Use injected poison for get poison list alison.schofield
2023-04-22 22:03   ` Dan Williams
2023-04-19  3:26 ` [PATCH v6 09/10] tools/testing/cxl: Add a sysfs attr to test poison inject limits alison.schofield
2023-04-19  3:26 ` [PATCH v6 10/10] tools/testing/cxl: Require CONFIG_DEBUG_FS alison.schofield
2023-04-23 15:42 ` [PATCH v6 0/10] cxl: CXL Inject & Clear Poison Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.