diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-09-07 09:04:45 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-09-21 08:59:32 +0200 |
commit | 5d6b21198140f406a71599a2d388b6ec47ee3337 (patch) | |
tree | 0b23d99cc9055cea777bf167d518eda1c305bc27 /cpukit/score/include/rtems/score/threadimpl.h | |
parent | score: Rework thread priority management (diff) | |
download | rtems-5d6b21198140f406a71599a2d388b6ec47ee3337.tar.bz2 |
score: Add scheduler node table for each thread
Update #2556.
Diffstat (limited to 'cpukit/score/include/rtems/score/threadimpl.h')
-rw-r--r-- | cpukit/score/include/rtems/score/threadimpl.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/cpukit/score/include/rtems/score/threadimpl.h b/cpukit/score/include/rtems/score/threadimpl.h index 7f9dccf5e2..09af9c15dd 100644 --- a/cpukit/score/include/rtems/score/threadimpl.h +++ b/cpukit/score/include/rtems/score/threadimpl.h @@ -993,7 +993,23 @@ RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_own_node( #if defined(RTEMS_SMP) return the_thread->Scheduler.own_node; #else - return the_thread->Scheduler.node; + return the_thread->Scheduler.nodes; +#endif +} + +RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_node_by_index( + const Thread_Control *the_thread, + size_t scheduler_index +) +{ +#if defined(RTEMS_SMP) + return (Scheduler_Node *) + ( (uintptr_t) the_thread->Scheduler.nodes + + scheduler_index * _Scheduler_Node_size ); +#else + _Assert( scheduler_index == 0 ); + (void) scheduler_index; + return the_thread->Scheduler.nodes; #endif } |