diff options
author | Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> | 2014-06-11 14:18:07 +0530 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-06-11 19:15:14 +1000 |
commit | e6654d5b4259317be82b06cf9218f82abec8c8e7 (patch) | |
tree | 8ed279bc20a647c7bbb17a1ad5f457546fecaa31 /arch | |
parent | e75ad93afcd34a7ed472d64fb2944560ad9cad4e (diff) | |
download | linux-stable-e6654d5b4259317be82b06cf9218f82abec8c8e7.tar.gz linux-stable-e6654d5b4259317be82b06cf9218f82abec8c8e7.tar.bz2 linux-stable-e6654d5b4259317be82b06cf9218f82abec8c8e7.zip |
powerpc/book3s: Increment the mce counter during machine_check_early call.
We don't see MCE counter getting increased in /proc/interrupts which gives
false impression of no MCE occurred even when there were MCE events.
The machine check early handling was added for PowerKVM and we missed to
increment the MCE count in the early handler.
We also increment mce counters in the machine_check_exception call, but
in most cases where we handle the error hypervisor never reaches there
unless its fatal and we want to crash. Only during fatal situation we may
see double increment of mce count. We need to fix that. But for
now it always good to have some count increased instead of zero.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/traps.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 1bd7ca298fa1..239f1cde3fff 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c @@ -295,6 +295,8 @@ long machine_check_early(struct pt_regs *regs) { long handled = 0; + __get_cpu_var(irq_stat).mce_exceptions++; + if (cur_cpu_spec && cur_cpu_spec->machine_check_early) handled = cur_cpu_spec->machine_check_early(regs); return handled; |