Changes in kernel/generic/src/proc/scheduler.c [a6e55886:ba9a150] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/proc/scheduler.c
ra6e55886 rba9a150 54 54 #include <atomic.h> 55 55 #include <synch/spinlock.h> 56 #include <synch/workqueue.h>57 #include <synch/rcu.h>58 56 #include <config.h> 59 57 #include <context.h> … … 90 88 { 91 89 before_thread_runs_arch(); 92 rcu_before_thread_runs();93 90 94 91 #ifdef CONFIG_FPU_LAZY … … 131 128 static void after_thread_ran(void) 132 129 { 133 workq_after_thread_ran();134 rcu_after_thread_ran();135 130 after_thread_ran_arch(); 136 131 } … … 139 134 void scheduler_fpu_lazy_request(void) 140 135 { 141 restart:142 136 fpu_enable(); 143 137 irq_spinlock_lock(&CPU->lock, false); … … 158 152 fpu_context_restore(THREAD->saved_fpu_context); 159 153 } else { 160 /* Allocate FPU context */161 if (!THREAD->saved_fpu_context) {162 /* Might sleep */163 irq_spinlock_unlock(&THREAD->lock, false);164 irq_spinlock_unlock(&CPU->lock, false);165 THREAD->saved_fpu_context =166 (fpu_context_t *) slab_alloc(fpu_context_cache, 0);167 168 /* We may have switched CPUs during slab_alloc */169 goto restart;170 }171 154 fpu_init(); 172 155 THREAD->fpu_context_exists = true; … … 430 413 431 414 case Exiting: 432 rcu_thread_exiting();433 415 repeat: 434 416 if (THREAD->detached) {
Note:
See TracChangeset
for help on using the changeset viewer.