On Tue, Jun 11, 2013 at 11:14:32AM -0700, Simon Glass wrote: > This series adds a tracing feature to U-Boot which is useful for > profiling boot time and other purposes. > > The core trace library relies on standard gcc function instrumentation > and a microsecond timer which should work correctly on almost any > architecture. Generic board is used to avoid the need to add the same > code in multiple places (CONFIG_SYS_GENERIC_BOARD). > > Tracing must be built into the U-Boot image at build time, but can be > paused and resumed while running. A trace buffer is used to collect > trace information. This buffer can then be transmitted to a host for > processing. A host-based processing tool is provided which converts the > data to the same format used by Linux, and that can be read by the > pytimechart GUI tool. > > A U-Boot 'trace' command provides access to the trace information, > including support for writing it to memory in a few forms. > > Support is provided for stopping tracing at the last possible moment in > the bootm process (just before U-Boot jumps to the OS). This is done with > a new 'fake go' command, which allows bootm to go through the motions of > an OS boot without actually committing to it. Once the 'fake go' is > complete, U-Boot can stop tracing and continue execution to transmit the > trace information to the host, before jumping to the OS for real. > > The system is tested on sandbox, x86 and smdk5250/snow. It may work > correctly on Tegra and other machines but unfortunately has not been > tested. A simple test script is provided for sandbox, along with > documentation on how to use the feature. > > This feature has been successfully used alongside bootstage to locate > bottlenecks and reduce overall boot time.
With v3 of 17/21, applied to u-boot/master, thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot