summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-10-10 14:33:17 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-02 10:05:41 +0100
commite382a1bfccdecf1dcf01c452ee0edb5afa0660b3 (patch)
tree901e36ea6fcacc997210cb13d19fd997ed15251d /cpukit/score/src
parentscore: Pass scheduler node to yield operation (diff)
downloadrtems-e382a1bfccdecf1dcf01c452ee0edb5afa0660b3.tar.bz2
score: Pass scheduler node to block operation
Changed for consistency with other scheduler operations. Update #2556.
Diffstat (limited to 'cpukit/score/src')
-rw-r--r--cpukit/score/src/scheduleredfblock.c4
-rw-r--r--cpukit/score/src/schedulerpriorityaffinitysmp.c6
-rw-r--r--cpukit/score/src/schedulerpriorityblock.c4
-rw-r--r--cpukit/score/src/schedulerprioritysmp.c4
-rw-r--r--cpukit/score/src/schedulersimpleblock.c4
-rw-r--r--cpukit/score/src/schedulersimplechangepriority.c2
-rw-r--r--cpukit/score/src/schedulersimplesmp.c4
-rw-r--r--cpukit/score/src/schedulerstrongapa.c4
8 files changed, 23 insertions, 9 deletions
diff --git a/cpukit/score/src/scheduleredfblock.c b/cpukit/score/src/scheduleredfblock.c
index 80cb83d70b..1269e8e5bc 100644
--- a/cpukit/score/src/scheduleredfblock.c
+++ b/cpukit/score/src/scheduleredfblock.c
@@ -23,12 +23,14 @@
void _Scheduler_EDF_Block(
const Scheduler_Control *scheduler,
- Thread_Control *the_thread
+ Thread_Control *the_thread,
+ Scheduler_Node *node
)
{
_Scheduler_Generic_block(
scheduler,
the_thread,
+ node,
_Scheduler_EDF_Extract_body,
_Scheduler_EDF_Schedule_body
);
diff --git a/cpukit/score/src/schedulerpriorityaffinitysmp.c b/cpukit/score/src/schedulerpriorityaffinitysmp.c
index 9282b1a845..451df88d83 100644
--- a/cpukit/score/src/schedulerpriorityaffinitysmp.c
+++ b/cpukit/score/src/schedulerpriorityaffinitysmp.c
@@ -190,7 +190,8 @@ static Scheduler_Node *_Scheduler_priority_affinity_SMP_Get_highest_ready(
*/
void _Scheduler_priority_affinity_SMP_Block(
const Scheduler_Control *scheduler,
- Thread_Control *thread
+ Thread_Control *thread,
+ Scheduler_Node *node
)
{
Scheduler_Context *context = _Scheduler_Get_context( scheduler );
@@ -198,6 +199,7 @@ void _Scheduler_priority_affinity_SMP_Block(
_Scheduler_SMP_Block(
context,
thread,
+ node,
_Scheduler_priority_SMP_Extract_from_ready,
_Scheduler_priority_affinity_SMP_Get_highest_ready,
_Scheduler_priority_SMP_Move_from_ready_to_scheduled,
@@ -599,7 +601,7 @@ bool _Scheduler_priority_affinity_SMP_Set_affinity(
current_state = thread->current_state;
if ( _States_Is_ready( current_state ) ) {
- _Scheduler_priority_affinity_SMP_Block( scheduler, thread );
+ _Scheduler_priority_affinity_SMP_Block( scheduler, thread, &node->Base.Base.Base );
}
CPU_COPY( node->Affinity.set, cpuset );
diff --git a/cpukit/score/src/schedulerpriorityblock.c b/cpukit/score/src/schedulerpriorityblock.c
index ba3c825322..611c4cd343 100644
--- a/cpukit/score/src/schedulerpriorityblock.c
+++ b/cpukit/score/src/schedulerpriorityblock.c
@@ -24,12 +24,14 @@
void _Scheduler_priority_Block(
const Scheduler_Control *scheduler,
- Thread_Control *the_thread
+ Thread_Control *the_thread,
+ Scheduler_Node *node
)
{
_Scheduler_Generic_block(
scheduler,
the_thread,
+ node,
_Scheduler_priority_Extract_body,
_Scheduler_priority_Schedule_body
);
diff --git a/cpukit/score/src/schedulerprioritysmp.c b/cpukit/score/src/schedulerprioritysmp.c
index 3c88161767..ab3e663a81 100644
--- a/cpukit/score/src/schedulerprioritysmp.c
+++ b/cpukit/score/src/schedulerprioritysmp.c
@@ -92,7 +92,8 @@ static Scheduler_Node *_Scheduler_priority_SMP_Get_highest_ready(
void _Scheduler_priority_SMP_Block(
const Scheduler_Control *scheduler,
- Thread_Control *thread
+ Thread_Control *thread,
+ Scheduler_Node *node
)
{
Scheduler_Context *context = _Scheduler_Get_context( scheduler );
@@ -100,6 +101,7 @@ void _Scheduler_priority_SMP_Block(
_Scheduler_SMP_Block(
context,
thread,
+ node,
_Scheduler_priority_SMP_Extract_from_ready,
_Scheduler_priority_SMP_Get_highest_ready,
_Scheduler_priority_SMP_Move_from_ready_to_scheduled,
diff --git a/cpukit/score/src/schedulersimpleblock.c b/cpukit/score/src/schedulersimpleblock.c
index ad409bbf61..2fd50b74cb 100644
--- a/cpukit/score/src/schedulersimpleblock.c
+++ b/cpukit/score/src/schedulersimpleblock.c
@@ -23,12 +23,14 @@
void _Scheduler_simple_Block(
const Scheduler_Control *scheduler,
- Thread_Control *the_thread
+ Thread_Control *the_thread,
+ Scheduler_Node *node
)
{
_Scheduler_Generic_block(
scheduler,
the_thread,
+ node,
_Scheduler_simple_Extract,
_Scheduler_simple_Schedule_body
);
diff --git a/cpukit/score/src/schedulersimplechangepriority.c b/cpukit/score/src/schedulersimplechangepriority.c
index e430c75e08..cad75f8d6e 100644
--- a/cpukit/score/src/schedulersimplechangepriority.c
+++ b/cpukit/score/src/schedulersimplechangepriority.c
@@ -38,7 +38,7 @@ Scheduler_Void_or_thread _Scheduler_simple_Update_priority(
context = _Scheduler_simple_Get_context( scheduler );
_Scheduler_Node_get_priority( node, &prepend_it );
- _Scheduler_simple_Extract( scheduler, the_thread );
+ _Scheduler_simple_Extract( scheduler, the_thread, node );
if ( prepend_it ) {
_Scheduler_simple_Insert_priority_lifo( &context->Ready, the_thread );
diff --git a/cpukit/score/src/schedulersimplesmp.c b/cpukit/score/src/schedulersimplesmp.c
index b476c08edb..3d4efeade0 100644
--- a/cpukit/score/src/schedulersimplesmp.c
+++ b/cpukit/score/src/schedulersimplesmp.c
@@ -159,7 +159,8 @@ static void _Scheduler_simple_SMP_Extract_from_ready(
void _Scheduler_simple_SMP_Block(
const Scheduler_Control *scheduler,
- Thread_Control *thread
+ Thread_Control *thread,
+ Scheduler_Node *node
)
{
Scheduler_Context *context = _Scheduler_Get_context( scheduler );
@@ -167,6 +168,7 @@ void _Scheduler_simple_SMP_Block(
_Scheduler_SMP_Block(
context,
thread,
+ node,
_Scheduler_simple_SMP_Extract_from_ready,
_Scheduler_simple_SMP_Get_highest_ready,
_Scheduler_simple_SMP_Move_from_ready_to_scheduled,
diff --git a/cpukit/score/src/schedulerstrongapa.c b/cpukit/score/src/schedulerstrongapa.c
index 2b2f4e4839..b5a5545a5f 100644
--- a/cpukit/score/src/schedulerstrongapa.c
+++ b/cpukit/score/src/schedulerstrongapa.c
@@ -218,7 +218,8 @@ static Scheduler_Node *_Scheduler_strong_APA_Get_highest_ready(
void _Scheduler_strong_APA_Block(
const Scheduler_Control *scheduler,
- Thread_Control *the_thread
+ Thread_Control *the_thread,
+ Scheduler_Node *node
)
{
Scheduler_Context *context = _Scheduler_Get_context( scheduler );
@@ -226,6 +227,7 @@ void _Scheduler_strong_APA_Block(
_Scheduler_SMP_Block(
context,
the_thread,
+ node,
_Scheduler_strong_APA_Extract_from_ready,
_Scheduler_strong_APA_Get_highest_ready,
_Scheduler_strong_APA_Move_from_ready_to_scheduled,