Messages in this thread | | | Date | Tue, 5 Jun 2012 15:07:52 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH v29] RAS: Add a tracepoint for reporting memory controller events |
| |
On Fri, Jun 01, 2012 at 12:54:44PM -0300, Mauro Carvalho Chehab wrote: > +/* > + * Default error mechanisms for Memory Controller errors (CE and UE) > + */ > +TRACE_EVENT(mc_event, > + > + TP_PROTO(const unsigned int err_type, > + const char *error_msg, > + const char *label, > + const int error_count, > + const u8 mc_index, > + const s8 top_layer, > + const s8 mid_layer, > + const s8 low_layer, > + unsigned long address, > + const u8 grain_bits, > + unsigned long syndrome, > + const char *driver_detail), > + > + TP_ARGS(err_type, error_msg, label, error_count, mc_index, > + top_layer, mid_layer, low_layer, address, grain_bits, > + syndrome, driver_detail), > + > + TP_STRUCT__entry( > + __field( unsigned int, error_type ) > + __string( msg, error_msg ) > + __string( label, label ) > + __field( u16, error_count ) > + __field( u8, mc_index ) > + __field( s8, top_layer ) > + __field( s8, middle_layer ) > + __field( s8, lower_layer ) > + __field( long, address ) > + __field( u8, grain_bits ) > + __field( long, syndrome ) > + __string( driver_detail, driver_detail ) > + ), > + > + TP_fast_assign( > + __entry->error_type = err_type; > + __assign_str(msg, error_msg); > + __assign_str(label, label); > + __entry->error_count = error_count; > + __entry->mc_index = mc_index; > + __entry->top_layer = top_layer; > + __entry->middle_layer = mid_layer; > + __entry->lower_layer = low_layer; > + __entry->address = address; > + __entry->grain_bits = grain_bits; > + __entry->syndrome = syndrome; > + __assign_str(driver_detail, driver_detail); > + ), > + > + TP_printk("%d %s error%s:%s%s on memory stick %s (mc:%d location:%d:%d:%d address:0x%08lx grain:%d syndrome:0x%08lx%s%s)",
Just a minor nitpick:
mcegen.py-3078 [019] .N.. 6815.663058: mc_event: 1 Corrected error: amd64_edac on memory stick unknown memory (mc:0 location:3:1:-1 address:0x000007ba grain:2 syndrome:0x00001809)
It says "... on memory stick unknown memory... "
Can we make the printk proto like this:
TP_printk("%d %s error%s:%s%s on %s (mc:%d location:%d:%d:%d address:0x%08lx grain:%d syndrome:0x%08lx%s%s)",
so that both
"Corrected error on DIMMx..."
and
"Corrected error on unknown memory..."
work semantically?
Thanks.
-- Regards/Gruss, Boris.
Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach GM: Alberto Bozzo Reg: Dornach, Landkreis Muenchen HRB Nr. 43632 WEEE Registernr: 129 19551
| |