lkml.org 
[lkml]   [2024]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 2/2] tracing: Include Microcode Revision in mce_record tracepoint
    Date
    Currently, the microcode field (Microcode Revision) of struct mce is not
    exported to userspace through the mce_record tracepoint.

    Knowing the microcode version on which the MCE was received is critical
    information for debugging. If the version is not recorded, later attempts
    to acquire the version might result in discrepancies since it can be
    changed at runtime.

    Export microcode version through the tracepoint to prevent ambiguity over
    the active version on the system when the MCE was received.

    Signed-off-by: Avadhut Naik <avadhut.naik@amd.com>
    Reviewed-by: Sohil Mehta <sohil.mehta@intel.com>
    Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    ---
    include/trace/events/mce.h | 7 +++++--
    1 file changed, 5 insertions(+), 2 deletions(-)

    diff --git a/include/trace/events/mce.h b/include/trace/events/mce.h
    index 959ba7b775b1..69438550252c 100644
    --- a/include/trace/events/mce.h
    +++ b/include/trace/events/mce.h
    @@ -42,6 +42,7 @@ TRACE_EVENT(mce_record,
    __field( u8, cs )
    __field( u8, bank )
    __field( u8, cpuvendor )
    + __field( u32, microcode )
    ),

    TP_fast_assign(
    @@ -63,9 +64,10 @@ TRACE_EVENT(mce_record,
    __entry->cs = m->cs;
    __entry->bank = m->bank;
    __entry->cpuvendor = m->cpuvendor;
    + __entry->microcode = m->microcode;
    ),

    - TP_printk("CPU: %d, MCGc/s: %llx/%llx, MC%d: %016Lx, IPID: %016Lx, ADDR/MISC/SYND: %016Lx/%016Lx/%016Lx, RIP: %02x:<%016Lx>, TSC: %llx, PPIN: %llx, PROCESSOR: %u:%x, TIME: %llu, SOCKET: %u, APIC: %x",
    + TP_printk("CPU: %d, MCGc/s: %llx/%llx, MC%d: %016Lx, IPID: %016Lx, ADDR/MISC/SYND: %016Lx/%016Lx/%016Lx, RIP: %02x:<%016Lx>, TSC: %llx, PPIN: %llx, PROCESSOR: %u:%x, TIME: %llu, SOCKET: %u, APIC: %x, MICROCODE REVISION: %x",
    __entry->cpu,
    __entry->mcgcap, __entry->mcgstatus,
    __entry->bank, __entry->status,
    @@ -77,7 +79,8 @@ TRACE_EVENT(mce_record,
    __entry->cpuvendor, __entry->cpuid,
    __entry->walltime,
    __entry->socketid,
    - __entry->apicid)
    + __entry->apicid,
    + __entry->microcode)
    );

    #endif /* _TRACE_MCE_H */
    --
    2.34.1

    \
     
     \ /
      Last update: 2024-05-27 16:12    [W:4.128 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site