Documentation/ABI/testing/debugfs-cxl

Source file repositories/reference/linux-study-clean/Documentation/ABI/testing/debugfs-cxl

File Facts

System
Linux kernel
Corpus path
Documentation/ABI/testing/debugfs-cxl
Extension
[no extension]
Size
7003 bytes
Lines
158
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: Documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

What:		/sys/kernel/debug/cxl/memX/inject_poison
Date:		April, 2023
KernelVersion:	v6.4
Contact:	linux-cxl@vger.kernel.org
Description:
		(WO) When a Device Physical Address (DPA) is written to this
		attribute, the memdev driver sends an inject poison command to
		the device for the specified address. The DPA must be 64-byte
		aligned and the length of the injected poison is 64-bytes. If
		successful, the device returns poison when the address is
		accessed through the CXL.mem bus. Injecting poison adds the
		address to the device's Poison List and the error source is set
		to Injected. In addition, the device adds a poison creation
		event to its internal Informational Event log, updates the
		Event Status register, and if configured, interrupts the host.
		It is not an error to inject poison into an address that
		already has poison present and no error is returned. If the
		device returns 'Inject Poison Limit Reached' an -EBUSY error
		is returned to the user. The inject_poison attribute is only
		visible for devices supporting the capability.

		TEST-ONLY INTERFACE: This interface is intended for testing
		and validation purposes only. It is not a data repair mechanism
		and should never be used on production systems or live data.

		DATA LOSS RISK: For CXL persistent memory (PMEM) devices,
		poison injection can result in permanent data loss. Injected
		poison may render data permanently inaccessible even after
		clearing, as the clear operation writes zeros and does not
		recover original data.

		SYSTEM STABILITY RISK: For volatile memory, poison injection
		can cause kernel crashes, system instability, or unpredictable
		behavior if the poisoned addresses are accessed by running code
		or critical kernel structures.

What:		/sys/kernel/debug/cxl/memX/clear_poison
Date:		April, 2023
KernelVersion:	v6.4
Contact:	linux-cxl@vger.kernel.org
Description:
		(WO) When a Device Physical Address (DPA) is written to this
		attribute, the memdev driver sends a clear poison command to
		the device for the specified address. Clearing poison removes
		the address from the device's Poison List and writes 0 (zero)
		for 64 bytes starting at address. It is not an error to clear
		poison from an address that does not have poison set. If the
		device cannot clear poison from the address, -ENXIO is returned.
		The clear_poison attribute is only visible for devices
		supporting the capability.

		TEST-ONLY INTERFACE: This interface is intended for testing
		and validation purposes only. It is not a data repair mechanism
		and should never be used on production systems or live data.

		CLEAR IS NOT DATA RECOVERY: This operation writes zeros to the
		specified address range and removes the address from the poison
		list. It does NOT recover or restore original data that may have
		been present before poison injection. Any original data at the
		cleared address is permanently lost and replaced with zeros.

		CLEAR IS NOT A REPAIR MECHANISM: This interface is for testing
		purposes only and should not be used as a data repair tool.
		Clearing poison is fundamentally different from data recovery
		or error correction.

What:		/sys/kernel/debug/cxl/regionX/inject_poison
Date:		August, 2025
Contact:	linux-cxl@vger.kernel.org
Description:

Annotation

Implementation Notes