parent
79863cf1e4
commit
53dc794e5f
|
@ -2,6 +2,9 @@ linux (4.3~rc6-1~exp1) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
* New upstream release candidate
|
* New upstream release candidate
|
||||||
|
|
||||||
|
[ Ben Hutchings ]
|
||||||
|
* [x86] smpboot: Fix CPU #1 boot timeout (Closes: #802464)
|
||||||
|
|
||||||
-- Ben Hutchings <ben@decadent.org.uk> Mon, 19 Oct 2015 02:21:23 +0100
|
-- Ben Hutchings <ben@decadent.org.uk> Mon, 19 Oct 2015 02:21:23 +0100
|
||||||
|
|
||||||
linux (4.3~rc5-1~exp1) experimental; urgency=medium
|
linux (4.3~rc5-1~exp1) experimental; urgency=medium
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
From: Len Brown <len.brown@intel.com>
|
||||||
|
Date: Fri, 16 Oct 2015 00:14:29 -0400
|
||||||
|
Subject: x86/smpboot: Fix CPU #1 boot timeout
|
||||||
|
Origin: https://git.kernel.org/linus/fcafddec4e78a7776db4b6685db6b2902d4300fc
|
||||||
|
Bug-Debian: https://bugs.debian.org/802464
|
||||||
|
|
||||||
|
The following commit:
|
||||||
|
|
||||||
|
a9bcaa02a5104ac ("x86/smpboot: Remove SIPI delays from cpu_up()")
|
||||||
|
|
||||||
|
Caused some Intel Core2 processors to time-out when bringing up CPU #1,
|
||||||
|
resulting in the missing of that CPU after bootup.
|
||||||
|
|
||||||
|
That patch reduced the SIPI delays from udelay() 300, 200 to udelay() 0,
|
||||||
|
0 on modern processors.
|
||||||
|
|
||||||
|
Several Intel(R) Core(TM)2 systems failed to bring up CPU #1 10/10 times
|
||||||
|
after that change.
|
||||||
|
|
||||||
|
Increasing either of the SIPI delays to udelay(1) results in
|
||||||
|
success. So here we increase both to udelay(10). While this may
|
||||||
|
be 20x slower than the absolute minimum, it is still 20x to 30x
|
||||||
|
faster than the original code.
|
||||||
|
|
||||||
|
Tested-by: Donald Parsons <dparsons@brightdsl.net>
|
||||||
|
Tested-by: Shane <shrybman@teksavvy.com>
|
||||||
|
Signed-off-by: Len Brown <len.brown@intel.com>
|
||||||
|
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
||||||
|
Cc: Peter Zijlstra <peterz@infradead.org>
|
||||||
|
Cc: Thomas Gleixner <tglx@linutronix.de>
|
||||||
|
Cc: dparsons@brightdsl.net
|
||||||
|
Cc: shrybman@teksavvy.com
|
||||||
|
Link: http://lkml.kernel.org/r/6dd554ee8945984d85aafb2ad35793174d068af0.1444968087.git.len.brown@intel.com
|
||||||
|
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
||||||
|
---
|
||||||
|
arch/x86/kernel/smpboot.c | 8 ++++++--
|
||||||
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
--- a/arch/x86/kernel/smpboot.c
|
||||||
|
+++ b/arch/x86/kernel/smpboot.c
|
||||||
|
@@ -657,7 +657,9 @@ wakeup_secondary_cpu_via_init(int phys_a
|
||||||
|
/*
|
||||||
|
* Give the other CPU some time to accept the IPI.
|
||||||
|
*/
|
||||||
|
- if (init_udelay)
|
||||||
|
+ if (init_udelay == 0)
|
||||||
|
+ udelay(10);
|
||||||
|
+ else
|
||||||
|
udelay(300);
|
||||||
|
|
||||||
|
pr_debug("Startup point 1\n");
|
||||||
|
@@ -668,7 +670,9 @@ wakeup_secondary_cpu_via_init(int phys_a
|
||||||
|
/*
|
||||||
|
* Give the other CPU some time to accept the IPI.
|
||||||
|
*/
|
||||||
|
- if (init_udelay)
|
||||||
|
+ if (init_udelay == 0)
|
||||||
|
+ udelay(10);
|
||||||
|
+ else
|
||||||
|
udelay(200);
|
||||||
|
|
||||||
|
if (maxlvt > 3) /* Due to the Pentium erratum 3AP. */
|
|
@ -81,3 +81,4 @@ features/all/grsecurity/grkernsec_perf_harden.patch
|
||||||
|
|
||||||
bugfix/all/media-uvcvideo-disable-hardware-timestamps-by-defaul.patch
|
bugfix/all/media-uvcvideo-disable-hardware-timestamps-by-defaul.patch
|
||||||
bugfix/all/ovl-conditionally-use-o_largefile-in-ovl_copy_up.patch
|
bugfix/all/ovl-conditionally-use-o_largefile-in-ovl_copy_up.patch
|
||||||
|
bugfix/x86/x86-smpboot-Fix-CPU-1-boot-timeout.patch
|
||||||
|
|
Loading…
Reference in New Issue