[PATCH v5 0/6] Update Event Records to CXL spec rev 3.1

shiju.jose
2025-01-10T11:56:15Z

From: Shiju Jose <shiju.jose@huawei.com>

Add updates in the CXL events records and CXL trace events implementations
for the changes in CXL spec rev 3.1.

Shiju Jose (6):
cxl/events: Update Common Event Record to CXL spec rev 3.1
cxl/events: Add Component Identifier formatting for CXL spec rev 3.1
cxl/events: Update General Media Event Record to CXL spec rev 3.1
cxl/events: Update DRAM Event Record to CXL spec rev 3.1
cxl/events: Update Memory Module Event Record to CXL spec rev 3.1
cxl/test: Update test code for event records to CXL spec rev 3.1

Changes:
V4 -> V5
1. Reverted changes made in v4 for overcoming parsing error when
libtraceevent in userspace parses the CXL trace events, for rasdaemon.
This was due to trace event's format file is larger than PAGE_SIZE, not
supported reading complete format file in one go in the kernel and thus
fixed in the rasdaemon.
2. Rebased to v6.13-rc5.
3. Tested with rasdaemon and ras-mc-ctl tools updated for CXL spec rev 3.1
event record changes.

V3 -> V4
1. Changes for the parsing error parsing error when libtraceevent in
userspace parses the CXL trace events, for rasdaemon.
It was found that long decoded strings of field values in the TP_printk()
caused the issue, looks like due to buffer overflow/corruption.
Increasing known buffer sizes in userspace and kernel did not help.
As a solution, decoding of some fields in the TP_printk() are removed
to accommodate the new fields.
Decoding of these fields is added in the userspace tool rasdaemon.

V2 -> V3
1. Changes for the feedbacks from Jonathan.
- Added printing component Id format bit in show_valid_flags()
- Modified parsing component ID in patch [2] and added logging
of raw comp-id, comp_id_pldm_flags, PLDM entity id and
PLDM resource id in patches 3 to 4.

V1 -> V2
1. Changes for the feedbacks from Jonathan.
- Separate patch for Component Identifier formatting.
- Moved printing of event sub type after event type.
- For memory module event, rename sub_type to event_sub_type.
2. Changes for the feedbacks from Alison.
- Updated patch's subject
- Updated CXL test code for CXL spec rev 3.1 event records.
3. Changed logic for Component Identifier formatting and other improvements.

drivers/cxl/core/trace.h | 258 +++++++++++++++++++++++++++++------
include/cxl/event.h | 28 ++--
tools/testing/cxl/test/mem.c | 23 +++-
3 files changed, 256 insertions(+), 53 deletions(-)

--
2.43.0