devicetree-compiler.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
To: Tom Rini <trini-OWPKS81ov/FWk0Htik3J/w@public.gmane.org>,
	David Gibson
	<david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
Cc: Devicetree Compiler
	<devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: Size growth?
Date: Fri, 16 Oct 2020 15:46:41 -0600	[thread overview]
Message-ID: <CAPnjgZ3jPciWmoVpuoYb9KC2h3eCevZsq+1BzefCOCAFCDoseQ@mail.gmail.com> (raw)
In-Reply-To: <20201016193639.GZ14816@bill-the-cat>

Hi Tom,

On Fri, 16 Oct 2020 at 13:36, Tom Rini <trini-OWPKS81ov/FWk0Htik3J/w@public.gmane.org> wrote:
>
> Hey all,
>
> With my U-Boot hat on, I'm trying to move us up from 84e414b0b5bc in dtc
> to cbca977ea121.  I'm seeing some rather worrying size increases
> however.  For example, on an aarch64 board such as leez-rk3399 we have:
>      leez-rk3399    : all +2696 spl/u-boot-spl:all +1116 spl/u-boot-spl:text +1116 text +2696
>         u-boot: add: 0/0, grow: 42/0 bytes: 2696/0 (2696)
>           function                                   old     new   delta
>           do_fdt                                    3992    4308    +316
>           fdt_check_header                           276     492    +216
>           fdt_add_property_                          388     556    +168
>           fdt_ro_probe_                              128     252    +124
>           fdt_packblocks_                            176     296    +120
>           fdt_open_into                              392     512    +120
>           fdt_blocks_misordered_                      96     216    +120
>           fdt_get_mem_rsv                            108     220    +112
>           fdt_offset_ptr                             104     208    +104
>           fdt_get_string                             288     388    +100
>           fdt_splice_                                148     228     +80
>           fdt_valid                                  204     276     +72
>           fdt_getprop_by_offset                      184     256     +72
>           fdt_splice_mem_rsv_                         96     152     +56
>           fdt_num_mem_rsv                             60     116     +56
>           fdt_splice_struct_                          96     144     +48
>           fdt_shrink_to_minimum                      220     268     +48
>           fdt_rw_probe_                              108     156     +48
>           fdt_mem_rsv                                 60     108     +48
>           fdt_getprop_namelen                        100     148     +48
>           fdt_get_property_by_offset_                100     148     +48
>           fdt_get_name                               164     212     +48
>           efi_install_fdt                            964    1012     +48
>           boot_get_fdt                               888     936     +48
>           fdt_move                                    80     116     +36
>           reserve_fdt                                 72      96     +24
>           reloc_fdt                                   76     100     +24
>           image_setup_libfdt                         284     308     +24
>           fit_image_load                            1608    1632     +24
>           fit_image_get_data_and_size                172     196     +24
>           fit_get_end                                 16      40     +24
>           fdt_next_tag                               256     280     +24
>           fdt_header_size                             12      36     +24
>           fdt_get_property_namelen_                  212     236     +24
>           fdt_get_property_namelen                    44      68     +24
>           fdt_get_phandle                            120     144     +24
>           fdt_del_node                                96     120     +24
>           fdt_del_mem_rsv                            112     136     +24
>           fdt_add_subnode_namelen                    284     308     +24
>           fdt_add_mem_rsv                            124     148     +24
>           common_diskboot                            680     704     +24
>           fdt_next_subnode                            80      88      +8
>         spl-u-boot-spl: add: 1/-1, grow: 25/-2 bytes: 1176/-60 (1116)
>           function                                   old     new   delta
>           fdt_get_mem_rsv                             52     236    +184
>           fdt_add_property_                          340     484    +144
>           fdt_get_name                                68     152     +84
>           fdt_splice_                                148     228     +80
>           fdt_num_mem_rsv                             64     128     +64
>           fdt_splice_mem_rsv_                         96     152     +56
>           fdt_offset_ptr                              52     104     +52
>           fdt_splice_struct_                          96     144     +48
>           fdt_shrink_to_minimum                      220     268     +48
>           fdt_get_property_by_offset_                 36      84     +48
>           fdt_ro_probe_                                -      36     +36
>           fdt_subnode_offset_namelen                 200     232     +32
>           spl_load_simple_fit                        848     872     +24
>           spl_fit_append_fdt                         196     220     +24
>           fdt_getprop_by_offset                       80     104     +24
>           fdt_get_string                              64      88     +24
>           fdt_get_property_namelen_                  200     224     +24
>           fdt_get_phandle                            120     144     +24
>           fdt_del_mem_rsv                            104     128     +24
>           fdt_check_header                            28      52     +24
>           fdt_add_subnode_namelen                    260     284     +24
>           fdt_add_mem_rsv                            112     136     +24
>           fdt_next_tag                               192     212     +20
>           fdt_path_offset_namelen                    240     256     +16
>           fdt_supernode_atdepth_offset               160     172     +12
>           fdt_node_offset_by_phandle                 120     132     +12
>           fdt_mem_rsv                                 20       -     -20
>           fdt_check_prop_offset_                      64      44     -20
>           fdt_check_node_offset_                      64      44     -20
>
> And note that for the SPL case we're already setting ASSUME_MASK to
> 0xff so there's maximum savings already being done there.  Does anyone
> have ideas on where / how to further tweak code size?  Thanks!

