Skip to contentSkip to conversation

Patch "x86 smpboot: Re-enable init_udelay=0 by default on modern CPUs" has been added to the 4.3-stable tree

PATCH [email protected] 1 participant 1 message Jan 25, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

x86 smpboot: Re-enable init_udelay=0 by default on modern CPUs

to the 4.3-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
x86-smpboot-re-enable-init_udelay-0-by-default-on-modern-cpus.patch
and it can be found in the queue-4.3 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 656279a1f3b210cf48ccc572fd7c6b8e2250be77 Mon Sep 17 00:00:00 2001

From: Len Brown <[email protected]>
Date: Sun, 22 Nov 2015 18:16:15 -0500
Subject: x86 smpboot: Re-enable init_udelay=0 by default on modern CPUs

From: Len Brown <[email protected]>

commit 656279a1f3b210cf48ccc572fd7c6b8e2250be77 upstream.

commit f1ccd249319e allowed the cmdline "cpu_init_udelay=" to work with all values, including the default of 10000.

But in setting the default of 10000, it over-rode the code that sets the delay 0 on modern processors.

Also, tidy up use of INT/UINT.

---
 arch/x86/kernel/smpboot.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
arch/x86/kernel/smpboot.c +5 -4
@@ -509,7 +509,7 @@ void __inquire_remote_apic(int apicid)
  */
 #define UDELAY_10MS_DEFAULT 10000
 
-static unsigned int init_udelay = INT_MAX;
+static unsigned int init_udelay = UINT_MAX;
 
 static int __init cpu_init_udelay(char *str)
 {
@@ -522,14 +522,15 @@ early_param("cpu_init_udelay", cpu_init_
 static void __init smp_quirk_init_udelay(void)
 {
 	/* if cmdline changed it from default, leave it alone */
-	if (init_udelay != INT_MAX)
+	if (init_udelay != UINT_MAX)
 		return;
 
 	/* if modern processor, use no delay */
 	if (((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) && (boot_cpu_data.x86 == 6)) ||
-	    ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) && (boot_cpu_data.x86 >= 0xF)))
+	    ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) && (boot_cpu_data.x86 >= 0xF))) {
 		init_udelay = 0;
-
+		return;
+	}
 	/* else, use legacy delay */
 	init_udelay = UDELAY_10MS_DEFAULT;
 }

Patches currently in stable-queue which might be from [email protected] are

queue-4.3/x86-smpboot-re-enable-init_udelay-0-by-default-on-modern-cpus.patch