summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-27 09:03:31 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-28 13:08:53 +0200
commit4edcede7e967ad1676211ef1ae391a473632bec0 (patch)
tree284bf30fb8c35dae7319a68be7f4c7b587bf38cc /cpukit/score/include/rtems
parentbsp: Add new riscv_generic bsp v3 (diff)
downloadrtems-4edcede7e967ad1676211ef1ae391a473632bec0.tar.bz2
score: Simplify SMP get lowest scheduled
There is no need to pass in the order relation since the scheduled threads reside on an already ordered chain. The caller will decide what to do with the lowest scheduled thread.
Diffstat (limited to 'cpukit/score/include/rtems')
-rw-r--r--cpukit/score/include/rtems/score/schedulersmpimpl.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/cpukit/score/include/rtems/score/schedulersmpimpl.h b/cpukit/score/include/rtems/score/schedulersmpimpl.h
index 3afa6b2a0c..3194ee39a0 100644
--- a/cpukit/score/include/rtems/score/schedulersmpimpl.h
+++ b/cpukit/score/include/rtems/score/schedulersmpimpl.h
@@ -286,8 +286,7 @@ typedef Scheduler_Node *( *Scheduler_SMP_Get_highest_ready )(
typedef Scheduler_Node *( *Scheduler_SMP_Get_lowest_scheduled )(
Scheduler_Context *context,
- Scheduler_Node *filter,
- Chain_Node_order order
+ Scheduler_Node *filter
);
typedef void ( *Scheduler_SMP_Extract )(
@@ -615,8 +614,7 @@ static inline Thread_Control *_Scheduler_SMP_Preempt(
static inline Scheduler_Node *_Scheduler_SMP_Get_lowest_scheduled(
Scheduler_Context *context,
- Scheduler_Node *filter,
- Chain_Node_order order
+ Scheduler_Node *filter
)
{
Scheduler_SMP_Context *self = _Scheduler_SMP_Get_self( context );
@@ -625,7 +623,6 @@ static inline Scheduler_Node *_Scheduler_SMP_Get_lowest_scheduled(
(Scheduler_Node *) _Chain_Last( scheduled );
(void) filter;
- (void) order;
_Assert( &lowest_scheduled->Node.Chain != _Chain_Tail( scheduled ) );
_Assert(
@@ -725,7 +722,7 @@ static inline bool _Scheduler_SMP_Enqueue_ordered(
bool needs_help;
Scheduler_Node *lowest_scheduled;
- lowest_scheduled = ( *get_lowest_scheduled )( context, node, order );
+ lowest_scheduled = ( *get_lowest_scheduled )( context, node );
if ( ( *order )( &node->Node.Chain, &lowest_scheduled->Node.Chain ) ) {
_Scheduler_SMP_Enqueue_to_scheduled(
@@ -1207,7 +1204,7 @@ static inline bool _Scheduler_SMP_Ask_for_help(
ISR_lock_Context lock_context;
bool success;
- lowest_scheduled = ( *get_lowest_scheduled )( context, node, order );
+ lowest_scheduled = ( *get_lowest_scheduled )( context, node );
_Thread_Scheduler_acquire_critical( thread, &lock_context );