From: Andi Kleen <andi@firstfloor.org>
To: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>, Ingo Molnar <mingo@elte.hu>,
Borislav Petkov <petkovbb@googlemail.com>,
mingo@redhat.com, hpa@zytor.com, linux-kernel@vger.kernel.org,
tglx@linutronix.de, Andreas Herrmann <andreas.herrmann3@amd.com>,
Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>,
linux-tip-commits@vger.kernel.org,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Fr??d??ric Weisbecker <fweisbec@gmail.com>,
Aristeu Rozanski <aris@redhat.com>,
Doug Thompson <norsk5@yahoo.com>,
Huang Ying <ying.huang@intel.com>,
Arjan van de Ven <arjan@infradead.org>
Subject: Re: [tip:x86/mce] x86, mce: Rename cpu_specific_poll to mce_cpu_specific_poll
Date: Wed, 27 Jan 2010 17:36:52 +0100 [thread overview]
Message-ID: <20100127163651.GF12522@basil.fritz.box> (raw)
In-Reply-To: <4B605617.6050006@redhat.com>
On Wed, Jan 27, 2010 at 01:04:55PM -0200, Mauro Carvalho Chehab wrote:
> I haven't the datasheets for 75xx, so I can't say for sure if it would be better to
> use the same driver or to fork it.
You can't use the same driver.
> Well, the error parsing can be done in kernel space in a standard way provided
> by the edac interface.
>
> I don't see why not the mcelog userspace shouldn't use the EDAC interface as one
> of its source, getting memory errors from it, avoiding the need of re-parsing
> the errors.
The errors are just numbers which are printed. If you mean with "parsing"
splitting up the bitfields that's not really an too interesting case.
Essentially to get terminology clear, for corrected errors there are multiple
steps: (uncorrected errors are quite different)
1) Getting the error from hardware registers
2) Accounting them
3) Presenting them to users
4) Reacting to events
which can be separated in
4a) protocol to communicate with event handler
4a1) interface to wake up event handler
4a2) communication
4b) event handler itself
Some parts of these need to be in kernel space: but that's
pretty much only (1)
Some parts of these need to be in user space: in particular
4b) and (3) for any non trivial presentation (the kernel can
do some very limited one, but it's not good at anything non trivial
here)
4b needs to be in user space, it's deep policies and most interesting
advanced reactions to errors cannot be done in kernel space alone.
i7core does (1), some of (2) but not complete and 4a)
I don't really count EDAC as (3) because fishing the numbers out of
sysfs by hand is not user friendly. In EDAC that's typically done
with the EDAC utils, which are user space.
EDAC doesn't really solve 4a1) unless you could "written a syslog scanner"
in it.
The xeon75xx mce driver only does (1) and uses the standard
MCE event passing mechanism (4a) to pass it to mcelog.
mcelog just does the other parts, most of which have to be in user space
anyways.
The only thing you could probably argue is if it should do accounting
or not. Right now it does it and EDAC does it too. At least
for advanced accounting (per page) where you can have a lot of
data (can be larger than a struct page per 4K page)
I personally prefer that to be swappable.
Hope this helps,
-Andi
--
ak@linux.intel.com -- Speaking for myself only.
next prev parent reply other threads:[~2010-01-27 16:36 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-21 22:17 [PATCH] x86: mce: Xeon75xx specific interface to get corrected memory error information Andi Kleen
2010-01-22 10:51 ` [tip:x86/mce] x86, " tip-bot for Andi Kleen
2010-01-22 10:51 ` [tip:x86/mce] x86, mce: Rename cpu_specific_poll to mce_cpu_specific_poll tip-bot for H. Peter Anvin
2010-01-23 5:17 ` Ingo Molnar
2010-01-23 7:58 ` Borislav Petkov
2010-01-23 9:00 ` Ingo Molnar
2010-01-24 10:08 ` Borislav Petkov
2010-01-25 13:19 ` Andi Kleen
2010-01-26 6:33 ` Borislav Petkov
2010-01-26 9:06 ` Hidetoshi Seto
2010-01-26 16:09 ` Andi Kleen
2010-01-26 15:36 ` Andi Kleen
2010-02-16 21:02 ` Ingo Molnar
2010-02-22 8:28 ` Borislav Petkov
2010-02-22 9:47 ` Ingo Molnar
2010-02-22 11:59 ` Mauro Carvalho Chehab
2010-02-24 17:42 ` Mauro Carvalho Chehab
2010-02-24 20:28 ` Andi Kleen
2010-01-27 12:34 ` Mauro Carvalho Chehab
2010-01-27 14:39 ` Andi Kleen
2010-01-27 15:04 ` Mauro Carvalho Chehab
2010-01-27 16:36 ` Andi Kleen [this message]
2010-01-23 11:33 ` Andi Kleen
2010-02-05 23:31 ` [tip:x86/mce] x86, mce: Make xeon75xx memory driver dependent on PCI tip-bot for Andi Kleen
2010-02-16 20:47 ` Ingo Molnar
2010-02-16 22:29 ` Andi Kleen
2010-02-19 10:50 ` Thomas Gleixner
2010-02-19 12:17 ` Andi Kleen
2010-02-19 12:45 ` Borislav Petkov
2010-02-19 13:21 ` Andi Kleen
2010-02-19 15:17 ` Mauro Carvalho Chehab
2010-02-19 15:37 ` Andi Kleen
2010-02-20 0:14 ` Mauro Carvalho Chehab
2010-02-20 9:01 ` Andi Kleen
2010-02-19 15:46 ` Thomas Gleixner
2010-02-22 7:38 ` Hidetoshi Seto
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=20100127163651.GF12522@basil.fritz.box \
--to=andi@firstfloor.org \
--cc=a.p.zijlstra@chello.nl \
--cc=andreas.herrmann3@amd.com \
--cc=aris@redhat.com \
--cc=arjan@infradead.org \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mchehab@redhat.com \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=norsk5@yahoo.com \
--cc=petkovbb@googlemail.com \
--cc=seto.hidetoshi@jp.fujitsu.com \
--cc=tglx@linutronix.de \
--cc=ying.huang@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 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).