summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/schedulerimpl.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-08-10 15:07:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-08-12 20:58:26 +0200
commita5aaf20a2d25846c2bfe78e286550fed38d2c111 (patch)
tree6918797e365abb7fba28ef3adc9ef2ed260bde02 /cpukit/include/rtems/score/schedulerimpl.h
parentrtems: Fix rtems_partition_return_buffer() (diff)
downloadrtems-a5aaf20a2d25846c2bfe78e286550fed38d2c111.tar.bz2
score: Replace priority prepend it with an enum
Use the new Priority_Group_order enum instead of a boolean to indicated if a priority should be inserted as the first or last node into its priority group. This makes the code more expressive. It is also a bit more efficient since a branch in _Scheduler_Node_set_priority() is avoided and a simple bitwise or operation can be used.
Diffstat (limited to 'cpukit/include/rtems/score/schedulerimpl.h')
-rw-r--r--cpukit/include/rtems/score/schedulerimpl.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/cpukit/include/rtems/score/schedulerimpl.h b/cpukit/include/rtems/score/schedulerimpl.h
index 595d6291b4..24db4d7818 100644
--- a/cpukit/include/rtems/score/schedulerimpl.h
+++ b/cpukit/include/rtems/score/schedulerimpl.h
@@ -1388,7 +1388,11 @@ RTEMS_INLINE_ROUTINE Status_Control _Scheduler_Set(
&new_scheduler_node->Thread.Scheduler_node.Chain
);
- _Scheduler_Node_set_priority( new_scheduler_node, priority, false );
+ _Scheduler_Node_set_priority(
+ new_scheduler_node,
+ priority,
+ PRIORITY_GROUP_LAST
+ );
if ( _States_Is_ready( current_state ) ) {
_Scheduler_Unblock( the_thread );
@@ -1398,7 +1402,11 @@ RTEMS_INLINE_ROUTINE Status_Control _Scheduler_Set(
}
#endif
- _Scheduler_Node_set_priority( new_scheduler_node, priority, false );
+ _Scheduler_Node_set_priority(
+ new_scheduler_node,
+ priority,
+ PRIORITY_GROUP_LAST
+ );
_Scheduler_Update_priority( the_thread );
return STATUS_SUCCESSFUL;
}