summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-19 11:18:51 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-22 16:57:22 +0200
commita9515722907b6d3ed6a42653d2fc9a4d02d13905 (patch)
tree5eaab40938303aeb5b8f03f0952405eed087f5e2
parentlibcsupport: Include missing header file (diff)
downloadrtems-a9515722907b6d3ed6a42653d2fc9a4d02d13905.tar.bz2
cpuuse: Add SMP support
-rw-r--r--cpukit/libmisc/cpuuse/cpuusagereset.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/cpukit/libmisc/cpuuse/cpuusagereset.c b/cpukit/libmisc/cpuuse/cpuusagereset.c
index 92497d75cd..749eae2628 100644
--- a/cpukit/libmisc/cpuuse/cpuusagereset.c
+++ b/cpukit/libmisc/cpuuse/cpuusagereset.c
@@ -41,8 +41,17 @@ static void CPU_usage_Per_thread_handler(
void rtems_cpu_usage_reset( void )
{
#ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__
+ uint32_t processor_count;
+ uint32_t processor;
+
_TOD_Get_uptime( &CPU_usage_Uptime_at_last_reset );
- _Thread_Time_of_last_context_switch = CPU_usage_Uptime_at_last_reset;
+
+ processor_count = rtems_smp_get_processor_count();
+ for ( processor = 0 ; processor < processor_count ; ++processor ) {
+ Per_CPU_Control *per_cpu = &_Per_CPU_Information[ processor ];
+
+ per_cpu->time_of_last_context_switch = CPU_usage_Uptime_at_last_reset;
+ }
#else
CPU_usage_Ticks_at_last_reset = _Watchdog_Ticks_since_boot;
#endif