Поделиться через


Running the Kernel Profiler in Monte Carlo Mode (Compact 2013)

3/26/2014

Using the Kernel Profiler should be one of your first steps in a performance investigation, but you should always consider that it cannot tell you everything. If you need more information, use one of the other performance tools.

The Kernel Profiler report shows which code is running for the most time, on a per-function and on a per-module basis. That information might help find performance bottlenecks in the system.

To run the Kernel Profiler in Monte Carlo mode

  1. Add all modules of interest into the MODULES section of ROM.

    Your application does not have to be built in any special way, but the profiler can only look up symbols for modules that are in the MODULES section of ROM. For more information about ROM sections, see Run-Time Image Configuration Files.

  2. Build a profiling-enabled run-time image.

    For information about how to build a profiling image, see Building a Run-Time Image That Supports Standalone Profiling.

    No other specific components or build are required. Multi-XIP images should work well.

    If you created your BSP by copying a sample BSP, then profiling should work. If you created your BSP from scratch, then you might have to add some code to implement the profiler interrupt. See Implementing Profiler Timer Interrupts in the OAL.

  3. Boot the target device.

  4. Start the application to be profiled.

    Proceed to the next step as quickly as possible, or else you will miss profiling the start of your test.

  5. Start the profiler.

  6. Stop the profiler when your test is finished.

    Try to minimize the time between the end of your test and the end of profiling.

    If you are using buffered or unbuffered profiling, the results will be printed to debug output. If you are using KITL, the debug output will appear in the output window; if you are not using KITL, the debug output is probably written to your device’s debug serial port.

See Also

Concepts

Setting up the Kernel Profiler
Understanding Kernel Profiler Output