Re: [PATCH v6 0/6] Update Event Records to CXL spec rev 3.1

From: Dave Jiang
Date: Mon Jan 13 2025 - 11:55:30 EST




On 1/11/25 2:17 AM, shiju.jose@xxxxxxxxxx wrote:
> From: Shiju Jose <shiju.jose@xxxxxxxxxx>
>
> 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:
> V5 -> V6
> 1. Modified for feedbacks from Ira Weiny.
> - Reordered new fields added in trace events cxl_general_media,
> cxl_dram and (cxl_memory_module to pack the records.
> - Added a suggested note in the patch description of patch
> cxl/events: Add Component Identifier formatting for CXL spec rev 3.1
>
> 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, in which cxl.git/next is based.
> 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 | 259 +++++++++++++++++++++++++++++------
> include/cxl/event.h | 28 ++--
> tools/testing/cxl/test/mem.c | 23 +++-
> 3 files changed, 257 insertions(+), 53 deletions(-)
>

Applied to next