We're taking tasks from the global runqueue based on the number of tasks
the thread already have in its local runqueue, but now that we have a task
list, we also have to take that into account.
* much elements from the global list as to have a bigger local queue
* than the average.
*/
- while (rqueue_size[tid] <= average) {
+ while ((task_list_size[tid] + rqueue_size[tid]) <= average) {
/* we have to restart looking up after every batch */
rq_next = eb32sc_lookup_ge(&rqueue, rqueue_ticks - TIMER_LOOK_BACK, tid_bit);