[rtems commit] score: Move is_executing_on_a_core from cpuusagereport. c to threadimpl.h

Jennifer Averett jennifer at rtems.org
Tue Oct 28 15:17:52 UTC 2014


Module:    rtems
Branch:    master
Commit:    f9b19d9f838d7ef0b99e06149e58cbec1d775711
Changeset: http://git.rtems.org/rtems/commit/?id=f9b19d9f838d7ef0b99e06149e58cbec1d775711

Author:    Jennifer Averett <jennifer.averett at oarcorp.com>
Date:      Fri Sep 19 14:04:49 2014 -0500

score: Move is_executing_on_a_core from cpuusagereport.c to threadimpl.h

---

 cpukit/score/include/rtems/score/threadimpl.h |   30 +++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/cpukit/score/include/rtems/score/threadimpl.h b/cpukit/score/include/rtems/score/threadimpl.h
index 61b498a..bfaf1fd 100644
--- a/cpukit/score/include/rtems/score/threadimpl.h
+++ b/cpukit/score/include/rtems/score/threadimpl.h
@@ -494,6 +494,36 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_executing_on_a_processor(
 #endif
 
 /**
+ * @brief Returns @true and sets time_of_context_switch to the the
+ * time of the last context switch when the thread is currently executing
+ * in the system, otherwise @a false.
+ */
+RTEMS_INLINE_ROUTINE bool _Thread_Get_time_of_last_context_switch(
+  Thread_Control    *the_thread,
+  Timestamp_Control *time_of_context_switch
+)
+{
+  bool retval = false;
+
+  _Thread_Disable_dispatch();
+  #ifndef RTEMS_SMP
+    if ( _Thread_Executing->Object.id == the_thread->Object.id ) {
+      *time_of_context_switch = _Thread_Time_of_last_context_switch;
+      retval = true;
+    }
+  #else
+    if ( _Thread_Is_executing_on_a_processor( the_thread ) ) {
+      *time_of_context_switch =
+        _Thread_Get_CPU( the_thread )->time_of_last_context_switch;
+      retval = true;
+    }
+  #endif
+  _Thread_Enable_dispatch();
+  return retval;
+}
+
+
+/**
  * This function returns true if the_thread is the heir
  * thread, and false otherwise.
  */



More information about the vc mailing list