MIPS Hot Spot Analyzer

 
The Hot Spot Analyzer (HSA) is an Eclipse plug-in that provides non-intrusive profiling of software running on MIPS32® cores. It is built on the unique Zero Overhead Program Counter (PC) Sampling feature included in the MIPS32 M14K, 24K®, 34K®, 74K, 1004K and 1074K cores.

The software used with a Navigator EJTAG probe and host software can collect and display measurement results in the MIPS® Navigator Integrated Component Suite (ICS), an Eclipse-based development and analysis tool suite. The HSA is licensed as part of the Navigator ICS software.

Documentation

Hot Spot Analyzer for MIPS32® Cores (pdf)

Key Features and Benefits

Utilizes Zero Overhead Program Counter (PC) Sampling in MIPS32 cores.

PC samples are taken at high speed with the Navigator EJTAG probe.

Provides faster results and far more detail than interrupt-based software methods.

License included in the MIPS Navigator ICS software.

Tailored for fast Linux kernel profiling.

Supports Linux loadable modules (device drivers) that run in kseg2.

Easy to use – simply connect to target, load elf symbol file, start target and HSA, then view the results.

Sorts results by hits in each symbolic range.

Displays results at several levels of symbolic granularity – modules, functions, line numbers or individual instructions.

Measurement results can be saved to comma separated values (.csv) file; then loaded into a spreadsheet or processed with another program.

Will measure “bare iron” systems which can include commercial off-the-shelf RTOS or in-house varieties.

Linux Kernel Profiling

The HSA software was designed specifically to support Linux kernel profiling, which resides in the kseg0 region of the MIPS® memory architecture. It can handle large numbers of module and function symbols – the typical Linux kernel has over 12,000 – and it can accumulate counts for each address range represented by the symbols. The HSA accumulates the total counts, then sorts and displays the percentage of total counts for each symbol, providing a profile view of the target’s kernel activity. With this information, the user can quickly identify program bottlenecks that are restricting system performance, and understand the best methods for making kernel system calls.

Easy to Set Up and Run

The HSA is an Eclipse plug-in that provides its own views and run controls. Because no instrumentation is necessary, it is a simple process to set up and take measurements on a target MIPS core – plug in the Navigator EJTAG probe, load symbols, launch a debug session, then start the HSA plug-in. The results can be automatically updated periodically or updated manually with a refresh button to review the latest results.

Linux Modules Profiling

Most device drivers are built as Linux loadable modules. These are run-time loaded into the kseg2 memory space of the MIPS architecture. The HSA can load multiple .elf symbol files – one for each loadable module – and provide the means of entering the offset address of where the module was loaded. This adjusts each symbol to its absolute virtual address.