[U-Boot] [PATCH v2 1/5] lib: Add wait_for_bit

Mateusz Kulikowski mateusz.kulikowski at gmail.com
Sun Dec 20 17:19:05 CET 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi Marek,

On 17.12.2015 00:52, Marek Vasut wrote:
[...]

>> Of course I can make it static inline.
>>
>> I was suggested not to care about possible leftovers that are
>> not garbage-collected by linker so didn't changed that on V2.
>>
>> It's (max) few bytes that may be consumed by section alignment.
> 
> I was just curious about how much difference this would make.

I added one more commit (to do wait_for_bit static inline), and ran 
buildman on 4 boards (2x using and 2x not using wait_bit).

tl;dr: 
For (at least) some boards it increases .rodata by 7 bytes.
Even if they don't use wait_for_bit.
Inline version works better, as it doesn't touch them

My proposal - I'll send v3 with wait_for_bit as static inline...

Buildman output:

$ tools/buildman/buildman -b wait_for_bit_v2 -o buildman  hikey sandbox usb_a9263 zynq_picozed -sdSB
boards.cfg is up to date. Nothing to do.
Summary of 7 commits for 4 boards (4 threads, 1 job per thread)
01: eeprom: fix eeprom write procedure
02: lib: Add wait_for_bit
   sandbox: (for 1/1 boards)  all +224.0  text +224.0 
            sandbox        :  all +224  text +224 
               u-boot: add: 1/0, grow: 0/0 bytes: 137/0 (137)
                 function                                   old     new   delta
                 wait_for_bit                                 -     137    +137
       arm: (for 2/2 boards)  spl/u-boot-spl:all +3.5  spl/u-boot-spl:rodata +3.5 
            zynq_picozed   :  spl/u-boot-spl:all +7  spl/u-boot-spl:rodata +7 
03: usb: dwc2: Use shared wait_for_bit
   aarch64: (for 1/1 boards)  all +168.0  rodata +16.0  text +152.0 
            hikey          :  all +168  rodata +16  text +152 
               u-boot: add: 0/0, grow: 4/0 bytes: 156/0 (156)
                 function                                   old     new   delta
                 wait_for_bit                               104     164     +60
                 usb_lowlevel_init                          820     864     +44
                 dwc_otg_core_reset                         120     156     +36
                 wait_for_chhltd                            140     156     +16
04: usb: ohci-lpc32xx: Use shared wait_for_bit
05: usb: ehci-mx6: Use shared wait_for_bit
06: net: zynq_gem: Use shared wait_for_bit
       arm: (for 2/2 boards)  all +53.0  bss +6.0  rodata +7.0  text +40.0 
            zynq_picozed   :  all +106  bss +12  rodata +14  text +80 
               u-boot: add: 1/0, grow: 0/-1 bytes: 140/-68 (72)
                 function                                   old     new   delta
                 wait_for_bit                                 -     140    +140
                 zynq_gem_send                              276     208     -68
07: make wait_bit static inline
   sandbox: (for 1/1 boards)  all -224.0  text -224.0 
            sandbox        :  all -224  text -224 
       arm: (for 2/2 boards)  spl/u-boot-spl:all -3.5  spl/u-boot-spl:rodata -3.5 
            zynq_picozed   :  spl/u-boot-spl:all -7  spl/u-boot-spl:rodata -7 


Regards,
Mateusz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJWdtT1AAoJELvtohmVtQzBtPwH/2aY2GbCIevGGdN5x4109xDm
zrrkmu6IQORQeOlTckeP2x83plY2KLGCoMtrA8fN3GbhqAJ9gM9EjtOzo7HYcYyD
fENKksvqSWTGKPI1nAU3liRri6lhCyO0eq+ZwPNvQF8m5GT88r12QL599P1LXgOI
tM93wzTaDWxDVUdFsUgBgzS0arcjG6eE2SWTE9SQY1OIKK/6CY79Y0q4h6UFSXwj
DflZ4rrYTQSMMHs2tKvas/MrZozKHsim2g8glZj87dkVcyeTHPcEEvUa6UPbr4RJ
NTQlarzFR3zsBa4Xl9wbROlL10drb+zgo6eNt8CyZ6z7II1r+oPI2m/OcyHoyDU=
=Lfit
-----END PGP SIGNATURE-----


More information about the U-Boot mailing list