linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: unlisted-recipients:; (no To-header on input)
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>,
	Linux Edac Mailing List <linux-edac@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [PATCH RFCv2 16/16] edac: Add an error scope logic
Date: Sat, 28 Jan 2012 13:32:51 -0200	[thread overview]
Message-ID: <1327764771-28649-17-git-send-email-mchehab@redhat.com> (raw)
In-Reply-To: <1327764771-28649-1-git-send-email-mchehab@redhat.com>

This patch is currently incomplete, but the idea here is to
change the EDAC error calls to handle a scope var, that will
be used when providing the error traces to userspace, and
to increment a per-location counter.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 include/linux/edac.h |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/include/linux/edac.h b/include/linux/edac.h
index 5876675..879116e 100644
--- a/include/linux/edac.h
+++ b/include/linux/edac.h
@@ -72,6 +72,33 @@ enum hw_event_mc_err_type {
 	HW_EVENT_ERR_FATAL,
 };
 
+/**
+ * enum hw_event_error_scope - escope of a memory error
+ * @HW_EVENT_ERR_MC:		error can be anywhere inside the MC
+ * @HW_EVENT_SCOPE_MC_BRANCH:	error can be on any DIMM inside the branch
+ * @HW_EVENT_SCOPE_MC_CHANNEL:	error can be on any DIMM inside the MC channel
+ * @HW_EVENT_SCOPE_MC_CSROW:	error can be on any DIMM inside the csrow
+ * @HW_EVENT_SCOPE_MC_DIMM:	error is on a specific DIMM
+ *
+ * Depending on the error detection algorithm, the memory topology and even
+ * the MC capabilities, some errors can't be attributed to just one DIMM, but
+ * to a group of memory sockets. Depending on where the error occurs, the
+ * EDAC core will increment the corresponding error count for that entity,
+ * and the upper entities. For example, assuming a system with 1 memory
+ * controller 2 branches, 2 MC channels and 4 DIMMS on it, if an error
+ * happens at channel 0, the error counts for channel 0, for branch 0 and
+ * for the memory controller 0 will be incremented. The DIMM error counts won't
+ * be incremented, as, in this example, the driver can't be 100% sure on what
+ * memory the error actually occurred.
+ */
+enum hw_event_error_scope {
+	HW_EVENT_SCOPE_MC,
+	HW_EVENT_SCOPE_MC_BRANCH,
+	HW_EVENT_SCOPE_MC_CHANNEL,
+	HW_EVENT_SCOPE_MC_CSROW,
+	HW_EVENT_SCOPE_MC_CSROW_CHANNEL,
+};
+
 /* memory types */
 enum mem_type {
 	MEM_EMPTY = 0,		/* Empty csrow */
-- 
1.7.8


      parent reply	other threads:[~2012-01-28 15:33 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-28 15:32 [PATCH RFCv2 00/16] This is the version 2 of the HERM patches Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 01/16] events/hw_event: Create a Hardware Events Report Mecanism (HERM) Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 02/16] events/hw_event: use __string() trace macros for events Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 03/16] hw_event: Consolidate uncorrected/corrected error msgs into one Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 04/16] drivers/edac: rename channel_info to csrow_channel_info Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 05/16] edac: Create a dimm struct and move the labels into it Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 06/16] edac_mc_sysfs: Fix error handling Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 07/16] edac: Add per dimm's sysfs nodes Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 08/16] edac: Prepare to push down to drivers the filling of the dimm_info Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 09/16] i5400_edac: Convert it to report memory with the new location Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 10/16] i7300_edac: " Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 11/16] edac: move dimm properties to struct dimm_info Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 12/16] edac: Don't initialize csrow's first_page & friends when not needed Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 13/16] edac: move nr_pages to dimm struct Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 14/16] edac: Add per-dimm sysfs show nodes Mauro Carvalho Chehab
2012-01-28 15:32 ` [PATCH RFCv2 15/16] edac: DIMM location cleanup Mauro Carvalho Chehab
2012-01-28 15:32 ` Mauro Carvalho Chehab [this message]

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=1327764771-28649-17-git-send-email-mchehab@redhat.com \
    --to=mchehab@redhat.com \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).