4747)
4848
4949TRACE_EVENT (cxl_aer_uncorrectable_error ,
50- TP_PROTO (const struct device * dev , u32 status , u32 fe , u32 * hl ),
51- TP_ARGS (dev , status , fe , hl ),
50+ TP_PROTO (const struct cxl_memdev * cxlmd , u32 status , u32 fe , u32 * hl ),
51+ TP_ARGS (cxlmd , status , fe , hl ),
5252 TP_STRUCT__entry (
53- __string (dev_name , dev_name (dev ))
53+ __string (memdev , dev_name (& cxlmd -> dev ))
54+ __string (host , dev_name (cxlmd -> dev .parent ))
55+ __field (u64 , serial )
5456 __field (u32 , status )
5557 __field (u32 , first_error )
5658 __array (u32 , header_log , CXL_HEADERLOG_SIZE_U32 )
5759 ),
5860 TP_fast_assign (
59- __assign_str (dev_name , dev_name (dev ));
61+ __assign_str (memdev , dev_name (& cxlmd -> dev ));
62+ __assign_str (host , dev_name (cxlmd -> dev .parent ));
63+ __entry -> serial = cxlmd -> cxlds -> serial ;
6064 __entry -> status = status ;
6165 __entry -> first_error = fe ;
6266 /*
@@ -65,8 +69,8 @@ TRACE_EVENT(cxl_aer_uncorrectable_error,
6569 */
6670 memcpy (__entry -> header_log , hl , CXL_HEADERLOG_SIZE );
6771 ),
68- TP_printk ("%s : status: '%s' first_error: '%s'" ,
69- __get_str (dev_name ) ,
72+ TP_printk ("memdev=%s host=%s serial=%lld : status: '%s' first_error: '%s'" ,
73+ __get_str (memdev ), __get_str ( host ), __entry -> serial ,
7074 show_uc_errs (__entry -> status ),
7175 show_uc_errs (__entry -> first_error )
7276 )
@@ -91,18 +95,23 @@ TRACE_EVENT(cxl_aer_uncorrectable_error,
9195)
9296
9397TRACE_EVENT (cxl_aer_correctable_error ,
94- TP_PROTO (const struct device * dev , u32 status ),
95- TP_ARGS (dev , status ),
98+ TP_PROTO (const struct cxl_memdev * cxlmd , u32 status ),
99+ TP_ARGS (cxlmd , status ),
96100 TP_STRUCT__entry (
97- __string (dev_name , dev_name (dev ))
101+ __string (memdev , dev_name (& cxlmd -> dev ))
102+ __string (host , dev_name (cxlmd -> dev .parent ))
103+ __field (u64 , serial )
98104 __field (u32 , status )
99105 ),
100106 TP_fast_assign (
101- __assign_str (dev_name , dev_name (dev ));
107+ __assign_str (memdev , dev_name (& cxlmd -> dev ));
108+ __assign_str (host , dev_name (cxlmd -> dev .parent ));
109+ __entry -> serial = cxlmd -> cxlds -> serial ;
102110 __entry -> status = status ;
103111 ),
104- TP_printk ("%s: status: '%s'" ,
105- __get_str (dev_name ), show_ce_errs (__entry -> status )
112+ TP_printk ("memdev=%s host=%s serial=%lld: status: '%s'" ,
113+ __get_str (memdev ), __get_str (host ), __entry -> serial ,
114+ show_ce_errs (__entry -> status )
106115 )
107116);
108117
@@ -115,30 +124,35 @@ TRACE_EVENT(cxl_aer_correctable_error,
115124
116125TRACE_EVENT (cxl_overflow ,
117126
118- TP_PROTO (const struct device * dev , enum cxl_event_log_type log ,
127+ TP_PROTO (const struct cxl_memdev * cxlmd , enum cxl_event_log_type log ,
119128 struct cxl_get_event_payload * payload ),
120129
121- TP_ARGS (dev , log , payload ),
130+ TP_ARGS (cxlmd , log , payload ),
122131
123132 TP_STRUCT__entry (
124- __string (dev_name , dev_name (dev ))
133+ __string (memdev , dev_name (& cxlmd -> dev ))
134+ __string (host , dev_name (cxlmd -> dev .parent ))
125135 __field (int , log )
136+ __field (u64 , serial )
126137 __field (u64 , first_ts )
127138 __field (u64 , last_ts )
128139 __field (u16 , count )
129140 ),
130141
131142 TP_fast_assign (
132- __assign_str (dev_name , dev_name (dev ));
143+ __assign_str (memdev , dev_name (& cxlmd -> dev ));
144+ __assign_str (host , dev_name (cxlmd -> dev .parent ));
145+ __entry -> serial = cxlmd -> cxlds -> serial ;
133146 __entry -> log = log ;
134147 __entry -> count = le16_to_cpu (payload -> overflow_err_count );
135148 __entry -> first_ts = le64_to_cpu (payload -> first_overflow_timestamp );
136149 __entry -> last_ts = le64_to_cpu (payload -> last_overflow_timestamp );
137150 ),
138151
139- TP_printk ("%s: log=%s : %u records from %llu to %llu" ,
140- __get_str (dev_name ), cxl_event_log_type_str (__entry -> log ),
141- __entry -> count , __entry -> first_ts , __entry -> last_ts )
152+ TP_printk ("memdev=%s host=%s serial=%lld: log=%s : %u records from %llu to %llu" ,
153+ __get_str (memdev ), __get_str (host ), __entry -> serial ,
154+ cxl_event_log_type_str (__entry -> log ), __entry -> count ,
155+ __entry -> first_ts , __entry -> last_ts )
142156
143157);
144158
@@ -170,19 +184,23 @@ TRACE_EVENT(cxl_overflow,
170184 * See the generic_event tracepoint as an example.
171185 */
172186#define CXL_EVT_TP_entry \
173- __string(dev_name, dev_name(dev)) \
187+ __string(memdev, dev_name(&cxlmd->dev)) \
188+ __string(host, dev_name(cxlmd->dev.parent)) \
174189 __field(int, log) \
175190 __field_struct(uuid_t, hdr_uuid) \
191+ __field(u64, serial) \
176192 __field(u32, hdr_flags) \
177193 __field(u16, hdr_handle) \
178194 __field(u16, hdr_related_handle) \
179195 __field(u64, hdr_timestamp) \
180196 __field(u8, hdr_length) \
181197 __field(u8, hdr_maint_op_class)
182198
183- #define CXL_EVT_TP_fast_assign (dev , l , hdr ) \
184- __assign_str(dev_name, dev_name(dev)); \
199+ #define CXL_EVT_TP_fast_assign (cxlmd , l , hdr ) \
200+ __assign_str(memdev, dev_name(&(cxlmd)->dev)); \
201+ __assign_str(host, dev_name((cxlmd)->dev.parent)); \
185202 __entry->log = (l); \
203+ __entry->serial = (cxlmd)->cxlds->serial; \
186204 memcpy(&__entry->hdr_uuid, &(hdr).id, sizeof(uuid_t)); \
187205 __entry->hdr_length = (hdr).length; \
188206 __entry->hdr_flags = get_unaligned_le24((hdr).flags); \
@@ -192,29 +210,30 @@ TRACE_EVENT(cxl_overflow,
192210 __entry->hdr_maint_op_class = (hdr).maint_op_class
193211
194212#define CXL_EVT_TP_printk (fmt , ...) \
195- TP_printk("%s log=%s : time=%llu uuid=%pUb len=%d flags='%s' " \
196- "handle=%x related_handle=%x maint_op_class=%u" \
197- " : " fmt, \
198- __get_str(dev_name), cxl_event_log_type_str(__entry->log), \
213+ TP_printk("memdev=%s host=%s serial=%lld log=%s : time=%llu uuid=%pUb " \
214+ "len=%d flags='%s' handle=%x related_handle=%x " \
215+ "maint_op_class=%u : " fmt, \
216+ __get_str(memdev), __get_str(host), __entry->serial, \
217+ cxl_event_log_type_str(__entry->log), \
199218 __entry->hdr_timestamp, &__entry->hdr_uuid, __entry->hdr_length,\
200219 show_hdr_flags(__entry->hdr_flags), __entry->hdr_handle, \
201220 __entry->hdr_related_handle, __entry->hdr_maint_op_class, \
202221 ##__VA_ARGS__)
203222
204223TRACE_EVENT (cxl_generic_event ,
205224
206- TP_PROTO (const struct device * dev , enum cxl_event_log_type log ,
225+ TP_PROTO (const struct cxl_memdev * cxlmd , enum cxl_event_log_type log ,
207226 struct cxl_event_record_raw * rec ),
208227
209- TP_ARGS (dev , log , rec ),
228+ TP_ARGS (cxlmd , log , rec ),
210229
211230 TP_STRUCT__entry (
212231 CXL_EVT_TP_entry
213232 __array (u8 , data , CXL_EVENT_RECORD_DATA_LENGTH )
214233 ),
215234
216235 TP_fast_assign (
217- CXL_EVT_TP_fast_assign (dev , log , rec -> hdr );
236+ CXL_EVT_TP_fast_assign (cxlmd , log , rec -> hdr );
218237 memcpy (__entry -> data , & rec -> data , CXL_EVENT_RECORD_DATA_LENGTH );
219238 ),
220239
@@ -293,10 +312,10 @@ TRACE_EVENT(cxl_generic_event,
293312
294313TRACE_EVENT (cxl_general_media ,
295314
296- TP_PROTO (const struct device * dev , enum cxl_event_log_type log ,
315+ TP_PROTO (const struct cxl_memdev * cxlmd , enum cxl_event_log_type log ,
297316 struct cxl_event_gen_media * rec ),
298317
299- TP_ARGS (dev , log , rec ),
318+ TP_ARGS (cxlmd , log , rec ),
300319
301320 TP_STRUCT__entry (
302321 CXL_EVT_TP_entry
@@ -315,7 +334,7 @@ TRACE_EVENT(cxl_general_media,
315334 ),
316335
317336 TP_fast_assign (
318- CXL_EVT_TP_fast_assign (dev , log , rec -> hdr );
337+ CXL_EVT_TP_fast_assign (cxlmd , log , rec -> hdr );
319338
320339 /* General Media */
321340 __entry -> dpa = le64_to_cpu (rec -> phys_addr );
@@ -376,10 +395,10 @@ TRACE_EVENT(cxl_general_media,
376395
377396TRACE_EVENT (cxl_dram ,
378397
379- TP_PROTO (const struct device * dev , enum cxl_event_log_type log ,
398+ TP_PROTO (const struct cxl_memdev * cxlmd , enum cxl_event_log_type log ,
380399 struct cxl_event_dram * rec ),
381400
382- TP_ARGS (dev , log , rec ),
401+ TP_ARGS (cxlmd , log , rec ),
383402
384403 TP_STRUCT__entry (
385404 CXL_EVT_TP_entry
@@ -401,7 +420,7 @@ TRACE_EVENT(cxl_dram,
401420 ),
402421
403422 TP_fast_assign (
404- CXL_EVT_TP_fast_assign (dev , log , rec -> hdr );
423+ CXL_EVT_TP_fast_assign (cxlmd , log , rec -> hdr );
405424
406425 /* DRAM */
407426 __entry -> dpa = le64_to_cpu (rec -> phys_addr );
@@ -525,10 +544,10 @@ TRACE_EVENT(cxl_dram,
525544
526545TRACE_EVENT (cxl_memory_module ,
527546
528- TP_PROTO (const struct device * dev , enum cxl_event_log_type log ,
547+ TP_PROTO (const struct cxl_memdev * cxlmd , enum cxl_event_log_type log ,
529548 struct cxl_event_mem_module * rec ),
530549
531- TP_ARGS (dev , log , rec ),
550+ TP_ARGS (cxlmd , log , rec ),
532551
533552 TP_STRUCT__entry (
534553 CXL_EVT_TP_entry
@@ -548,7 +567,7 @@ TRACE_EVENT(cxl_memory_module,
548567 ),
549568
550569 TP_fast_assign (
551- CXL_EVT_TP_fast_assign (dev , log , rec -> hdr );
570+ CXL_EVT_TP_fast_assign (cxlmd , log , rec -> hdr );
552571
553572 /* Memory Module Event */
554573 __entry -> event_type = rec -> event_type ;
0 commit comments