Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cxl/event_trace: parse arrays separately from strings
Arrays are being parsed as strings based on a flag that seems like it would be the differentiator, ARRAY and STRING, but it is not. libtraceevent sets the flags for arrays and strings like this: array: TEP_FIELD_IS_[ARRAY | STRING] string: TEP_FIELD_IS_[ARRAY | STRING | DYNAMIC] Use TEP_FIELD_IS_DYNAMIC to discover the field type, otherwise arrays get parsed as strings and 'cxl monitor' returns gobbledygook in the array type fields. This fixes the "data" field of cxl_generic_events and the "uuid" field of cxl_poison. That cxl_poison uuid format can be further improved by using the trace type (__field_struct uuid_t) in the CXL kernel driver. The parser will automatically pick up that new type, as illustrated in the "hdr_uuid" of cxl_generic_media event trace above. Signed-off-by: Alison Schofield <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Dave Jiang <[email protected]> Signed-off-by: Vishal Verma <[email protected]>
- Loading branch information