Commit 3dee9fb2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull RAS updates from Ingo Molnar:
 "The main changes in this cycle were:

   - add the 'Corrected Errors Collector' kernel feature which collect
     and monitor correctable errors statistics and will preemptively
     (soft-)offline physical pages that have a suspiciously high error
     count.

   - handle MCE errors during kexec() more gracefully

   - factor out and deprecate the /dev/mcelog driver

   - ... plus misc fixes and cleanpus"

* 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/mce: Check MCi_STATUS[MISCV] for usable addr on Intel only
  ACPI/APEI: Use setup_deferrable_timer()
  x86/mce: Update notifier priority check
  x86/mce: Enable PPIN for Knights Landing/Mill
  x86/mce: Do not register notifiers with invalid prio
  x86/mce: Factor out and deprecate the /dev/mcelog driver
  RAS: Add a Corrected Errors Collector
  x86/mce: Rename mce_log to mce_log_buffer
  x86/mce: Rename mce_log()'s argument
  x86/mce: Init some CPU features early
  x86/mce: Handle broadcasted MCE gracefully with kexec
parents 7c8c03bf c6a9583f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3177,6 +3177,12 @@
	ramdisk_size=	[RAM] Sizes of RAM disks in kilobytes
			See Documentation/blockdev/ramdisk.txt.

	ras=option[,option,...]	[KNL] RAS-specific options

		cec_disable	[X86]
				Disable the Correctable Errors Collector,
				see CONFIG_RAS_CEC help text.

	rcu_nocbs=	[KNL]
			The argument is a cpu list, as described above.

+9 −1
Original line number Diff line number Diff line
@@ -1042,6 +1042,14 @@ config X86_MCE
	  The action the kernel takes depends on the severity of the problem,
	  ranging from warning messages to halting the machine.

config X86_MCELOG_LEGACY
	bool "Support for deprecated /dev/mcelog character device"
	depends on X86_MCE
	---help---
	  Enable support for /dev/mcelog which is needed by the old mcelog
	  userspace logging daemon. Consider switching to the new generation
	  rasdaemon solution.

config X86_MCE_INTEL
	def_bool y
	prompt "Intel MCE features"
@@ -1071,7 +1079,7 @@ config X86_MCE_THRESHOLD
	def_bool y

config X86_MCE_INJECT
	depends on X86_MCE && X86_LOCAL_APIC
	depends on X86_MCE && X86_LOCAL_APIC && X86_MCELOG_LEGACY
	tristate "Machine check injector support"
	---help---
	  Provide support for injecting machine checks for testing purposes.
+7 −5
Original line number Diff line number Diff line
@@ -128,7 +128,7 @@
 * debugging tools.  Each entry is only valid when its finished flag
 * is set.
 */
struct mce_log {
struct mce_log_buffer {
	char signature[12]; /* "MACHINECHECK" */
	unsigned len;	    /* = MCE_LOG_LEN */
	unsigned next;
@@ -191,10 +191,12 @@ extern struct mca_config mca_cfg;
extern struct mca_msr_regs msr_ops;

enum mce_notifier_prios {
	MCE_PRIO_SRAO		= INT_MAX,
	MCE_PRIO_EXTLOG		= INT_MAX - 1,
	MCE_PRIO_NFIT		= INT_MAX - 2,
	MCE_PRIO_EDAC		= INT_MAX - 3,
	MCE_PRIO_FIRST		= INT_MAX,
	MCE_PRIO_SRAO		= INT_MAX - 1,
	MCE_PRIO_EXTLOG		= INT_MAX - 2,
	MCE_PRIO_NFIT		= INT_MAX - 3,
	MCE_PRIO_EDAC		= INT_MAX - 4,
	MCE_PRIO_MCELOG		= 1,
	MCE_PRIO_LOWEST		= 0,
};

+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ struct machine_ops {
};

extern struct machine_ops machine_ops;
extern int crashing_cpu;

void native_machine_crash_shutdown(struct pt_regs *regs);
void native_machine_shutdown(void);
+2 −0
Original line number Diff line number Diff line
@@ -9,3 +9,5 @@ obj-$(CONFIG_X86_MCE_INJECT) += mce-inject.o
obj-$(CONFIG_X86_THERMAL_VECTOR) += therm_throt.o

obj-$(CONFIG_ACPI_APEI)		+= mce-apei.o

obj-$(CONFIG_X86_MCELOG_LEGACY)	+= dev-mcelog.o
Loading