diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-04 10:56:36 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-15 08:37:11 +0200 |
commit | e1598a616db1e9dadfd74abeb20b1f1ec5daaa7f (patch) | |
tree | 0aabc512f4beb2b30eba7885926d06a878988855 /cpukit/score/include/rtems/score/scheduleredfimpl.h | |
parent | score: Add and use RTEMS_ZERO_LENGTH_ARRAY (diff) | |
download | rtems-e1598a616db1e9dadfd74abeb20b1f1ec5daaa7f.tar.bz2 |
score: Static scheduler configuration
Do not allocate the scheduler control structures from the workspace.
This is a preparation step for configuration of clustered/partitioned
schedulers on SMP.
Diffstat (limited to 'cpukit/score/include/rtems/score/scheduleredfimpl.h')
-rw-r--r-- | cpukit/score/include/rtems/score/scheduleredfimpl.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/cpukit/score/include/rtems/score/scheduleredfimpl.h b/cpukit/score/include/rtems/score/scheduleredfimpl.h index bfeff639dd..d4b197e442 100644 --- a/cpukit/score/include/rtems/score/scheduleredfimpl.h +++ b/cpukit/score/include/rtems/score/scheduleredfimpl.h @@ -31,21 +31,21 @@ extern "C" { * @{ */ -RTEMS_INLINE_ROUTINE Scheduler_EDF_Control * - _Scheduler_EDF_Self_from_base( Scheduler_Control *scheduler_base ) +RTEMS_INLINE_ROUTINE Scheduler_EDF_Context * + _Scheduler_EDF_Get_context( const Scheduler_Control *scheduler ) { - return (Scheduler_EDF_Control *) scheduler_base->information; + return (Scheduler_EDF_Context *) scheduler->context; } RTEMS_INLINE_ROUTINE void _Scheduler_EDF_Schedule_body( - Scheduler_Control *scheduler_base, - Thread_Control *the_thread, - bool force_dispatch + const Scheduler_Control *scheduler, + Thread_Control *the_thread, + bool force_dispatch ) { - Scheduler_EDF_Control *scheduler = - _Scheduler_EDF_Self_from_base( scheduler_base ); - RBTree_Node *first = _RBTree_First(&scheduler->Ready, RBT_LEFT); + Scheduler_EDF_Context *context = + _Scheduler_EDF_Get_context( scheduler ); + RBTree_Node *first = _RBTree_First( &context->Ready, RBT_LEFT ); Scheduler_EDF_Per_thread *sched_info = _RBTree_Container_of(first, Scheduler_EDF_Per_thread, Node); Thread_Control *heir = (Thread_Control *) sched_info->thread; |