+David Gibson

I suspect there are more checks that need to be made conditional.

Regards,
Simon

> --
> Tom

  reply	other threads:[~2020-10-16 21:46 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-16 19:36 Size growth? Tom Rini
2020-10-16 21:46 ` Simon Glass [this message]
     [not found]   ` <CAPnjgZ3jPciWmoVpuoYb9KC2h3eCevZsq+1BzefCOCAFCDoseQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-10-19  1:42     ` David Gibson
     [not found]       ` <20201019014213.GA11625-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2020-10-19 12:37         ` Tom Rini
2020-10-20  2:09           ` David Gibson
     [not found]             ` <20201020020907.GA64103-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2020-10-21 22:49               ` Tom Rini
2020-10-22  4:00                 ` David Gibson
     [not found]                   ` <20201022040013.GB1821515-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2020-10-22 12:32                     ` Tom Rini
2020-10-22 14:58                       ` David Gibson
     [not found]                         ` <20201022145804.GI1821515-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2020-10-22 15:22                           ` Tom Rini
2020-10-26 21:51                             ` Rob Herring
     [not found]                               ` <CAL_JsqJiKETTMJX3MsEmECE+jtbwYydVSgt1a6poz_L+pPRFTA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-10-26 22:17                                 ` Tom Rini
2020-10-27 15:57                                 ` André Przywara
     [not found]                                   ` <a14daf09-4d97-052f-5071-09e67ccb925e-5wv7dgnIgG8@public.gmane.org>
2020-10-27 19:55                                     ` Rob Herring
     [not found]                                       ` <CAL_JsqK_fC346UnCmXMJxKHCM6=eFBF_kmGt_fBdvwPXbPRkvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-10-28  4:26                                         ` David Gibson
     [not found]                                           ` <20201028042601.GA5604-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2020-10-28 12:05                                             ` Tom Rini
2020-10-29  2:55                                               ` David Gibson
     [not found]                                                 ` <20201029025503.GI5604-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2020-10-29 15:06                                                   ` Tom Rini
2020-10-29 15:48                                                     ` Rob Herring
     [not found]                                                       ` <CAL_JsqJUixnyZx-tu9EV8YZ-gSDE7i1jvMddnNZZWFzezaHftw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-10-29 16:04                                                         ` Tom Rini
2020-10-29 18:08                                                           ` Rob Herring
     [not found]                                                             ` <CAL_JsqJTTJAoTYwxDn3i0KETMXLyGg3WXzxN3-OdRLx=R96a-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-10-29 20:21                                                               ` Tom Rini
2020-11-02  2:06                                                     ` David Gibson
2020-10-28 17:49                                             ` Rob Herring
     [not found]                                               ` <CAL_JsqJPrnjKjdmvyY2NOay0YrYc20Tr3OSr0yjq+9HjCN+anA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-10-29  3:02                                                 ` David Gibson
     [not found]                                                   ` <20201029030247.GJ5604-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2020-10-29 15:04                                                     ` Tom Rini
2020-10-29 19:56                                                       ` David Gibson
     [not found]                                                         ` <20201029195658.GK5604-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2020-10-29 20:26                                                           ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPnjgZ3jPciWmoVpuoYb9KC2h3eCevZsq+1BzefCOCAFCDoseQ@mail.gmail.com \
    --to=sjg-f7+t8e8rja9g9huczpvpmw@public.gmane.org \
    --cc=david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org \
    --cc=devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=trini-OWPKS81ov/FWk0Htik3J/w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).