diff options
Diffstat (limited to 'cpukit/score/include/rtems/score/thread.h')
-rw-r--r-- | cpukit/score/include/rtems/score/thread.h | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index 90df3a74dc..248ae96850 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -504,20 +504,6 @@ struct Thread_Control_struct { bool is_in_the_air; /** - * @brief This field is true if the thread is executing. - * - * A thread is executing if it executes on a processor. An executing thread - * executes on exactly one processor. There are exactly processor count - * executing threads in the system. An executing thread may have a heir - * thread and thread dispatching is necessary. On SMP a thread dispatch on a - * remote processor needs help from an inter-processor interrupt, thus it - * will take some time to complete the state change. A lot of things can - * happen in the meantime. This field is volatile since it is polled in - * _Thread_Kill_zombies(). - */ - volatile bool is_executing; - - /** * @brief The scheduler of this thread. */ const struct Scheduler_Control *scheduler; @@ -548,7 +534,18 @@ struct Thread_Control_struct { void *scheduler_info; #ifdef RTEMS_SMP + /** + * @brief The processor assigned by the scheduler. + */ Per_CPU_Control *cpu; + +#ifdef RTEMS_DEBUG + /** + * @brief The processor on which this thread executed the last time or is + * executing. + */ + Per_CPU_Control *debug_real_cpu; +#endif #endif /** This field contains information about the starting state of |