Subversion Repositories HelenOS-historic

Rev

Rev 557 | Rev 631 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 557 Rev 625
Line 488... Line 488...
488
     * other CPU's. Note that situation can have changed between two
488
     * other CPU's. Note that situation can have changed between two
489
     * passes. Each time get the most up to date counts.
489
     * passes. Each time get the most up to date counts.
490
     */
490
     */
491
    ipl = interrupts_disable();
491
    ipl = interrupts_disable();
492
    spinlock_lock(&CPU->lock);
492
    spinlock_lock(&CPU->lock);
493
    count = nrdy / config.cpu_active;
493
    count = atomic_get(&nrdy) / config.cpu_active;
494
    count -= CPU->nrdy;
494
    count -= CPU->nrdy;
495
    spinlock_unlock(&CPU->lock);
495
    spinlock_unlock(&CPU->lock);
496
    interrupts_restore(ipl);
496
    interrupts_restore(ipl);
497
 
497
 
498
    if (count <= 0)
498
    if (count <= 0)
Line 616... Line 616...
616
 
616
 
617
satisfied:
617
satisfied:
618
    /*
618
    /*
619
     * Tell find_best_thread() to wake us up later again.
619
     * Tell find_best_thread() to wake us up later again.
620
     */
620
     */
621
    CPU->kcpulbstarted = 0;
621
    atomic_set(&CPU->kcpulbstarted,0);
622
    goto loop;
622
    goto loop;
623
}
623
}
624
 
624
 
625
#endif /* CONFIG_SMP */
625
#endif /* CONFIG_SMP */