Ignore:
Timestamp:
May 13, 2014, 2:03:05 PM (6 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, master
Children:
c6522a65
Parents:
5b1ff71a
git-author:
Sebastian Huber <sebastian.huber@…> (05/13/14 14:03:05)
git-committer:
Sebastian Huber <sebastian.huber@…> (05/14/14 12:46:19)
Message:

score: Introduce scheduler nodes

Rename scheduler per-thread information into scheduler nodes using
Scheduler_Node as the base type. Use inheritance for specialized
schedulers.

Move the scheduler specific states from the thread control block into
the scheduler node structure.

Validate the SMP scheduler node state transitions in case RTEMS_DEBUG is
defined.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/src/scheduleredfyield.c

    r5b1ff71a rbeab7329  
    2929  Scheduler_EDF_Context *context =
    3030    _Scheduler_EDF_Get_context( scheduler );
     31  Scheduler_EDF_Node    *node = _Scheduler_EDF_Node_get( the_thread );
    3132  ISR_Level              level;
    32 
    33   Scheduler_EDF_Per_thread *thread_info =
    34     (Scheduler_EDF_Per_thread *) the_thread->scheduler_info;
    35   RBTree_Node *thread_node = &(thread_info->Node);
    3633
    3734  _ISR_Disable( level );
     
    4138   * with the same priority in case there are such ones.
    4239   */
    43   _RBTree_Extract( &context->Ready, thread_node );
    44   _RBTree_Insert( &context->Ready, thread_node );
     40  _RBTree_Extract( &context->Ready, &node->Node );
     41  _RBTree_Insert( &context->Ready, &node->Node );
    4542
    4643  _ISR_Flash( level );
Note: See TracChangeset for help on using the changeset viewer.