From 165e6bed506f9fddd7e9da8ad1f4c7f186e29b00 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Wed, 9 Jun 2010 16:14:11 -0500 Subject: Change scheduler to locked queue instead of stack-pair. --- src/kernel/scheduler.C | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'src/kernel') diff --git a/src/kernel/scheduler.C b/src/kernel/scheduler.C index b96dd7c7b..c7c26448c 100644 --- a/src/kernel/scheduler.C +++ b/src/kernel/scheduler.C @@ -6,7 +6,7 @@ void Scheduler::addTask(task_t* t) { if (iv_idleTask != t) { - iv_taskList[iv_direction ? 0 : 1].push(t); + iv_taskList.insert(t); } } @@ -17,16 +17,7 @@ void Scheduler::returnRunnable() void Scheduler::setNextRunnable() { - task_t* t = NULL; - - bool direction = iv_direction; - t = iv_taskList[direction ? 1 : 0].pop(); - - if (NULL == t) - { - t = iv_taskList[direction ? 0 : 1].pop(); - __sync_bool_compare_and_swap(&iv_direction, direction, !direction); - } + task_t* t = iv_taskList.remove(); if (NULL == t) { -- cgit v1.2.1