@@ -181,6 +181,7 @@ TRACE_EVENT(cxl_overflow,
181181 * 1) Add CXL_EVT_TP_entry to TP_STRUCT__entry
182182 * 2) Use CXL_EVT_TP_fast_assign within TP_fast_assign;
183183 * pass the dev, log, and CXL event header
184+ * NOTE: The uuid must be assigned by the specific trace event
184185 * 3) Use CXL_EVT_TP_printk() instead of TP_printk()
185186 *
186187 * See the generic_event tracepoint as an example.
@@ -198,12 +199,11 @@ TRACE_EVENT(cxl_overflow,
198199 __field(u8, hdr_length) \
199200 __field(u8, hdr_maint_op_class)
200201
201- #define CXL_EVT_TP_fast_assign (cxlmd , l , uuid , hdr ) \
202+ #define CXL_EVT_TP_fast_assign (cxlmd , l , hdr ) \
202203 __assign_str(memdev, dev_name(&(cxlmd)->dev)); \
203204 __assign_str(host, dev_name((cxlmd)->dev.parent)); \
204205 __entry->log = (l); \
205206 __entry->serial = (cxlmd)->cxlds->serial; \
206- memcpy(&__entry->hdr_uuid, (uuid), sizeof(uuid_t)); \
207207 __entry->hdr_length = (hdr).length; \
208208 __entry->hdr_flags = get_unaligned_le24((hdr).flags); \
209209 __entry->hdr_handle = le16_to_cpu((hdr).handle); \
@@ -235,7 +235,8 @@ TRACE_EVENT(cxl_generic_event,
235235 ),
236236
237237 TP_fast_assign (
238- CXL_EVT_TP_fast_assign (cxlmd , log , uuid , rec -> hdr );
238+ CXL_EVT_TP_fast_assign (cxlmd , log , rec -> hdr );
239+ memcpy (& __entry -> hdr_uuid , uuid , sizeof (uuid_t ));
239240 memcpy (__entry -> data , & rec -> data , CXL_EVENT_RECORD_DATA_LENGTH );
240241 ),
241242
@@ -315,9 +316,9 @@ TRACE_EVENT(cxl_generic_event,
315316TRACE_EVENT (cxl_general_media ,
316317
317318 TP_PROTO (const struct cxl_memdev * cxlmd , enum cxl_event_log_type log ,
318- const uuid_t * uuid , struct cxl_event_gen_media * rec ),
319+ struct cxl_event_gen_media * rec ),
319320
320- TP_ARGS (cxlmd , log , uuid , rec ),
321+ TP_ARGS (cxlmd , log , rec ),
321322
322323 TP_STRUCT__entry (
323324 CXL_EVT_TP_entry
@@ -336,7 +337,8 @@ TRACE_EVENT(cxl_general_media,
336337 ),
337338
338339 TP_fast_assign (
339- CXL_EVT_TP_fast_assign (cxlmd , log , uuid , rec -> hdr );
340+ CXL_EVT_TP_fast_assign (cxlmd , log , rec -> hdr );
341+ memcpy (& __entry -> hdr_uuid , & CXL_EVENT_GEN_MEDIA_UUID , sizeof (uuid_t ));
340342
341343 /* General Media */
342344 __entry -> dpa = le64_to_cpu (rec -> phys_addr );
@@ -398,9 +400,9 @@ TRACE_EVENT(cxl_general_media,
398400TRACE_EVENT (cxl_dram ,
399401
400402 TP_PROTO (const struct cxl_memdev * cxlmd , enum cxl_event_log_type log ,
401- const uuid_t * uuid , struct cxl_event_dram * rec ),
403+ struct cxl_event_dram * rec ),
402404
403- TP_ARGS (cxlmd , log , uuid , rec ),
405+ TP_ARGS (cxlmd , log , rec ),
404406
405407 TP_STRUCT__entry (
406408 CXL_EVT_TP_entry
@@ -422,7 +424,8 @@ TRACE_EVENT(cxl_dram,
422424 ),
423425
424426 TP_fast_assign (
425- CXL_EVT_TP_fast_assign (cxlmd , log , uuid , rec -> hdr );
427+ CXL_EVT_TP_fast_assign (cxlmd , log , rec -> hdr );
428+ memcpy (& __entry -> hdr_uuid , & CXL_EVENT_DRAM_UUID , sizeof (uuid_t ));
426429
427430 /* DRAM */
428431 __entry -> dpa = le64_to_cpu (rec -> phys_addr );
@@ -547,9 +550,9 @@ TRACE_EVENT(cxl_dram,
547550TRACE_EVENT (cxl_memory_module ,
548551
549552 TP_PROTO (const struct cxl_memdev * cxlmd , enum cxl_event_log_type log ,
550- const uuid_t * uuid , struct cxl_event_mem_module * rec ),
553+ struct cxl_event_mem_module * rec ),
551554
552- TP_ARGS (cxlmd , log , uuid , rec ),
555+ TP_ARGS (cxlmd , log , rec ),
553556
554557 TP_STRUCT__entry (
555558 CXL_EVT_TP_entry
@@ -569,7 +572,8 @@ TRACE_EVENT(cxl_memory_module,
569572 ),
570573
571574 TP_fast_assign (
572- CXL_EVT_TP_fast_assign (cxlmd , log , uuid , rec -> hdr );
575+ CXL_EVT_TP_fast_assign (cxlmd , log , rec -> hdr );
576+ memcpy (& __entry -> hdr_uuid , & CXL_EVENT_MEM_MODULE_UUID , sizeof (uuid_t ));
573577
574578 /* Memory Module Event */
575579 __entry -> event_type = rec -> event_type ;
0 commit comments