summaryrefslogtreecommitdiffstats
path: root/cpukit/score
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-10-19 13:06:09 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-11-23 11:00:28 +0100
commita53229bbb6526c16c65d0f9bbeeb7ea10cd59d6a (patch)
tree3866991c70a5970d8363214d4471dbc05dbf5b72 /cpukit/score
parentscore: Remove return value from enqueue scheduled (diff)
downloadrtems-a53229bbb6526c16c65d0f9bbeeb7ea10cd59d6a.tar.bz2
score: Use extract from scheduled callbacks
Use the extract from scheduled callback provided by the scheduler implementation in the SMP scheduler framework. Update #4531.
Diffstat (limited to 'cpukit/score')
-rw-r--r--cpukit/score/src/scheduleredfsmp.c5
-rw-r--r--cpukit/score/src/schedulerpriorityaffinitysmp.c3
-rw-r--r--cpukit/score/src/schedulerprioritysmp.c4
-rw-r--r--cpukit/score/src/schedulersimplesmp.c4
-rw-r--r--cpukit/score/src/schedulerstrongapa.c5
5 files changed, 21 insertions, 0 deletions
diff --git a/cpukit/score/src/scheduleredfsmp.c b/cpukit/score/src/scheduleredfsmp.c
index 8b0467e893..a915dbe511 100644
--- a/cpukit/score/src/scheduleredfsmp.c
+++ b/cpukit/score/src/scheduleredfsmp.c
@@ -529,6 +529,7 @@ void _Scheduler_EDF_SMP_Update_priority(
context,
thread,
node,
+ _Scheduler_EDF_SMP_Extract_from_scheduled,
_Scheduler_EDF_SMP_Extract_from_ready,
_Scheduler_EDF_SMP_Do_update,
_Scheduler_EDF_SMP_Enqueue,
@@ -578,6 +579,7 @@ void _Scheduler_EDF_SMP_Withdraw_node(
the_thread,
node,
next_state,
+ _Scheduler_EDF_SMP_Extract_from_scheduled,
_Scheduler_EDF_SMP_Extract_from_ready,
_Scheduler_EDF_SMP_Get_highest_ready,
_Scheduler_EDF_SMP_Move_from_ready_to_scheduled,
@@ -625,6 +627,7 @@ Thread_Control *_Scheduler_EDF_SMP_Remove_processor(
return _Scheduler_SMP_Remove_processor(
context,
cpu,
+ _Scheduler_EDF_SMP_Extract_from_scheduled,
_Scheduler_EDF_SMP_Extract_from_ready,
_Scheduler_EDF_SMP_Enqueue
);
@@ -642,6 +645,7 @@ void _Scheduler_EDF_SMP_Yield(
context,
thread,
node,
+ _Scheduler_EDF_SMP_Extract_from_scheduled,
_Scheduler_EDF_SMP_Extract_from_ready,
_Scheduler_EDF_SMP_Enqueue,
_Scheduler_EDF_SMP_Enqueue_scheduled
@@ -758,6 +762,7 @@ Status_Control _Scheduler_EDF_SMP_Set_affinity(
node_base,
&rqi,
_Scheduler_EDF_SMP_Do_set_affinity,
+ _Scheduler_EDF_SMP_Extract_from_scheduled,
_Scheduler_EDF_SMP_Extract_from_ready,
_Scheduler_EDF_SMP_Get_highest_ready,
_Scheduler_EDF_SMP_Move_from_ready_to_scheduled,
diff --git a/cpukit/score/src/schedulerpriorityaffinitysmp.c b/cpukit/score/src/schedulerpriorityaffinitysmp.c
index b328fae590..4bbf2f6e17 100644
--- a/cpukit/score/src/schedulerpriorityaffinitysmp.c
+++ b/cpukit/score/src/schedulerpriorityaffinitysmp.c
@@ -449,6 +449,7 @@ void _Scheduler_priority_affinity_SMP_Update_priority(
context,
thread,
node,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_priority_SMP_Extract_from_ready,
_Scheduler_priority_SMP_Do_update,
_Scheduler_priority_affinity_SMP_Enqueue,
@@ -503,6 +504,7 @@ void _Scheduler_priority_affinity_SMP_Withdraw_node(
the_thread,
node,
next_state,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_priority_SMP_Extract_from_ready,
_Scheduler_priority_affinity_SMP_Get_highest_ready,
_Scheduler_priority_SMP_Move_from_ready_to_scheduled,
@@ -536,6 +538,7 @@ Thread_Control *_Scheduler_priority_affinity_SMP_Remove_processor(
return _Scheduler_SMP_Remove_processor(
context,
cpu,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_priority_SMP_Extract_from_ready,
_Scheduler_priority_affinity_SMP_Enqueue
);
diff --git a/cpukit/score/src/schedulerprioritysmp.c b/cpukit/score/src/schedulerprioritysmp.c
index 99eb52bf86..b0b920c960 100644
--- a/cpukit/score/src/schedulerprioritysmp.c
+++ b/cpukit/score/src/schedulerprioritysmp.c
@@ -207,6 +207,7 @@ void _Scheduler_priority_SMP_Update_priority(
context,
thread,
node,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_priority_SMP_Extract_from_ready,
_Scheduler_priority_SMP_Do_update,
_Scheduler_priority_SMP_Enqueue,
@@ -256,6 +257,7 @@ void _Scheduler_priority_SMP_Withdraw_node(
the_thread,
node,
next_state,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_priority_SMP_Extract_from_ready,
_Scheduler_priority_SMP_Get_highest_ready,
_Scheduler_priority_SMP_Move_from_ready_to_scheduled,
@@ -289,6 +291,7 @@ Thread_Control *_Scheduler_priority_SMP_Remove_processor(
return _Scheduler_SMP_Remove_processor(
context,
cpu,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_priority_SMP_Extract_from_ready,
_Scheduler_priority_SMP_Enqueue
);
@@ -306,6 +309,7 @@ void _Scheduler_priority_SMP_Yield(
context,
thread,
node,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_priority_SMP_Extract_from_ready,
_Scheduler_priority_SMP_Enqueue,
_Scheduler_priority_SMP_Enqueue_scheduled
diff --git a/cpukit/score/src/schedulersimplesmp.c b/cpukit/score/src/schedulersimplesmp.c
index efc71dce84..02e4579aa1 100644
--- a/cpukit/score/src/schedulersimplesmp.c
+++ b/cpukit/score/src/schedulersimplesmp.c
@@ -277,6 +277,7 @@ void _Scheduler_simple_SMP_Update_priority(
context,
thread,
node,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_simple_SMP_Extract_from_ready,
_Scheduler_simple_SMP_Do_update,
_Scheduler_simple_SMP_Enqueue,
@@ -326,6 +327,7 @@ void _Scheduler_simple_SMP_Withdraw_node(
the_thread,
node,
next_state,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_simple_SMP_Extract_from_ready,
_Scheduler_simple_SMP_Get_highest_ready,
_Scheduler_simple_SMP_Move_from_ready_to_scheduled,
@@ -359,6 +361,7 @@ Thread_Control *_Scheduler_simple_SMP_Remove_processor(
return _Scheduler_SMP_Remove_processor(
context,
cpu,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_simple_SMP_Extract_from_ready,
_Scheduler_simple_SMP_Enqueue
);
@@ -376,6 +379,7 @@ void _Scheduler_simple_SMP_Yield(
context,
thread,
node,
+ _Scheduler_SMP_Extract_from_scheduled,
_Scheduler_simple_SMP_Extract_from_ready,
_Scheduler_simple_SMP_Enqueue,
_Scheduler_simple_SMP_Enqueue_scheduled
diff --git a/cpukit/score/src/schedulerstrongapa.c b/cpukit/score/src/schedulerstrongapa.c
index 6643005288..afd9fcc709 100644
--- a/cpukit/score/src/schedulerstrongapa.c
+++ b/cpukit/score/src/schedulerstrongapa.c
@@ -809,6 +809,7 @@ void _Scheduler_strong_APA_Yield(
context,
thread,
node,
+ _Scheduler_strong_APA_Extract_from_scheduled,
_Scheduler_strong_APA_Extract_from_ready,
_Scheduler_strong_APA_Enqueue,
_Scheduler_strong_APA_Enqueue_scheduled
@@ -872,6 +873,7 @@ void _Scheduler_strong_APA_Update_priority(
context,
thread,
node,
+ _Scheduler_strong_APA_Extract_from_scheduled,
_Scheduler_strong_APA_Extract_from_ready,
_Scheduler_strong_APA_Do_update,
_Scheduler_strong_APA_Enqueue,
@@ -925,6 +927,7 @@ void _Scheduler_strong_APA_Withdraw_node(
the_thread,
node,
next_state,
+ _Scheduler_strong_APA_Extract_from_scheduled,
_Scheduler_strong_APA_Extract_from_ready,
_Scheduler_strong_APA_Get_highest_ready,
_Scheduler_strong_APA_Move_from_ready_to_scheduled,
@@ -988,6 +991,7 @@ Thread_Control *_Scheduler_strong_APA_Remove_processor(
return _Scheduler_SMP_Remove_processor(
context,
cpu,
+ _Scheduler_strong_APA_Extract_from_scheduled,
_Scheduler_strong_APA_Extract_from_ready,
_Scheduler_strong_APA_Enqueue
);
@@ -1045,6 +1049,7 @@ Status_Control _Scheduler_strong_APA_Set_affinity(
node_base,
&local_affinity,
_Scheduler_strong_APA_Do_set_affinity,
+ _Scheduler_strong_APA_Extract_from_scheduled,
_Scheduler_strong_APA_Extract_from_ready,
_Scheduler_strong_APA_Get_highest_ready,
_Scheduler_strong_APA_Move_from_ready_to_scheduled,