The PPC Performance Monitor Program, a.k.a. "Perfmon," is provided to obtain per-task performance statistics for applications running under the Wind River VxWorks real-time operating system on the PPC750 architecture. Perfmon is compiled and linked into a VxWorks loadable module. When loaded with user modules, it is available for use through Perfmon commands, without any modification to user code and at negligible performance penalty.
User-specified statistics are generated and written for user-specified time intervals to a user-specified file or to the serial-port.
PerfMon Commands
The commands for operating the PerfMon application would typically be entered individually or as a script to the Wind River Tornado WindSh. Alternately, commands could be entered to a "tip" or "telnet" window connected to the target PPC750's serial port. This however creates an intermingling of user command input and Perfmon output.
Perfmon statistics output is expected to appear on the PPC750 target's serial port. However, error messages resulting from bad command input appears in the WindSh, if WindSh is in use.
Commands mon_Install, mon_Stop, and mon_Select may be called from user code if <mon_Init.h> is #include'd, and commands mon_Run and mon_Namefile may be called if <mon_TaskDisplay.h> is #include'd.
Motivation
The development of Perfmon was motivated by the attributes of the RAD750 space flight computer developed by BAE Systems, Manassas, Virginia. This implementation of the PPC750 architecture includes Level-1 (L1) data and instruction cache, but not Level-2 cache. This makes the overall runtime performance particularly sensitive to cache utilization.