summaryrefslogtreecommitdiffstats
path: root/doc/new_chapters/cpuuse.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-11-19 16:05:05 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-11-19 16:05:05 +0000
commitd82f3e81a4ebfef1fbe471936339ba9260bfcc98 (patch)
treedf2ea5f1c76c748b9852a94cc1403ed5c8f22fd7 /doc/new_chapters/cpuuse.t
parentApplied updates from remote work while doing class. (diff)
downloadrtems-d82f3e81a4ebfef1fbe471936339ba9260bfcc98.tar.bz2
New files
Diffstat (limited to 'doc/new_chapters/cpuuse.t')
-rw-r--r--doc/new_chapters/cpuuse.t142
1 files changed, 142 insertions, 0 deletions
diff --git a/doc/new_chapters/cpuuse.t b/doc/new_chapters/cpuuse.t
new file mode 100644
index 0000000000..ccb92883b8
--- /dev/null
+++ b/doc/new_chapters/cpuuse.t
@@ -0,0 +1,142 @@
+@c
+@c COPYRIGHT (c) 1988-1998.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+@c $Id$
+@c
+
+@chapter CPU Usage Statistics
+
+@section Introduction
+
+The CPU usage statistics manager is an RTEMS support
+component that provides a convenient way to manipulate
+the CPU usage information associated with each task
+The routines provided by the CPU usage statistics manager are:
+
+@itemize @bullet
+@item @code{CPU_usage_Dump} - Report CPU Usage Statistics
+@item @code{CPU_usage_Reset} - Reset CPU Usage Statistics
+@end itemize
+
+@section Background
+
+@section Operations
+
+@section Report CPU Usage Statistics
+
+@subsection Reporting Period Statistics
+
+The application may dynamically report the CPU usage for every
+task in the system by calling the @code{CPU_usage_Dump} routine.
+This routine prints a table with the following information per task:
+
+@itemize @bullet
+@item task id
+@item task name
+@item number of clock ticks executed
+@item percentage of time consumed by this task
+@end itemize
+
+The following is an example of the report generated:
+
+@example
+@group
+CPU Usage by thread
+ ID NAME TICKS PERCENT
+0x04010001 IDLE 0 0.000
+0x08010002 TA1 1203 0.748
+0x08010003 TA2 203 0.126
+0x08010004 TA3 202 0.126
+
+Ticks since last reset = 1600
+
+Total Units = 1608
+@end group
+@end example
+
+Notice that the "Total Units" is greater than the ticks per reset.
+This is an artifact of the way in which RTEMS keeps track of CPU
+usage. When a task is context switched into the CPU, the number
+of clock ticks it has executed is incremented. While the task
+is executing, this number is incremented on each clock tick.
+Otherwise, if a task begins and completes execution between
+successive clock ticks, there would be no way to tell that it
+executed at all.
+
+Another thing to keep in mind when looking at idle time, is that
+many systems -- especially during debug -- have a task providing
+some type of debug interface. It is usually fine to think of the
+total idle time as being the sum of the IDLE task and a debug
+task that will not be included in a production build of an application.
+
+@section Reset CPU Usage Statistics
+
+Invoking the @code{CPU_usage_Reset} routine resets the CPU usage
+statistics for all tasks in the system.
+
+@section Directives
+
+This section details the CPU usage statistics manager's directives.
+A subsection is dedicated to each of this manager's directives
+and describes the calling sequence, related constants, usage,
+and status codes.
+
+@page
+@subsection CPU_usage_Dump - Report CPU Usage Statistics
+
+@subheading CALLING SEQUENCE:
+
+@ifset is-C
+@example
+void CPU_usage_Dump( void );
+@end example
+@end ifset
+
+@ifset is-Ada
+@example
+An Ada interface is not currently available.
+@end example
+@end ifset
+
+@subheading STATUS CODES: NONE
+
+@subheading DESCRIPTION:
+
+This routine prints out a table detailing the CPU usage statistics for
+all tasks in the system.
+
+@subheading NOTES:
+
+NONE
+
+@page
+@subsection CPU_usage_Reset - Reset CPU Usage Statistics
+
+@subheading CALLING SEQUENCE:
+
+@ifset is-C
+@example
+void CPU_usage_Reset( void );
+@end example
+@end ifset
+
+@ifset is-Ada
+@example
+An Ada interface is not currently available.
+@end example
+@end ifset
+
+@subheading STATUS CODES: NONE
+
+@subheading DESCRIPTION:
+
+This routine re-initializes the CPU usage statistics for all tasks
+in the system to their initial state. The initial state is that
+a task has not executed and thus has consumed no CPU time.
+default state which is when zero period executions have occurred.
+
+@subheading NOTES:
+
+NONE