/kernel/trunk/generic/src/proc/scheduler.c |
---|
490,7 → 490,7 |
*/ |
ipl = interrupts_disable(); |
spinlock_lock(&CPU->lock); |
count = nrdy / config.cpu_active; |
count = atomic_get(&nrdy) / config.cpu_active; |
count -= CPU->nrdy; |
spinlock_unlock(&CPU->lock); |
interrupts_restore(ipl); |
618,7 → 618,7 |
/* |
* Tell find_best_thread() to wake us up later again. |
*/ |
CPU->kcpulbstarted = 0; |
atomic_set(&CPU->kcpulbstarted,0); |
goto loop; |
} |
/kernel/trunk/generic/src/proc/thread.c |
---|
95,7 → 95,7 |
void thread_init(void) |
{ |
THREAD = NULL; |
nrdy = 0; |
atomic_set(&nrdy,0); |
} |
111,7 → 111,7 |
cpu_t *cpu; |
runq_t *r; |
ipl_t ipl; |
int i, avg, send_ipi = 0; |
int i, avg; |
ipl = interrupts_disable(); |
135,7 → 135,7 |
spinlock_unlock(&r->lock); |
atomic_inc(&nrdy); |
avg = nrdy / config.cpu_active; |
avg = atomic_get(&nrdy) / config.cpu_active; |
spinlock_lock(&cpu->lock); |
if ((++cpu->nrdy) > avg) { |