MTD/NAND layer size increase after update
Ahmad Fatoum
a.fatoum at pengutronix.de
Tue May 28 04:55:28 PDT 2024
Hello Sascha,
The recent MTD/NAND layer sync with Linux made barebox a good deal fatter with the result
that the DistroKit configuration[1] for am335x MLO now fails to compile on v2024.05.0:
images/start_am33xx_afi_gf_sram.pblb size 113544 > maximum size 111616
[1]: https://git.pengutronix.de/cgit/DistroKit/plain/configs/platform-v7a/barebox-am335x-mlo.config?h=next&id=5db984fcb018f57bc19553a7c95be58ab8cc8b5f
I looked at the diff and found that the sync commit inadvertently dropped CONFIG_MTD_WRITE
checks. I added back these checks to save some Kilobytes, but there is still some size increase,
which I think is unreasonable for existing users that didn't need the newly imported
functionality. Can you take a look and perhaps add some IS_ENABLED() checks?
Here is bloaty output that shows some of the symbols responsible for the size increase
(Some may be false positives due to symbol rename or refactoring):
bloaty build/barebox --domain=vm -- barebox.old -d symbols -n 40
VM SIZE
--------------
[NEW] +1.12Ki onfi_nvddr_timings
[NEW] +1000 nand_lp_exec_cont_read_page_op
+34% +588 nand_scan_tail
[NEW] +428 nanddev_mtd_max_bad_blocks
-98.5% +396 [163 Others]
[NEW] +342 nand_read_page_syndrome
+1.6% +332 [section .rodata]
[NEW] +324 of_get_nand_ecc_user_config
[NEW] +256 onfi_find_closest_nvddr_mode
+13% +236 nand_scan_ident
[NEW] +192 nand_read_oob_syndrome
[NEW] +190 nand_read_page_raw_syndrome
+22% +180 nand_read_page_op
[NEW] +170 nand_read_page_swecc
+16% +168 nand_read_oob
+77% +144 nand_read_data_op
[NEW] +132 handoff_data_reserve
[NEW] +122 nand_choose_best_nvddr_timings
[NEW] +108 rawnand_cap_cont_reads
+28% +100 nand_get_features
[NEW] +92 barebox_hostname_is_valid
+32% +88 nand_readid_op
+55% +84 onfi_fill_interface_config
+6.9% +80 nand_onfi_detect
[NEW] +74 nand_ecc_is_strong_enough
[NEW] +64 nand_isreserved_bbt
[NEW] +60 console_set_stdoutpath
[NEW] +56 broken_get_timings.5
+8.7% +52 macronix_nand_init
+12% +48 nand_read_param_page_op
+20% +48 nand_setup_interface
+13% +44 nand_set_features
[NEW] +40 handoff_data_get
+8.3% +40 nand_exec_prog_page_op
-8.2% -40 console_register
[DEL] -56 broken_get_timings.4
[DEL] -60 of_get_nand_ecc_mode
[DEL] -96 nand_block_markgood
[DEL] -102 nand_mark_bbt
[DEL] -104 reparse_partition_table
-45.5% -120 barebox_non_pbl_start
+4.0% +6.69Ki TOTAL
Thanks,
Ahmad
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list