summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/schedulerpriorityaffinitysmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/src/schedulerpriorityaffinitysmp.c')
-rw-r--r--cpukit/score/src/schedulerpriorityaffinitysmp.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/cpukit/score/src/schedulerpriorityaffinitysmp.c b/cpukit/score/src/schedulerpriorityaffinitysmp.c
index cec09729fb..e171d5e5c7 100644
--- a/cpukit/score/src/schedulerpriorityaffinitysmp.c
+++ b/cpukit/score/src/schedulerpriorityaffinitysmp.c
@@ -60,15 +60,6 @@ static bool _Scheduler_priority_affinity_SMP_Insert_priority_fifo_order(
&& _Scheduler_SMP_Insert_priority_fifo_order( to_insert, next );
}
-static Scheduler_priority_affinity_SMP_Node *
-_Scheduler_priority_affinity_SMP_Thread_get_own_node(
- Thread_Control *thread
-)
-{
- return (Scheduler_priority_affinity_SMP_Node *)
- _Scheduler_Thread_get_own_node( thread );
-}
-
/*
* This method returns the scheduler node for the specified thread
* as a scheduler specific type.
@@ -96,20 +87,21 @@ _Scheduler_priority_affinity_SMP_Node_downcast(
*/
void _Scheduler_priority_affinity_SMP_Node_initialize(
const Scheduler_Control *scheduler,
+ Scheduler_Node *node,
Thread_Control *the_thread,
Priority_Control priority
)
{
- Scheduler_priority_affinity_SMP_Node *node =
- _Scheduler_priority_affinity_SMP_Thread_get_own_node( the_thread );
+ Scheduler_priority_affinity_SMP_Node *the_node;
- _Scheduler_priority_SMP_Node_initialize( scheduler, the_thread, priority );
+ _Scheduler_priority_SMP_Node_initialize( scheduler, node, the_thread, priority );
/*
* All we add is affinity information to the basic SMP node.
*/
- node->Affinity = *_CPU_set_Default();
- node->Affinity.set = &node->Affinity.preallocated;
+ the_node = _Scheduler_priority_affinity_SMP_Node_downcast( node );
+ the_node->Affinity = *_CPU_set_Default();
+ the_node->Affinity.set = &the_node->Affinity.preallocated;
}
/*