Răsfoiți Sursa

[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>
Jeff Dike 20 ani în urmă
părinte
comite
a6f4e3cf75
2 a modificat fișierele cu 1 adăugiri și 2 ștergeri
  1. 1 1
      arch/um/kernel/process_kern.c
  2. 0 1
      arch/um/kernel/skas/process_kern.c

+ 1 - 1
arch/um/kernel/process_kern.c

@@ -169,7 +169,7 @@ int current_pid(void)
 
 void default_idle(void)
 {
-	uml_idle_timer();
+	CHOOSE_MODE(uml_idle_timer(), (void) 0);
 
 	atomic_inc(&init_mm.mm_count);
 	current->mm = &init_mm;

+ 0 - 1
arch/um/kernel/skas/process_kern.c

@@ -180,7 +180,6 @@ int start_uml_skas(void)
 	start_userspace(0);
 
 	init_new_thread_signals(1);
-	uml_idle_timer();
 
 	init_task.thread.request.u.thread.proc = start_kernel_proc;
 	init_task.thread.request.u.thread.arg = NULL;