
On 1 September 2011 00:12, Simon Glass sjg@chromium.org wrote:
Hi Mike,
On Wed, Aug 31, 2011 at 3:47 PM, Mike Frysinger vapier@gentoo.org wrote:
On Wednesday, August 31, 2011 18:20:54 Andrew Murray wrote:
This patchset introduces the CONFIG_BOOT_TRACE option which provides support for boot time instrumentation.
When enabled printf output is prefixed with timing information (similar to the kernel's CONFIG_PRINTK_TIME option) and additional output is generated which instruments functions and commands called (much like the kernel's initcall_debug functionality).
The kernel's bootgraph.pl script has been ported to render UBoots instrumented ouptut into a pretty SVG graph. An example of this can be found here: http://goo.gl/dX8aR - which shows the boot time of a Beagle board.
The patch currently provides support for instrumentation of UBoot commands (e.g. U_BOOT_CMD) for all platforms but only when the HUSH shell is not in use. Initialisation instrumentation is only limited to the arch/arm/lib/board.c file at present but can very easily be extended to other relevant files.
i feel like we've had similar ideas tossed around semi-recently. am i just misremembering ? -mike
Yes, for example:
http://patchwork.ozlabs.org/patch/95513/
It got caught up with a big discussion about whether we want a microsecond timer. There is now one in Tegra, but not in the generic timer API. There was also a request to unify this with the boot_progress stuff (i.e. it turned into a big cleanup).
I haven't got back to it yet, but could probably do something next week.
I also have patches to pass the timings to the kernel and have it report them to user space through a device. Planning to send an RFC to the LKML about that probably next week as well. Could be fun.
Regards, Simon
Ah - my bad. I only subscribed to the mailing list today (my first UBoot patch) and didn't notice this previous work.
Is there any cross over between my approach and what is planned/already been done?
Andrew Murray