diff options
Diffstat (limited to 'arch/um/kernel/skas/process_kern.c')
-rw-r--r-- | arch/um/kernel/skas/process_kern.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/um/kernel/skas/process_kern.c b/arch/um/kernel/skas/process_kern.c index 38b185370c42..2135eaf98a93 100644 --- a/arch/um/kernel/skas/process_kern.c +++ b/arch/um/kernel/skas/process_kern.c | |||
@@ -91,10 +91,17 @@ void fork_handler(int sig) | |||
91 | panic("blech"); | 91 | panic("blech"); |
92 | 92 | ||
93 | schedule_tail(current->thread.prev_sched); | 93 | schedule_tail(current->thread.prev_sched); |
94 | |||
95 | /* XXX: if interrupt_end() calls schedule, this call to | ||
96 | * arch_switch_to_skas isn't needed. We could want to apply this to | ||
97 | * improve performance. -bb */ | ||
98 | arch_switch_to_skas(current->thread.prev_sched, current); | ||
99 | |||
94 | current->thread.prev_sched = NULL; | 100 | current->thread.prev_sched = NULL; |
95 | 101 | ||
96 | /* Handle any immediate reschedules or signals */ | 102 | /* Handle any immediate reschedules or signals */ |
97 | interrupt_end(); | 103 | interrupt_end(); |
104 | |||
98 | userspace(¤t->thread.regs.regs); | 105 | userspace(¤t->thread.regs.regs); |
99 | } | 106 | } |
100 | 107 | ||