diff options
author | Venki Pallipadi <venkatesh.pallipadi@intel.com> | 2008-04-10 09:49:58 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-10 15:38:29 -0700 |
commit | 783e391b7b5b273cd20856d8f6f4878da8ec31b3 (patch) | |
tree | 897e8db7c6eaf3763c2f1ef9aa099f2691d76400 /arch/x86/kernel/tls.c | |
parent | a1e58bbdc969c3fe60addca7f2729779d22a83c1 (diff) | |
download | op-kernel-dev-783e391b7b5b273cd20856d8f6f4878da8ec31b3.zip op-kernel-dev-783e391b7b5b273cd20856d8f6f4878da8ec31b3.tar.gz |
x86: Simplify cpu_idle_wait
This patch also resolves hangs on boot:
http://lkml.org/lkml/2008/2/23/263
http://bugzilla.kernel.org/show_bug.cgi?id=10093
The bug was causing once-in-few-reboots 10-15 sec wait during boot on
certain laptops.
Earlier commit 40d6a146629b98d8e322b6f9332b182c7cbff3df added
smp_call_function in cpu_idle_wait() to kick cpus that are in tickless
idle. Looking at cpu_idle_wait code at that time, code seemed to be
over-engineered for a case which is rarely used (while changing idle
handler).
Below is a simplified version of cpu_idle_wait, which just makes a dummy
smp_call_function to all cpus, to make them come out of old idle handler
and start using the new idle handler. It eliminates code in the idle
loop to handle cpu_idle_wait.
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/kernel/tls.c')
0 files changed, 0 insertions, 0 deletions