mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Borislav Petkov <petkovbb@googlemail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: mingo@redhat.com, hpa@zytor.com, linux-kernel@vger.kernel.org,
	andi@firstfloor.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>,
	Mauro Carvalho Chehab <mchehab@infradead.org>,
	Aristeu Rozanski <aris@redhat.com>,
	Doug Thompson <norsk5@yahoo.com>,
	Huang Ying <ying.huang@intel.com>,
	Arjan van de Ven <arjan@infradead.org>,
	Mauro Carvalho Chehab <mchehab@redhat.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: Re: [tip:x86/mce] x86, mce: Rename cpu_specific_poll to mce_cpu_specific_poll
Date: Mon, 22 Feb 2010 09:28:40 +0100	[thread overview]
Message-ID: <20100222082840.GA3975@liondog.tnic> (raw)
In-Reply-To: <20100216210215.GA9051@elte.hu>

From: Ingo Molnar <mingo@elte.hu>
Date: Tue, Feb 16, 2010 at 10:02:15PM +0100
Hi,

> I like it.
> 
> You can do it as a 'perf hw' subcommand - or start off a fork as the 'hw' 
> utility, if you'd like to maintain it separately. It would have a daemon 
> component as well, to receive and log hardware events continuously, to 
> trigger policy action, etc.
> 
> I'd suggest you start to do it in small steps, always having something that 
> works - and extend it gradually.

I had the chance to meditate over the weekend a bit more on the whole
RAS thing after rereading all the discussion points more carefully.
Here are some aspects I think are important which I'd like to drop here
rather sooner than later so that we're in sync and don't waste time
implementing the wrong stuff:

* Critical errors: we need to switch to a console and dump decoded error
there at least, before panicking. Nowadays, almost everyone has a camera
with which that information can be extracted from the screen. I'm afraid
we won't be able to send the error over a network since climbing up the
TCP stack takes relatively long and we cannot risk error propagation...?
We could try to do it on a core which is not affected by the error
though as a last step in the sequence...

I think this is much more user-friendly than the current panicking
which is never seen when running X except when the user has a
serial/netconsole sending to some other machine.

All other non-that-critical errors are copied to userspace over a
mmapped buffer and then the uspace daemon is being poked with a uevent
to dump the error/signal over network/parse its contents and do policy
stuff.

* receive commands by syscall, also for hw config: I like the idea
of sending commands to the kernel over a syscall, we can reuse perf
functionality here and make those reused bits generic.

* do not bind to error format etc: not a big fan of slaving to an error
format - just dump error info into the buffer and let userspace format
it. We can do the formatting if we absolutely have to.

* can also configure hw: The tool can also send commands over the
syscall to configure certain aspects of the hardware, like:

- disable L3 cache indices which are faulty
- enable/disable MCE error sources: toggle MCi_CTL, MCi_CTL_MASK bits
- disable whole DIMMs: F2x[1, 0][5C:40][CSEnable]
- control ECC checking
- enable/disable powering down of DRAM regions for power savings
- set memory clock frequency
- some other relevant aspects of hw/CPU configuration

* keep all info in sysfs so that no tool is needed for accessing it,
similar to ftrace: All knobs needed for user interaction should appear
redundantly as sysfs files/dirs so that configuration/query can be done
"by hand" even when the hw tool is missing

* gradually move pieces of RAS code into kernel proper: important
codepaths/aspects from the HW which are being queried often (e.g., DIMM
population and config) should be moved gradually into the kernel proper.


Anyways, this is by all means not complete and still as alpha as it can
be. However, I'd like to discuss it as early as possble and in small,
incremental steps, omitting trial and error as much as possible. So,
feel free to throw all your crazy ideas at me and correct (or kill) all
those crappy points above.

Thanks.

-- 
Regards/Gruss,
    Boris.

  reply	other threads:[~2010-02-22  8:28 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 [this message]
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
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=20100222082840.GA3975@liondog.tnic \
    --to=petkovbb@googlemail.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=andi@firstfloor.org \
    --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@infradead.org \
    --cc=mchehab@redhat.com \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=norsk5@yahoo.com \
    --cc=rostedt@goodmis.org \
    --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

all inboxes | Powered by JetHome®