scheduler/EDF: Use unprotected insert and extract

Interrupts are disabled by the caller _Thread_Change_priority() or
_Thread_Set_transient() or directly in the scheduler operation.  Thus
there is no need to use protected variants.
This commit is contained in:
Sebastian Huber
2013-11-19 16:09:17 +01:00
parent 14876018c3
commit eea7c93706
3 changed files with 4 additions and 4 deletions

View File

@@ -31,6 +31,6 @@ void _Scheduler_EDF_Enqueue(
(Scheduler_EDF_Per_thread*) the_thread->scheduler_info;
RBTree_Node *node = &(sched_info->Node);
_RBTree_Insert( &_Scheduler_EDF_Ready_queue, node );
_RBTree_Insert_unprotected( &_Scheduler_EDF_Ready_queue, node );
sched_info->queue_state = SCHEDULER_EDF_QUEUE_STATE_YES;
}

View File

@@ -31,6 +31,6 @@ void _Scheduler_EDF_Extract(
(Scheduler_EDF_Per_thread*) the_thread->scheduler_info;
RBTree_Node *node = &(sched_info->Node);
_RBTree_Extract( &_Scheduler_EDF_Ready_queue, node );
_RBTree_Extract_unprotected( &_Scheduler_EDF_Ready_queue, node );
sched_info->queue_state = SCHEDULER_EDF_QUEUE_STATE_NOT_PRESENTLY;
}

View File

@@ -35,8 +35,8 @@ void _Scheduler_EDF_Yield( Thread_Control *thread )
* The RBTree has more than one node, enqueue behind the tasks
* with the same priority in case there are such ones.
*/
_RBTree_Extract( &_Scheduler_EDF_Ready_queue, thread_node );
_RBTree_Insert( &_Scheduler_EDF_Ready_queue, thread_node );
_RBTree_Extract_unprotected( &_Scheduler_EDF_Ready_queue, thread_node );
_RBTree_Insert_unprotected( &_Scheduler_EDF_Ready_queue, thread_node );
_ISR_Flash( level );