From: Andi Kleen <andi@firstfloor.org>
To: Doug Thompson <norsk5@yahoo.com>
Cc: Alan <alan@lxorguk.ukuu.org.uk>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org
Subject: Re: -mm merge plans for 2.6.21
Date: Mon, 12 Feb 2007 22:46:38 +0100 [thread overview]
Message-ID: <200702122246.38703.andi@firstfloor.org> (raw)
In-Reply-To: <484858.10028.qm@web50102.mail.yahoo.com>
> I am currently developing enhancements to EDAC that provide for L1, L2,
> etc cache ECC event harvesting,
mce.c + mcelog do that already for all x86-64 cpus because
that's all reported as standard x86 machine checks.
> DMA ECC event harvest, interconnect
> harvesting, and other chipset/processing ECC event harvesting. Some
> events are polled others are software interupt delivered. This is on an
> arch OTHER than x86 or x86_64. But these EDAC features can be used on
> the x86/x86_64 as well.
Well at least the CPU features are redundant.
> As there IS an ECC event consumption race between MCE and EDAC, then at
> least a 'config' mechanism can be utilized to switch between the two.
Possibly, but it's still unclear why you want another interface
if an already existing one is there and works.
Anyways if you feel strongly about having redundant interfaces
you could probably do it. For the CPU caches etc. it shouldn't
make much difference, although it is unlikely to be very useful
either.
But as I wrote earlier EDAC could be made a consumer of mce.c
events and munge them in whatever format you like there.
Basically it could be an additional presentation layer
for Alan's enterprise users with the hardware schematics
at hand.
My main objection to the K8 northbridge control was though
that it was done in a somewhat non practical way in EDAC (no
useful decoding) and it actually steals the events from the subsystem
that does the useful decoding.
> Better yet,
Beauty in the eye of the beholder i guess @)
> I would like to be able to capture the MCE events and
> funnel them to EDAC, when loaded, as a downstream consumer of the MCE
> event stream. Then EDAC would process the information and then proceed
> to inform whether the event was handled or not by EDAC. Additionally,
> it would inform whether a panic should occur or not.
Yes, just mce.c has all that logic already. Not sure what adding
another layer would help there.
[In fact it has too much logic already, more powerful than current x86 CPUs
can support]
Or do you want that to be decided by user space code? That would seem
somewhat risky to me.
> When EDAC is not loaded, then MCE would act as it does now.
>
> The downside with both EDAC and MCE being in place, is that there would
> be ONE MCE processing pattern for the AMD x86_64 processors
No, mce.c handles all the machine checks on Intel CPUs just fine too.
The thing it doesn't do is process chipset events. I can see
the value of external drivers here, although that should be hopefully
a temporary state until Intel finally has integrated memory controllers
too.
Ok PCI error reporting will be likely always separate, but I'm not
sure that it fits very well because it should rather feed directly
into the drivers for them to report IO errors up the normal stacks.
> and the
> EDAC pattern for all the other archs/processors. As far as I can tell,
> other MCE processors don't generate the events as advertized. Maybe I
> am wrong on that, but I can't find them. How much hardware specific
> detail should be exported?
All MCE capable processors generate events,
although how many of them are recoverable greatly varies
(often you just get a unrecoverable exception)
>
> I assert the better solution is to have the ability to hook into the
> MCE event stream by the EDAC K8 driver, then provide action rules (EDAC
> controls)
The latest (pre released) mcelog 0.8pre has triggers for excessive
memory errors per DIMM. Is that something you want to do for EDAC too?
> As to the size of the MCE code doing everything EDAC K8 does, that is
> mostly true. BUT then the x86_64 MCE mechanism becomes the exception
> path.
Sorry you lost me on that one.
-Andi
next prev parent reply other threads:[~2007-02-12 21:46 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
2007-02-08 23:12 ` Roland Dreier
2007-02-08 23:29 ` Jan Engelhardt
2007-02-08 23:44 ` Andrew Morton
2007-02-09 15:02 ` Thomas Gleixner
2007-02-09 10:57 ` Frederik Deweerdt
2007-02-09 11:24 ` Arjan van de Ven
2007-02-09 11:39 ` Andrew Morton
2007-02-09 12:32 ` Arjan van de Ven
2007-02-09 14:05 ` deweerdt
2007-02-09 13:04 ` Andi Kleen
2007-02-09 12:27 ` Jan Engelhardt
2007-02-10 11:42 ` Arnd Bergmann
2007-02-10 14:19 ` Frederik Deweerdt
2007-02-08 23:34 ` Kyle McMartin
2007-02-08 23:53 ` Andrew Morton
2007-02-09 0:55 ` Paul Mackerras
2007-02-09 1:00 ` Andrew Morton
2007-02-09 5:32 ` Bharata B Rao
2007-02-09 8:26 ` Sébastien Dugué
2007-02-09 9:05 ` Andrew Morton
2007-02-09 10:10 ` Sébastien Dugué
2007-02-09 9:54 ` Lenar Lõhmus
2007-02-09 10:12 ` Andrew Morton
2007-02-09 12:48 ` James
2007-02-09 12:59 ` Lenar Lõhmus
2007-02-09 17:35 ` David Woodhouse
2007-02-09 21:45 ` Andrew Morton
2007-02-09 21:49 ` Russell King
2007-02-09 21:53 ` David Woodhouse
2007-02-09 22:03 ` Russell King
2007-02-09 22:12 ` David Woodhouse
2007-02-09 22:42 ` David Woodhouse
2007-02-10 2:05 ` Oleg Verych
2007-02-09 22:00 ` Andrew Morton
2007-02-09 22:06 ` Russell King
2007-02-09 21:59 ` David Woodhouse
2007-02-09 22:50 ` Davide Libenzi
2007-02-10 10:22 ` Heiko Carstens
2007-02-10 10:32 ` David Woodhouse
2007-02-10 21:34 ` Ralf Baechle
2007-02-11 4:53 ` Davide Libenzi
2007-02-11 15:33 ` David Woodhouse
2007-02-11 16:09 ` Ralf Baechle
2007-02-11 16:14 ` Heiko Carstens
2007-02-11 16:34 ` Davide Libenzi
2007-02-11 18:01 ` Ralf Baechle
2007-02-10 21:05 ` Ralf Baechle
2007-02-11 10:37 ` Andi Kleen
2007-02-10 13:03 ` Andi Kleen
2007-02-09 19:37 ` Alan
2007-02-09 21:51 ` Andrew Morton
2007-02-10 1:15 ` Carl-Daniel Hailfinger
2007-02-10 1:29 ` Andrew Morton
2007-02-10 13:06 ` Andi Kleen
2007-02-10 13:48 ` Alan
2007-02-10 14:43 ` Andi Kleen
2007-02-12 20:56 ` Doug Thompson
2007-02-12 21:46 ` Andi Kleen [this message]
2007-02-12 22:45 ` Doug Thompson
2007-02-09 22:18 ` Guillaume Chazarain
2007-02-10 9:58 ` -mm merge plans for 2.6.21 -- md-dm-reduce-stack-usage-with-stacked-block-devices.patch Heiko Carstens
2007-02-10 22:35 ` Alasdair G Kergon
2007-02-11 0:31 ` -mm merge plans for 2.6.21 Dave Jones
-- strict thread matches above, loose matches on Subject: below --
2007-02-09 2:57 Parag Warudkar
2007-02-09 3:05 ` Andrew Morton
[not found] <fa.7Z67qjqJwFP7+8QiVtu5tq6CZyU@ifi.uio.no>
[not found] ` <fa.4Y/nCUol/tGEodoOl/Jm9nf2AEA@ifi.uio.no>
[not found] ` <fa.TgZy4z2lRhwhAWCUE8IuGvMVUCU@ifi.uio.no>
[not found] ` <fa.HINMjdGzCuxlEiWtVvmNz7Pv9Pc@ifi.uio.no>
[not found] ` <fa.2ClW7C4ZyCP9QlT4vg7CbzjSqwg@ifi.uio.no>
2007-02-10 17:04 ` Robert Hancock
2007-01-12 23:19 ` Frederik Deweerdt
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=200702122246.38703.andi@firstfloor.org \
--to=andi@firstfloor.org \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=norsk5@yahoo.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