[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1465318345-22043-1-git-send-email-bp@alien8.de>
Date: Tue, 7 Jun 2016 18:52:21 +0200
From: Borislav Petkov <bp@...en8.de>
To: linux-edac <linux-edac@...r.kernel.org>
Cc: Tony Luck <tony.luck@...el.com>,
Yazen Ghannam <Yazen.Ghannam@....com>, X86 ML <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: [R-F-C PATCH 0/4] RFC: x86/mce: Deprecate mcelog and other funsies
From: Borislav Petkov <bp@...e.de>
So this set cannot have a bigger "RFC" tag:
It attempts to revive the correctable errors collector. In this version,
the thing gets counters in debugfs:
(debugfs)/ras/cec/
|-- array
`-- pfn
which give some stats on the CEC like how many CEs it caught and the
number of pages it soft-offlined due to excessive amount of CEs.
$ cat ras/cec/array
{ n: 2
000: [0000000000000012|001]
001: [0000003735928559|e01]
}
Stats:
CEs: 514
offlined pages: 0
Flags: 0x0
Then, we stuck all the /dev/mcelog functionality behind a
CONFIG_X86_MCELOG which people can disable if they don't need mcelog and
are going to use the rasdaemon. This is probably going to happen sooner
or later with the distros anyway.
And then, as a result of that move, mce-inject is being made independent
from mcelog and gets the error injection debugfs nodes of mce_amd_inj
which you can echo into and don't need special tools:
$ tree --charset=ascii /sys/kernel/debug/mce-inject/
/sys/kernel/debug/mce-inject/
|-- addr
|-- bank
|-- cpu
|-- flags
|-- misc
|-- README
`-- status
0 directories, 7 files
Comments are more than welcome, Tony and will be polishing on those but
thought it would be a nice point in time to send them out to get other
people's opinions.
Thanks.
Borislav Petkov (3):
RAS: Add a Corrected Errors Collector
x86/mce: Merge mce_amd_inj into mce-inject
x86/mce-inject: Use debugfs_remove_recursive()
Tony Luck (1):
x86/mce: Deprecate /dev/mcelog
arch/x86/Kconfig | 8 +
arch/x86/kernel/cpu/mcheck/Makefile | 2 +
arch/x86/kernel/cpu/mcheck/dev-mcelog.c | 397 +++++++++++++++++++++++
arch/x86/kernel/cpu/mcheck/mce-inject.c | 519 +++++++++++++++++++++++++++++-
arch/x86/kernel/cpu/mcheck/mce-internal.h | 8 +
arch/x86/kernel/cpu/mcheck/mce.c | 513 +++++------------------------
arch/x86/ras/Kconfig | 11 +
arch/x86/ras/Makefile | 2 -
arch/x86/ras/mce_amd_inj.c | 484 ----------------------------
drivers/ras/Makefile | 3 +-
drivers/ras/cec.c | 425 ++++++++++++++++++++++++
drivers/ras/debugfs.c | 2 +-
drivers/ras/debugfs.h | 8 +
include/linux/ras.h | 12 +-
14 files changed, 1467 insertions(+), 927 deletions(-)
create mode 100644 arch/x86/kernel/cpu/mcheck/dev-mcelog.c
delete mode 100644 arch/x86/ras/mce_amd_inj.c
create mode 100644 drivers/ras/cec.c
create mode 100644 drivers/ras/debugfs.h
--
2.7.3
Powered by blists - more mailing lists