Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1674817 > unrolled thread

[tip:ras/core] x86/mce: Always save severity in machine_check_poll()

Started bytip-bot for Yazen Ghannam <tipbot@zytor.com>
First post2017-06-26 16:10 +0200
Last post2017-06-26 16:10 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [tip:ras/core] x86/mce: Always save severity in  machine_check_poll() tip-bot for Yazen Ghannam <tipbot@zytor.com> - 2017-06-26 16:10 +0200

#1674817 — [tip:ras/core] x86/mce: Always save severity in machine_check_poll()

Fromtip-bot for Yazen Ghannam <tipbot@zytor.com>
Date2017-06-26 16:10 +0200
Subject[tip:ras/core] x86/mce: Always save severity in machine_check_poll()
Message-ID<tWCSf-3mD-29@gated-at.bofh.it>
Commit-ID:  e2de64ec52659870b4fdef5bf08f265ce5fe1ccc
Gitweb:     http://git.kernel.org/tip/e2de64ec52659870b4fdef5bf08f265ce5fe1ccc
Author:     Yazen Ghannam <yazen.ghannam@amd.com>
AuthorDate: Mon, 26 Jun 2017 14:35:31 +0200
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Mon, 26 Jun 2017 15:58:56 +0200

x86/mce: Always save severity in machine_check_poll()

The MCE severity gives a hint as to how to handle the error. The
notifier blocks can then use the severity to decide on an action.
It's not necessary for machine_check_poll() to filter errors for
the notifier chain, since each block will check its own set of
conditions before handling an error.

Also, there isn't any urgency for machine_check_poll() to make decisions
based on severity like in do_machine_check().

If we can assume that a severity is set then we can use it in more
notifier blocks. For example, the CEC block could check for a "KEEP"
severity rather than checking bits in the status. This isn't possible
now since the severity is not set except for "DEFFRRED/UCNA" errors with
a valid address.

Save the severity since we have it, and let the notifier blocks decide
if they want to do anything.

Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1498074402-98633-1-git-send-email-Yazen.Ghannam@amd.com

---
 arch/x86/kernel/cpu/mcheck/mce.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index b58b778..6dde049 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -673,7 +673,6 @@ bool machine_check_poll(enum mcp_flags flags, mce_banks_t *b)
 {
 	bool error_seen = false;
 	struct mce m;
-	int severity;
 	int i;
 
 	this_cpu_inc(mce_poll_count);
@@ -710,11 +709,7 @@ bool machine_check_poll(enum mcp_flags flags, mce_banks_t *b)
 
 		mce_read_aux(&m, i);
 
-		severity = mce_severity(&m, mca_cfg.tolerant, NULL, false);
-
-		if (severity == MCE_DEFERRED_SEVERITY && mce_is_memory_error(&m))
-			if (m.status & MCI_STATUS_ADDRV)
-				m.severity = severity;
+		m.severity = mce_severity(&m, mca_cfg.tolerant, NULL, false);
 
 		/*
 		 * Don't get the IP here because it's unlikely to

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web