summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-11-19 16:09:17 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-11-21 12:58:45 +0100
commiteea7c937066a9ff760429c3f1170d72925745535 (patch)
treed8fc45e8437f9928b65cc8a7aeb9d842e73aea8b
parent14876018c3e94f4c1c62aa512bebff1ee5307b79 (diff)
downloadrtems-eea7c937066a9ff760429c3f1170d72925745535.tar.bz2
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.
-rw-r--r--cpukit/score/src/scheduleredfenqueue.c2
-rw-r--r--cpukit/score/src/scheduleredfextract.c2
-rw-r--r--cpukit/score/src/scheduleredfyield.c4
3 files changed, 4 insertions, 4 deletions
diff --git a/cpukit/score/src/scheduleredfenqueue.c b/cpukit/score/src/scheduleredfenqueue.c
index 921721fb67..9a9b906bb9 100644
--- a/cpukit/score/src/scheduleredfenqueue.c
+++ b/cpukit/score/src/scheduleredfenqueue.c
@@ -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;
}
diff --git a/cpukit/score/src/scheduleredfextract.c b/cpukit/score/src/scheduleredfextract.c
index 7547cafcb9..b2f91cc1c8 100644
--- a/cpukit/score/src/scheduleredfextract.c
+++ b/cpukit/score/src/scheduleredfextract.c
@@ -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;
}
diff --git a/cpukit/score/src/scheduleredfyield.c b/cpukit/score/src/scheduleredfyield.c
index fc5b13a7a0..4a80168ab4 100644
--- a/cpukit/score/src/scheduleredfyield.c
+++ b/cpukit/score/src/scheduleredfyield.c
@@ -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 );