From: Borislav Petkov <bp@amd64.org>
To: "Luck, Tony" <tony.luck@intel.com>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>,
Ingo Molnar <mingo@kernel.org>,
Linux Edac Mailing List <linux-edac@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Aristeu Rozanski <arozansk@redhat.com>,
Doug Thompson <norsk5@yahoo.com>,
Steven Rostedt <rostedt@goodmis.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Ingo Molnar <mingo@redhat.com>
Subject: Re: [PATCH v24b] RAS: Add a tracepoint for reporting memory controller events
Date: Sat, 19 May 2012 11:26:18 +0200 [thread overview]
Message-ID: <20120519092618.GC29991@aftab.osrc.amd.com> (raw)
In-Reply-To: <20120518211211.GA26464@aftab.osrc.amd.com>
On Fri, May 18, 2012 at 11:12:11PM +0200, Borislav Petkov wrote:
> On Fri, May 18, 2012 at 07:10:42PM +0000, Luck, Tony wrote:
> > > That's why _each_ _driver_ will have its format and the userspace tools
> > > parsing it will know about it!
> >
> > Sounds like a full employment program for parser writers.
> >
> > There are some interesting fields that should be common to all
> > drivers ... so have twenty parsers that can handle:
> >
> > paddr: 0x1234
> > PADDR: 0x1234
> > Paddr = 0x1234
> > Phys = 1234
> > addr: 0x1234
> > Address: 0x000000001234
> >
> > looks like a lot of make-work ... when the OS can standardize in the ABI
> > that there is a 64-bit binary value that is the physical address of the
> > error (and another 64-bit mask saying which, if any, bits are valid).
>
> Makes sense, I gotta say :)
>
> > So we should be looking for the set of always relevant values that
> > can be kept explicitly separate in fields in TP_PROTO, and per-driver
> > specific stuff (grain/syndrome??) bits that will have to go into the
> > "details" string and require some driver specific user-mode parsing to
> > use.
>
> How about we put all the values which are globally valid for all drivers
> in separate fields and leave the "(...)" brackets for details where each
> driver can put its own relevant stuff?
>
> For the record, I very much like this reasoning :).
On a second thought, filtering out the globally valid fields for all
drivers might require a lot of careful driver auditing.
What would be better and easier is to add those single fields to the
tracepoint which are relevant to the user (and which are more or less
globally valid for all drivers by inferrence) and leave the rest lumped
together in a single char *.
Which is basically what I'm suggesting for a couple of days now :-)
TP_PROTO(const unsigned int err_type,
const unsigned int mc_index,
const char *error_msg,
const char *label,
const char *location,
const char *detail)
and I'm really not sure about err_type - this is an edac-specific define
and it means nothing outside the kernel so its string representation
could very well could be merged with error_msg and we can drop the ( ? :
) ugliness in the tracepoint definition itself.
IOW:
TP_PROTO(const unsigned int mc_index,
const char *error_msg,
const char *label,
const char *location,
const char *detail)
Now I get all warm and cosy simply I'm staring at this :-).
Hmmm.
--
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
next prev parent reply other threads:[~2012-05-19 9:26 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-17 20:41 [PATCH v24b] RAS: Add a tracepoint for reporting memory controller events Mauro Carvalho Chehab
2012-05-17 21:48 ` Borislav Petkov
2012-05-18 7:12 ` Ingo Molnar
2012-05-18 9:56 ` Borislav Petkov
2012-05-18 10:59 ` Mauro Carvalho Chehab
2012-05-18 12:43 ` Borislav Petkov
2012-05-18 13:23 ` Mauro Carvalho Chehab
2012-05-18 14:05 ` Borislav Petkov
2012-05-18 14:31 ` Mauro Carvalho Chehab
2012-05-18 16:40 ` Borislav Petkov
2012-05-18 17:27 ` Mauro Carvalho Chehab
2012-05-18 18:52 ` Borislav Petkov
2012-05-18 19:10 ` Luck, Tony
2012-05-18 21:12 ` Borislav Petkov
2012-05-19 9:26 ` Borislav Petkov [this message]
2012-05-21 15:29 ` Mauro Carvalho Chehab
2012-05-21 16:00 ` Borislav Petkov
2012-05-21 16:40 ` Mauro Carvalho Chehab
2012-05-21 20:40 ` Borislav Petkov
2012-05-22 3:04 ` Mauro Carvalho Chehab
2012-05-22 9:28 ` Borislav Petkov
2012-05-22 10:18 ` Mauro Carvalho Chehab
2012-05-22 13:05 ` 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=20120519092618.GC29991@aftab.osrc.amd.com \
--to=bp@amd64.org \
--cc=arozansk@redhat.com \
--cc=fweisbec@gmail.com \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@redhat.com \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=norsk5@yahoo.com \
--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.