aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/kernel')
-rw-r--r--arch/um/kernel/process.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c
index 8a6882dfba01..56d75afedbf7 100644
--- a/arch/um/kernel/process.c
+++ b/arch/um/kernel/process.c
@@ -95,18 +95,11 @@ void *_switch_to(void *prev, void *next, void *last)
95 do { 95 do {
96 current->thread.saved_task = NULL; 96 current->thread.saved_task = NULL;
97 97
98 /* XXX need to check runqueues[cpu].idle */
99 if (current->pid == 0)
100 switch_timers(0);
101
102 switch_threads(&from->thread.switch_buf, 98 switch_threads(&from->thread.switch_buf,
103 &to->thread.switch_buf); 99 &to->thread.switch_buf);
104 100
105 arch_switch_to(current->thread.prev_sched, current); 101 arch_switch_to(current->thread.prev_sched, current);
106 102
107 if (current->pid == 0)
108 switch_timers(1);
109
110 if (current->thread.saved_task) 103 if (current->thread.saved_task)
111 show_regs(&(current->thread.regs)); 104 show_regs(&(current->thread.regs));
112 next= current->thread.saved_task; 105 next= current->thread.saved_task;
@@ -251,7 +244,9 @@ void default_idle(void)
251 if (need_resched()) 244 if (need_resched())
252 schedule(); 245 schedule();
253 246
247 switch_timers(1);
254 idle_sleep(10); 248 idle_sleep(10);
249 switch_timers(0);
255 } 250 }
256} 251}
257 252