[U-Boot] [PATCH 00/26] dm: tegra: Move nyan-big to livetree
Simon Glass
sjg at chromium.org
Wed May 24 00:44:33 UTC 2017
Hi Tom,
On 22 May 2017 at 16:15, Tom Rini <trini at konsulko.com> wrote:
> On Fri, May 19, 2017 at 08:30:43AM -0600, Simon Glass wrote:
>> This moves an entire board to use a live device tree as an example of the
>> impact.
>>
>> Nyan-big was chosen because I can easily and boot U-Boot without any
>> media swapping, etc.
>>
>> Total code size impact on this board is approximately 9KB on U-Boot and
>> 64 bytes on SPL:
>>
>> 27: dm: tegra: nyan-big: Move to livetree
>> arm: (for 1/1 boards) all +9264.0 bss -16.0 data +44.0 rodata +92.0
>> spl/u-boot-spl:all +326.0 spl/u-boot-spl:rodata +262.0
>> spl/u-boot-spl:text +64.0 text +9144.0
>>
>> Tegra does not use Thumb2, which would likely reduce the code size by about
>> 25%, indicating a code-size impact of perhaps 7KB.
>
> So, did your buildman output get messed up in the copy/paste? I see
> both of the numbers you're saying, but it's all vs u-boot-spl. The 64
> bytes in SPL sounds good.
I think this is right. See 'text +9144.0' which means 9KB of extra in
ARM (not Thumb).
>
>> I have not yet collected reliable detailed timing information. I will do
>> that with the next version of this series, after comments are received.
>> I expect that building the live tree will take a little time, and that
>> using it will be very slightly faster.
>
> I assume that you're in the process of rectifying this with the
> bootstage patches you posted but FWIW I still use
> http://elinux.org/Grabserial as my first weapon-of-choice in these kinds
> of things.
Fair enough, but it's hard to measure down to milliseconds isn't it?
Also, outputting text affects the timing.
Yes I have completed the timing. Sneak preview...the times above are
times to start up driver model at each stage, in microseconds:
Boot time is affected slightly. For nyan-big the times with flat tree are:
2,108 dm_r
7,924 dm_spl
120,724 dm_f
171,816 lcd
With the livetree:
721 dm_r
3,764 of_live
7,990 dm_spl
120,736 dm_f
168,215 lcd
As expected the spl and pre-relocation times are not affected. In the
post-relocation case, the live tree must be built, which here takes about
3.8ms. Driver-model device creation takes a bit of 1ms less time with the
livetree, so all up the cost is about 2.4ms. After DM init there appears
to be a slight reduction in the time taken to set up devices (from 327ms
to 319ms) so overall the live tree does not appear to be any slower. This
is because pre-parsing the device tree makes reading it later faster.
Regards,
Simon
More information about the U-Boot
mailing list