diff options
Diffstat (limited to 'arch/um/kernel/process.c')
-rw-r--r-- | arch/um/kernel/process.c | 9 |
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 | ||