From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Lance Ortiz <lance.ortiz@hp.com>
Cc: bhelgaas@google.com, lance_ortiz@hotmail.com,
jiang.liu@huawei.com, tony.luck@intel.com, bp@alien8.de,
rostedt@goodmis.org, linux-acpi@vger.kernel.org,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/3] aerdrv: Trace Event for AER
Date: Sat, 1 Dec 2012 09:36:14 -0200 [thread overview]
Message-ID: <20121201093614.720aa96a@redhat.com> (raw)
In-Reply-To: <20121130213330.7649.51101.stgit@grignak.americas.hpqcorp.net>
Em Fri, 30 Nov 2012 14:33:30 -0700
Lance Ortiz <lance.ortiz@hp.com> escreveu:
> This header file will define a new trace event that will be triggered when
> a AER event occurs. The following data will be provided to the trace
> event.
>
> char * name - String containing the device path
You renamed it to dev_name. Please fix it at the commit comments.
>
> u32 status - Either the correctable or uncorrectable register
> indicating what error or errors have been see.
>
> u8 severity - error severity 0:NONFATAL 1:FATAL 2:CORRECTED
>
> The trace event will also provide a trace string that may look like:
>
> "0000:05:00.0 PCIe Bus Error:severity=Uncorrected (Non-Fatal), Poisoned
> TLP"
>
> v1-v2 Move header from include/ras/aer_event.h to
> include/trace/events/ras.h
Please don't call it as "ras.h". Call it, instead, ras_aer.h (or something
similar) as, if we're moving the tracing back to include/trace/events/,
the same should happen for the memory error events.
>
> Signed-off-by: Lance Ortiz <lance.ortiz@hp.com>
> ---
>
> include/trace/events/ras.h | 77 ++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 77 insertions(+), 0 deletions(-)
> create mode 100644 include/trace/events/ras.h
>
> diff --git a/include/trace/events/ras.h b/include/trace/events/ras.h
> new file mode 100644
> index 0000000..f77d009
> --- /dev/null
> +++ b/include/trace/events/ras.h
> @@ -0,0 +1,77 @@
> +#undef TRACE_SYSTEM
> +#define TRACE_SYSTEM aer_event
> +#define TRACE_INCLUDE_FILE ras
> +
> +#if !defined(_TRACE_AER_H) || defined(TRACE_HEADER_MULTI_READ)
> +#define _TRACE_AER_H
> +
> +#include <linux/tracepoint.h>
> +#include <linux/edac.h>
> +
> +
> +/*
> + * Anhance Error Reporting (AER) PCIE Report Error
> + *
> + * These events are generated when hardware detects a corrected or
> + * uncorrected event on a pci express device and reports
> + * errors. The event reports the following data.
> + *
> + * char * dev_name - String containing the device identification
> + * u32 status - Either the correctable or uncorrectable register
> + * indicating what error or errors have been seen
> + * u8 severity - error severity 0:NONFATAL 1:FATAL 2:CORRECTED
> + */
> +
> +#define correctable_error_string \
> + {BIT(0), "Receiver Error"}, \
> + {BIT(6), "Bad TLP"}, \
> + {BIT(7), "Bad DLLP"}, \
> + {BIT(8), "RELAY_NUM Rollover"}, \
> + {BIT(12), "Replay Timer Timeout"}, \
> + {BIT(13), "Advisory Non-Fatal"}
Hmm... isn't something missing here? I'm seeing more bits defined at the
PCIe V3.0 spec for Offset 10h:
bit 14 - Corrected Internal Error
bit 15 - Header Log Overflow
> +#define uncorrectable_error_string \
> + {BIT(4), "Data Link Protocol"}, \
> + {BIT(12), "Poisoned TLP"}, \
> + {BIT(13), "Flow Control Protocol"}, \
> + {BIT(14), "Completion Timeout"}, \
> + {BIT(15), "Completer Abort"}, \
> + {BIT(16), "Unexpected Completion"}, \
> + {BIT(17), "Receiver Overflow"}, \
> + {BIT(18), "Malformed TLP"}, \
> + {BIT(19), "ECRC"}, \
> + {BIT(20), "Unsupported Request"}
Hmm... isn't something missing here? I'm seeing more bits defined at the
PCIe V3.0 spec for Offset 04h:
bit 5 - Surprise Down Error
bit 21 - ACS Violation
bit 22 - Uncorrectable Internal Error
bit 23 - MC Blocked TLP
bit 24 - AtomicOp Egress Blocked
bit 25 - TLP Prefix Blocked Error
> +
> +TRACE_EVENT(aer_event,
> + TP_PROTO(const char *dev_name,
> + const u32 status,
> + const u8 severity),
> +
> + TP_ARGS(dev_name, status, severity),
> +
> + TP_STRUCT__entry(
> + __string( dev_name, dev_name )
> + __field( u32, status )
> + __field( u8, severity )
> + ),
> +
> + TP_fast_assign(
> + __assign_str(dev_name, dev_name);
> + __entry->status = status;
> + __entry->severity = severity;
> + ),
> +
> + TP_printk("%s PCIe Bus Error: severity=%s, %s\n",
> + __get_str(dev_name),
> + (__entry->severity == HW_EVENT_ERR_CORRECTED) ? "Corrected" :
> + ((__entry->severity == HW_EVENT_ERR_FATAL) ?
> + "Fatal" : "Uncorrected"),
> + __entry->severity == HW_EVENT_ERR_CORRECTED ?
> + __print_flags(__entry->status, "|", correctable_error_string) :
> + __print_flags(__entry->status, "|", uncorrectable_error_string))
> +);
> +
> +#endif /* _TRACE_AER_H */
> +
> +/* This part must be outside protection */
> +#include <trace/define_trace.h>
>
--
Regards,
Mauro
next prev parent reply other threads:[~2012-12-01 11:36 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-30 21:33 [PATCH v3 1/3] aerdrv: Trace Event for AER Lance Ortiz
2012-11-30 21:33 ` [PATCH v3 2/3] aerdrv: Enhanced AER logging Lance Ortiz
2012-12-01 15:51 ` Borislav Petkov
2012-12-01 16:01 ` Borislav Petkov
2012-11-30 21:33 ` [PATCH v3 3/3] aerdrv: Cleanup log output for CPER based AER Lance Ortiz
2012-12-01 15:56 ` Borislav Petkov
2012-12-01 10:55 ` [PATCH v3 1/3] aerdrv: Trace Event for AER Borislav Petkov
2012-12-01 11:36 ` Mauro Carvalho Chehab [this message]
2012-12-01 11:43 ` Borislav Petkov
2012-12-01 13:28 ` Mauro Carvalho Chehab
2012-12-03 20:01 ` Ortiz, Lance E
2012-12-03 20:27 ` Borislav Petkov
2012-12-03 21:13 ` Ortiz, Lance E
2012-12-03 21:13 ` Ortiz, Lance E
2012-12-03 21:13 ` Ortiz, Lance E
2012-12-03 21:17 ` Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121201093614.720aa96a@redhat.com \
--to=mchehab@redhat.com \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=jiang.liu@huawei.com \
--cc=lance.ortiz@hp.com \
--cc=lance_ortiz@hotmail.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.