All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 0/6] Enable deferred error interrupts
@ 2015-05-06 11:58 Aravind Gopalakrishnan
  2015-05-06 11:58 ` [PATCH V2 1/6] x86/MCE/AMD: Factor out logging mechanism Aravind Gopalakrishnan
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Aravind Gopalakrishnan @ 2015-05-06 11:58 UTC (permalink / raw)
  To: tglx, mingo, hpa, tony.luck, bp, jiang.liu, yinghai
  Cc: x86, dvlasenk, JBeulich, slaoub, luto, dave.hansen, oleg, rostedt,
	rusty, prarit, linux, jroedel, andriy.shevchenko, macro, wangnan0,
	linux-kernel, linux-edac, rric

Deferred errors indicate error conditions that were not corrected, but
require no action from S/W (or action is optional).These errors provide
info about a latent UC MCE that can occur when a poisoned data is
consumed by the processor.

Newer AMD processors can generate deferred errors and can be configured
to generate APIC interrupts on such events.

This patchset introduces a new interrupt handler for deferred errors and
configures the HW if the feature is present.

Patch1: Factor out logging mechanism so we can reuse for deferred errors
	No functional change.
Patch2: Read MCx_ADDR(bank) before calling mce_log(). This fixes an issue
	as currently, amd_decode_mce() will always only print error address
	as 0x0 even if a valid address exists.
Patch3: Defines SUCCOR cpuid bit. This indicates prescence of features
	such as data poisoning and deferred error interrupts in hardware.
Patch4: Implement the interrupt handler.
	- setup vector number, build the interrupt and implement handler
	  function in this patch.
Patch5, Patch 6: Cleanups in the code. No functional changes are introduced.

Changes from V1:
  - Two Prepatches-
	* Factor out logging mechanism so we can reuse for deferred errors
	* Read MCx_ADDR(bank) before calling mce_log() so we get relevant
	  error address printed out on kernel logs
  - Providing short description of Deferred errors here as well as in commit
    message of patch2 (per Ingo, Boris)
  - Adding comments around mce_flags to define the bitfields better (per Boris)
  - Assign truth values using double negation and 'BIT' macros. Vertically
    align statements while at it. (per Boris)
  - Change definitions of 'deferred_interrupt' to 'deferred_error_interrupt';
    DEFERRED_APIC_VECTOR to DEFERRED_ERROR_VECTOR and irq_deferred_count
    to irq_deferred_error_count (per Andy, Boris)
  - Do the BIOS workaround check for all families as we are behind a cpuid
    bit anyway. And print a FW_BUG message as needed. (per Boris)
  - Updating the timestamp of patch to May 2015 in mce_amd.c

Aravind Gopalakrishnan (6):
  x86/MCE/AMD: Factor out logging mechanism
  x86/MCE/AMD: Read MCx_ADDR(bank) before we log the error
  x86/mce: Define 'SUCCOR' cpuid bit
  x86/MCE/AMD: Introduce deferred error interrupt handler
  x86, irq: Cleanup ordering of vector numbers
  x86/MCE/AMD: Rename setup_APIC_mce

 arch/x86/include/asm/entry_arch.h        |   3 +
 arch/x86/include/asm/hardirq.h           |   3 +
 arch/x86/include/asm/hw_irq.h            |   2 +
 arch/x86/include/asm/irq_vectors.h       |  11 +--
 arch/x86/include/asm/mce.h               |  20 ++++-
 arch/x86/include/asm/trace/irq_vectors.h |   6 ++
 arch/x86/include/asm/traps.h             |   3 +-
 arch/x86/kernel/cpu/mcheck/mce.c         |   3 +-
 arch/x86/kernel/cpu/mcheck/mce_amd.c     | 132 ++++++++++++++++++++++++++++---
 arch/x86/kernel/entry_64.S               |   5 ++
 arch/x86/kernel/irq.c                    |   6 ++
 arch/x86/kernel/irqinit.c                |   4 +
 arch/x86/kernel/traps.c                  |   5 ++
 13 files changed, 182 insertions(+), 21 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-06-07 17:40 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-06 11:58 [PATCH V2 0/6] Enable deferred error interrupts Aravind Gopalakrishnan
2015-05-06 11:58 ` [PATCH V2 1/6] x86/MCE/AMD: Factor out logging mechanism Aravind Gopalakrishnan
2015-05-06 17:41   ` Borislav Petkov
2015-05-06 17:47     ` Aravind Gopalakrishnan
2015-06-07 17:36   ` [tip:x86/core] x86/mce/amd: " tip-bot for Aravind Gopalakrishnan
2015-05-06 11:58 ` [PATCH V2 2/6] x86/MCE/AMD: Read MCx_ADDR(bank) before we log the error Aravind Gopalakrishnan
2015-06-07 17:37   ` [tip:x86/core] x86/mce/amd: Collect valid address before logging an error tip-bot for Aravind Gopalakrishnan
2015-05-06 11:58 ` [PATCH V2 3/6] x86/mce: Define 'SUCCOR' cpuid bit Aravind Gopalakrishnan
2015-05-06 18:49   ` Borislav Petkov
2015-06-07 17:37   ` [tip:x86/core] x86/mce: Add support for deferred errors on AMD tip-bot for Aravind Gopalakrishnan
2015-05-06 11:58 ` [PATCH V2 4/6] x86/MCE/AMD: Introduce deferred error interrupt handler Aravind Gopalakrishnan
2015-05-07  8:24   ` Borislav Petkov
2015-06-07 17:37   ` [tip:x86/core] x86/mce/amd: " tip-bot for Aravind Gopalakrishnan
2015-05-06 11:58 ` [PATCH V2 5/6] x86, irq: Cleanup ordering of vector numbers Aravind Gopalakrishnan
2015-05-07  8:29   ` Borislav Petkov
2015-06-07 17:37   ` [tip:x86/core] x86/irq: " tip-bot for Aravind Gopalakrishnan
2015-05-06 11:58 ` [PATCH V2 6/6] x86/MCE/AMD: Rename setup_APIC_mce Aravind Gopalakrishnan
2015-05-07  8:34   ` Borislav Petkov
2015-06-07 17:38   ` [tip:x86/core] x86/mce/amd: " tip-bot for Aravind Gopalakrishnan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.