On Mon, 29 Jul 2024 at 23:46, Tom Rini <tr...@konsulko.com> wrote: > > On Mon, Jul 29, 2024 at 09:28:57AM -0600, Simon Glass wrote: > > Hi Sughosh, > > > > On Sun, 28 Jul 2024 at 12:07, Sughosh Ganu <sughosh.g...@linaro.org> wrote: > > > > > > On Thu, 25 Jul 2024 at 18:24, Sughosh Ganu <sughosh.g...@linaro.org> > > > wrote: > > > > > > > > On Thu, 25 Jul 2024 at 02:24, Tom Rini <tr...@konsulko.com> wrote: > > > > > > > > > > On Wed, Jul 24, 2024 at 11:31:48AM +0530, Sughosh Ganu wrote: > > > > > > > > > > > From: Simon Glass <s...@chromium.org> > > > > > > > > > > > > Use this new data structure in the utility function. > > > > > > > > > > > > Signed-off-by: Simon Glass <s...@chromium.org> > > > > > > Signed-off-by: Sughosh Ganu <sughosh.g...@linaro.org> > > > > > > --- > > > > > > lib/strto.c | 35 +++++++++++++++++++---------------- > > > > > > 1 file changed, 19 insertions(+), 16 deletions(-) > > > > > > > > > > This is rather big growth when we didn't already have realloc: > > > > > 05: lib: Convert str_to_list() to use alist > > > > > aarch64: (for 1/1 boards) all +1765.0 rodata +37.0 text +1728.0 > > > > > xilinx_versal_mini_emmc0: all +1765 rodata +37 text +1728 > > > > > u-boot: add: 7/0, grow: 1/0 bytes: 1728/0 (1728) > > > > > function old > > > > > new delta > > > > > realloc - > > > > > 1120 +1120 > > > > > alist_ensure_ptr - > > > > > 140 +140 > > > > > alist_expand_to - > > > > > 136 +136 > > > > > alist_init - > > > > > 108 +108 > > > > > alist_uninit_move_ptr - > > > > > 76 +76 > > > > > alist_add_ptr - > > > > > 72 +72 > > > > > alist_uninit - > > > > > 48 +48 > > > > > str_to_list 204 > > > > > 232 +28 > > > > > > > > > > > > > I am working on an implementation of lmb maps using lists. The list > > > > nodes are then allocated with calloc, which I believe is included in > > > > most of the board images. We can then compare the size impact with the > > > > two implementations (alist vs list). Thanks. > > > > > > I have worked on implementing the LMB maps using simple lists, and we > > > do get a good size benefit with the list based implementation. I have > > > used the script that was shared by Tom some time back to get the size > > > impact [1]. The readings are with 1) alists with realloc 2) alist with > > > malloc and 3) using linked list. These are on a RPI4 build, which has > > > LMB enabled. I have checked the impact on a xilinx_versal_mini config > > > as well, which does not have LMB enabled, and the size impact result > > > is best with lists. The list based changes can be checked on my github > > > [2]. > > > > Thanks for doing that. It is quite hard to read with the LTO enabled. > > I don't think LTO is enabled there?
I ran the size checks with -L flag [1]. Do not see any difference. -sughosh [1] - https://gist.github.com/sughoshg/8a82946727904944601021a7ee732661