forked from Imagelibrary/rtems
cpuuse: Move is_executing_on_a_core to threadimpl.h
This commit is contained in:
@@ -30,29 +30,6 @@
|
|||||||
#include <rtems/score/todimpl.h>
|
#include <rtems/score/todimpl.h>
|
||||||
#include <rtems/score/watchdogimpl.h>
|
#include <rtems/score/watchdogimpl.h>
|
||||||
|
|
||||||
#ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__
|
|
||||||
static bool is_executing_on_a_core(
|
|
||||||
Thread_Control *the_thread,
|
|
||||||
Timestamp_Control *time_of_context_switch
|
|
||||||
)
|
|
||||||
{
|
|
||||||
#ifndef RTEMS_SMP
|
|
||||||
if ( _Thread_Executing->Object.id == the_thread->Object.id ) {
|
|
||||||
*time_of_context_switch = _Thread_Time_of_last_context_switch;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
/* FIXME: Locking */
|
|
||||||
if ( _Thread_Is_executing_on_a_processor( the_thread ) ) {
|
|
||||||
*time_of_context_switch =
|
|
||||||
_Thread_Get_CPU( the_thread )->time_of_last_context_switch;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* rtems_cpu_usage_report
|
* rtems_cpu_usage_report
|
||||||
*/
|
*/
|
||||||
@@ -149,7 +126,7 @@ void rtems_cpu_usage_report_with_plugin(
|
|||||||
* since the last context switch.
|
* since the last context switch.
|
||||||
*/
|
*/
|
||||||
ran = the_thread->cpu_time_used;
|
ran = the_thread->cpu_time_used;
|
||||||
if ( is_executing_on_a_core( the_thread, &last ) ) {
|
if ( _Thread_Get_time_of_last_context_switch( the_thread, &last ) ) {
|
||||||
Timestamp_Control used;
|
Timestamp_Control used;
|
||||||
_TOD_Get_uptime( &uptime );
|
_TOD_Get_uptime( &uptime );
|
||||||
_Timestamp_Subtract( &last, &uptime, &used );
|
_Timestamp_Subtract( &last, &uptime, &used );
|
||||||
|
|||||||
Reference in New Issue
Block a user