diff options
author | Ira Weiny <ira.weiny@intel.com> | 2023-02-15 05:12:45 +0100 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2023-02-16 23:29:11 +0100 |
commit | 279676c9aa5e5f11377dddfdecfd22df526ee9b8 (patch) | |
tree | 33660e60d7bd95ba7d0f0733fbd319cf2a2d16a5 /drivers | |
parent | cxl/trace: Add host output to trace points (diff) | |
download | linux-279676c9aa5e5f11377dddfdecfd22df526ee9b8.tar.xz linux-279676c9aa5e5f11377dddfdecfd22df526ee9b8.zip |
cxl/trace: Add serial number to trace points
Device serial numbers are useful information for the user.
Add device serial numbers to all the trace points.
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Link: https://lore.kernel.org/r/20230208-cxl-event-names-v2-3-fca130c2c68b@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/cxl/core/trace.h | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/drivers/cxl/core/trace.h b/drivers/cxl/core/trace.h index ed69e558187b..9b8d3d997834 100644 --- a/drivers/cxl/core/trace.h +++ b/drivers/cxl/core/trace.h @@ -52,6 +52,7 @@ TRACE_EVENT(cxl_aer_uncorrectable_error, TP_STRUCT__entry( __string(memdev, dev_name(&cxlmd->dev)) __string(host, dev_name(cxlmd->dev.parent)) + __field(u64, serial) __field(u32, status) __field(u32, first_error) __array(u32, header_log, CXL_HEADERLOG_SIZE_U32) @@ -59,6 +60,7 @@ TRACE_EVENT(cxl_aer_uncorrectable_error, TP_fast_assign( __assign_str(memdev, dev_name(&cxlmd->dev)); __assign_str(host, dev_name(cxlmd->dev.parent)); + __entry->serial = cxlmd->cxlds->serial; __entry->status = status; __entry->first_error = fe; /* @@ -67,8 +69,8 @@ TRACE_EVENT(cxl_aer_uncorrectable_error, */ memcpy(__entry->header_log, hl, CXL_HEADERLOG_SIZE); ), - TP_printk("memdev=%s host=%s: status: '%s' first_error: '%s'", - __get_str(memdev), __get_str(host), + TP_printk("memdev=%s host=%s serial=%lld: status: '%s' first_error: '%s'", + __get_str(memdev), __get_str(host), __entry->serial, show_uc_errs(__entry->status), show_uc_errs(__entry->first_error) ) @@ -98,15 +100,17 @@ TRACE_EVENT(cxl_aer_correctable_error, TP_STRUCT__entry( __string(memdev, dev_name(&cxlmd->dev)) __string(host, dev_name(cxlmd->dev.parent)) + __field(u64, serial) __field(u32, status) ), TP_fast_assign( __assign_str(memdev, dev_name(&cxlmd->dev)); __assign_str(host, dev_name(cxlmd->dev.parent)); + __entry->serial = cxlmd->cxlds->serial; __entry->status = status; ), - TP_printk("memdev=%s host=%s: status: '%s'", - __get_str(memdev), __get_str(host), + TP_printk("memdev=%s host=%s serial=%lld: status: '%s'", + __get_str(memdev), __get_str(host), __entry->serial, show_ce_errs(__entry->status) ) ); @@ -129,6 +133,7 @@ TRACE_EVENT(cxl_overflow, __string(memdev, dev_name(&cxlmd->dev)) __string(host, dev_name(cxlmd->dev.parent)) __field(int, log) + __field(u64, serial) __field(u64, first_ts) __field(u64, last_ts) __field(u16, count) @@ -137,14 +142,15 @@ TRACE_EVENT(cxl_overflow, TP_fast_assign( __assign_str(memdev, dev_name(&cxlmd->dev)); __assign_str(host, dev_name(cxlmd->dev.parent)); + __entry->serial = cxlmd->cxlds->serial; __entry->log = log; __entry->count = le16_to_cpu(payload->overflow_err_count); __entry->first_ts = le64_to_cpu(payload->first_overflow_timestamp); __entry->last_ts = le64_to_cpu(payload->last_overflow_timestamp); ), - TP_printk("memdev=%s host=%s: log=%s : %u records from %llu to %llu", - __get_str(memdev), __get_str(host), + TP_printk("memdev=%s host=%s serial=%lld: log=%s : %u records from %llu to %llu", + __get_str(memdev), __get_str(host), __entry->serial, cxl_event_log_type_str(__entry->log), __entry->count, __entry->first_ts, __entry->last_ts) @@ -182,6 +188,7 @@ TRACE_EVENT(cxl_overflow, __string(host, dev_name(cxlmd->dev.parent)) \ __field(int, log) \ __field_struct(uuid_t, hdr_uuid) \ + __field(u64, serial) \ __field(u32, hdr_flags) \ __field(u16, hdr_handle) \ __field(u16, hdr_related_handle) \ @@ -193,6 +200,7 @@ TRACE_EVENT(cxl_overflow, __assign_str(memdev, dev_name(&(cxlmd)->dev)); \ __assign_str(host, dev_name((cxlmd)->dev.parent)); \ __entry->log = (l); \ + __entry->serial = (cxlmd)->cxlds->serial; \ memcpy(&__entry->hdr_uuid, &(hdr).id, sizeof(uuid_t)); \ __entry->hdr_length = (hdr).length; \ __entry->hdr_flags = get_unaligned_le24((hdr).flags); \ @@ -202,10 +210,10 @@ TRACE_EVENT(cxl_overflow, __entry->hdr_maint_op_class = (hdr).maint_op_class #define CXL_EVT_TP_printk(fmt, ...) \ - TP_printk("memdev=%s host=%s log=%s : time=%llu uuid=%pUb len=%d " \ - "flags='%s' handle=%x related_handle=%x maint_op_class=%u" \ - " : " fmt, \ - __get_str(memdev), __get_str(host), \ + TP_printk("memdev=%s host=%s serial=%lld log=%s : time=%llu uuid=%pUb " \ + "len=%d flags='%s' handle=%x related_handle=%x " \ + "maint_op_class=%u : " fmt, \ + __get_str(memdev), __get_str(host), __entry->serial, \ cxl_event_log_type_str(__entry->log), \ __entry->hdr_timestamp, &__entry->hdr_uuid, __entry->hdr_length,\ show_hdr_flags(__entry->hdr_flags), __entry->hdr_handle, \ |