diff options
author | Jeff Dike <jdike@addtoit.com> | 2005-06-25 17:55:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 19:24:35 -0400 |
commit | a6f4e3cf75538a75ee4fab620e3c8466f2154458 (patch) | |
tree | 2adc3dac915abfce031d6cf3d669bfdfb4a134e8 /arch | |
parent | e0877f07e85a46e4fde32bd84f08551d360839fe (diff) |
[PATCH] uml: fix timer initialization
In skas mode, the call to uml_idle_timer permanently shut off the virtual
timer, resulting in no timer ticks to anything but the idle thread. This is
likely the cause of the soft lockups that are seen sporadically in recent
UMLs.
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/um/kernel/process_kern.c | 2 | ||||
-rw-r--r-- | arch/um/kernel/skas/process_kern.c | 1 |
2 files changed, 1 insertions, 2 deletions
diff --git a/arch/um/kernel/process_kern.c b/arch/um/kernel/process_kern.c index 0c57bc6e37..d4036ed680 100644 --- a/arch/um/kernel/process_kern.c +++ b/arch/um/kernel/process_kern.c | |||
@@ -169,7 +169,7 @@ int current_pid(void) | |||
169 | 169 | ||
170 | void default_idle(void) | 170 | void default_idle(void) |
171 | { | 171 | { |
172 | uml_idle_timer(); | 172 | CHOOSE_MODE(uml_idle_timer(), (void) 0); |
173 | 173 | ||
174 | atomic_inc(&init_mm.mm_count); | 174 | atomic_inc(&init_mm.mm_count); |
175 | current->mm = &init_mm; | 175 | current->mm = &init_mm; |
diff --git a/arch/um/kernel/skas/process_kern.c b/arch/um/kernel/skas/process_kern.c index 8f0607f54b..0a7b8aa55d 100644 --- a/arch/um/kernel/skas/process_kern.c +++ b/arch/um/kernel/skas/process_kern.c | |||
@@ -180,7 +180,6 @@ int start_uml_skas(void) | |||
180 | start_userspace(0); | 180 | start_userspace(0); |
181 | 181 | ||
182 | init_new_thread_signals(1); | 182 | init_new_thread_signals(1); |
183 | uml_idle_timer(); | ||
184 | 183 | ||
185 | init_task.thread.request.u.thread.proc = start_kernel_proc; | 184 | init_task.thread.request.u.thread.proc = start_kernel_proc; |
186 | init_task.thread.request.u.thread.arg = NULL; | 185 | init_task.thread.request.u.thread.arg = NULL; |