Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change fabric table persistence to not use a single blob per fabric. #16032

Merged

Conversation

bzbarsky-apple
Copy link
Contributor

@bzbarsky-apple bzbarsky-apple commented Mar 9, 2022

This will let us do a better job of loading things on demand as
needed, in followups, so we don't have to keep the certs in RAM all
the time.

Problem

A fabric table entry is being stored as a single blob, so we have to read it all-or-nothing.

Issue: #7695

Change overview

Store the separate bits separately, so we can read just the part we want.

Testing

In addition to our CI, did ran chip-all-clusters-app and then ran the following commands:

./out/debug/standalone/chip-tool pairing onnetwork 17 20202021

./out/debug/standalone/chip-tool operationalcredentials update-fabric-label "party" 17 0

./out/debug/standalone/chip-tool operationalcredentials read fabrics 17 0 --fabric-filtered 0

./out/debug/standalone/chip-tool administratorcommissioning open-basic-commissioning-window 600 17 0 --timedInteractionTimeoutMs 10000

./out/debug/standalone/chip-tool pairing onnetwork 18 20202021 --commissioner-name beta

./out/debug/standalone/chip-tool operationalcredentials update-fabric-label "basement" 18 0 --commissioner-name beta

./out/debug/standalone/chip-tool operationalcredentials read fabrics 17 0 --fabric-filtered 0

./out/debug/standalone/chip-tool operationalcredentials read fabrics 18 0 --fabric-filtered 0 --commissioner-name beta

where for each read I ran it, then restarted all-clusters-app, then ran the read again and verified that the information did not change.

This will let us do a better job of loading things on demand as
needed, in followups, so we don't have to keep the certs in RAM all
the time.
@github-actions
Copy link

github-actions bot commented Mar 9, 2022

PR #16032: Size comparison from cd44f9b to 0cd3be7

Increases above 0.2%:

platform target config section cd44f9b 0cd3be7 change % change
linux thermostat-no-ble arm64 .got 4240 4280 40 0.9
Increases (26 builds for cyw30739, efr32, esp32, k32w, linux, nrfconnect, p6, telink)
platform target config section cd44f9b 0cd3be7 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 602202 602794 592 0.1
.app_xip_area 506720 507312 592 0.1
lock cyw930739m2evb_01 (read/write) 560078 560674 596 0.1
.app_xip_area 466132 466728 596 0.1
ota-requestor cyw930739m2evb_01 (read/write) 570226 570806 580 0.1
.app_xip_area 466584 467164 580 0.1
efr32 lighting-app BRD4161A (read only) 922240 922912 672 0.1
.text 922232 922904 672 0.1
BRD4161A+rpc (read only) 951076 951772 696 0.1
.text 951068 951764 696 0.1
window-app BRD4161A (read only) 854412 855100 688 0.1
.text 854404 855092 688 0.1
esp32 all-clusters-app c3devkit (read only) 958694 959054 360 0.0
(read/write) 1393802 1393866 64 0.0
.dram0.data 14220 14228 8 0.1
.flash.rodata 197088 197136 48 0.0
.flash.text 958694 959054 360 0.0
m5stack (read only) 1013715 1014323 608 0.1
(read/write) 461052 461108 56 0.0
.flash.rodata 226056 226112 56 0.0
.flash.text 1008331 1008939 608 0.1
k32w light k32w061+release (read/write) 696264 696856 592 0.1
.text 610756 611348 592 0.1
lock k32w061+release (read/write) 697016 697612 596 0.1
.text 611548 612144 596 0.1
linux all-clusters-app debug (read only) 2432289 2434753 2464 0.1
.rodata 205765 205861 96 0.0
.text 2063538 2065906 2368 0.1
bridge-app debug+rpc (read only) 1737061 1739589 2528 0.1
.rodata 141964 142060 96 0.1
.text 1479125 1481557 2432 0.2
chip-tool debug (read only) 9937749 9939861 2112 0.0
.rodata 514452 514548 96 0.0
.text 8645413 8647429 2016 0.0
chip-tool-ipv6only arm64 (read only) 9586076 9586508 432 0.0
.rodata 490436 490452 16 0.0
.text 8051508 8051972 464 0.0
door-lock-app debug (read only) 1951521 1954065 2544 0.1
.rodata 173852 173980 128 0.1
.text 1629026 1631442 2416 0.1
lighting-app debug+rpc (read only) 2083689 2086233 2544 0.1
.rodata 166044 166172 128 0.1
.text 1761986 1764402 2416 0.1
ota-provider-app debug (read only) 1884793 1887321 2528 0.1
.rodata 159091 159187 96 0.1
.text 1574978 1577410 2432 0.2
ota-requestor-app debug (read only) 1912225 1914769 2544 0.1
.rodata 154892 155020 128 0.1
.text 1606818 1609234 2416 0.2
shell debug (read only) 2398465 2400977 2512 0.1
.rodata 205714 205842 128 0.1
.text 2036178 2038562 2384 0.1
thermostat-no-ble arm64 (read only) 2180428 2181292 864 0.0
.got 4240 4280 40 0.9
.rodata 133228 133244 16 0.0
.text 1828608 1829376 768 0.0
tv-app debug (read only) 2624745 2627209 2464 0.1
.rodata 199677 199773 96 0.0
.text 2250978 2253346 2368 0.1
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1153379 1153955 576 0.0
rodata 144476 144556 80 0.1
text 786808 787300 492 0.1
p6 all-clusters-app default (read/write) 2495488 2496160 672 0.0
.text 1453752 1454424 672 0.0
light-app default (read/write) 2398960 2399648 688 0.0
.text 1357224 1357912 688 0.1
lock-app default (read/write) 2362520 2363192 672 0.0
.text 1320784 1321456 672 0.1
telink lighting-app tlsr9518adk80d (read/write) 889826 890326 500 0.1
text 629098 629500 402 0.1
Decreases (3 builds for linux, mbed)
platform target config section cd44f9b 0cd3be7 change % change
linux chip-tool-ipv6only arm64 (read/write) 472945 472897 -48 -0.0
.data.rel.ro 369312 369264 -48 -0.0
thermostat-no-ble arm64 (read/write) 148833 148817 -16 -0.0
.data.rel.ro 75160 75112 -48 -0.1
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2351892 2350956 -936 -0.0
.text 1314492 1313556 -936 -0.1
Full report (27 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section cd44f9b 0cd3be7 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 602202 602794 592 0.1
.app_xip_area 506720 507312 592 0.1
.bss 78172 78172 0 0.0
.data 652 652 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 560078 560674 596 0.1
.app_xip_area 466132 466728 596 0.1
.bss 76676 76676 0 0.0
.data 616 616 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 570226 570806 580 0.1
.app_xip_area 466584 467164 580 0.1
.bss 86012 86012 0 0.0
.data 592 592 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 922240 922912 672 0.1
(read/write) 128888 128888 0 0.0
.bss 126808 126808 0 0.0
.data 2080 2080 0 0.0
.text 922232 922904 672 0.1
BRD4161A+rpc (read only) 951076 951772 696 0.1
(read/write) 144844 144844 0 0.0
.bss 142584 142584 0 0.0
.data 2260 2260 0 0.0
.text 951068 951764 696 0.1
window-app BRD4161A (read only) 854412 855100 688 0.1
(read/write) 126852 126852 0 0.0
.bss 124936 124936 0 0.0
.data 1916 1916 0 0.0
.text 854404 855092 688 0.1
esp32 all-clusters-app c3devkit (read only) 958694 959054 360 0.0
(read/write) 1393802 1393866 64 0.0
.dram0.bss 63576 63576 0 0.0
.dram0.data 14220 14228 8 0.1
.flash.rodata 197088 197136 48 0.0
.flash.text 958694 959054 360 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1013715 1014323 608 0.1
(read/write) 461052 461108 56 0.0
.dram0.bss 69096 69096 0 0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 226056 226112 56 0.0
.flash.text 1008331 1008939 608 0.1
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 696264 696856 592 0.1
.bss 77744 77744 0 0.0
.data 1964 1964 0 0.0
.text 610756 611348 592 0.1
lock k32w061+release (read/write) 697016 697612 596 0.1
.bss 77704 77704 0 0.0
.data 1964 1964 0 0.0
.text 611548 612144 596 0.1
linux all-clusters-app debug (read only) 2432289 2434753 2464 0.1
(read/write) 145872 145872 0 0.0
.bss 60352 60352 0 0.0
.data 1360 1360 0 0.0
.data.rel.ro 78424 78424 0 0.0
.dynamic 592 592 0 0.0
.got 4176 4176 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 205765 205861 96 0.0
.text 2063538 2065906 2368 0.1
bridge-app debug+rpc (read only) 1737061 1739589 2528 0.1
(read/write) 92784 92784 0 0.0
.bss 47624 47624 0 0.0
.data 2016 2016 0 0.0
.data.rel.ro 38064 38064 0 0.0
.dynamic 592 592 0 0.0
.got 3928 3928 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 141964 142060 96 0.1
.text 1479125 1481557 2432 0.2
chip-tool debug (read only) 9937749 9939861 2112 0.0
(read/write) 356152 356152 0 0.0
.bss 25640 25640 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 323336 323336 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 514452 514548 96 0.0
.text 8645413 8647429 2016 0.0
chip-tool-ipv6only arm64 (read only) 9586076 9586508 432 0.0
(read/write) 472945 472897 -48 -0.0
.bss 43953 43953 0 0.0
.data 1200 1200 0 0.0
.data.rel.ro 369312 369264 -48 -0.0
.dynamic 560 560 0 0.0
.got 54680 54680 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 490436 490452 16 0.0
.text 8051508 8051972 464 0.0
door-lock-app debug (read only) 1951521 1954065 2544 0.1
(read/write) 119296 119296 0 0.0
.bss 50656 50656 0 0.0
.data 1056 1056 0 0.0
.data.rel.ro 62184 62184 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 173852 173980 128 0.1
.text 1629026 1631442 2416 0.1
lighting-app debug+rpc (read only) 2083689 2086233 2544 0.1
(read/write) 124616 124616 0 0.0
.bss 51456 51456 0 0.0
.data 1536 1536 0 0.0
.data.rel.ro 66104 66104 0 0.0
.dynamic 608 608 0 0.0
.got 4144 4144 0 0.0
.init 27 27 0 0.0
.init_array 736 736 0 0.0
.rodata 166044 166172 128 0.1
.text 1761986 1764402 2416 0.1
ota-provider-app debug (read only) 1884793 1887321 2528 0.1
(read/write) 114896 114896 0 0.0
.bss 50464 50464 0 0.0
.data 1320 1320 0 0.0
.data.rel.ro 57464 57464 0 0.0
.dynamic 608 608 0 0.0
.got 4368 4368 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 159091 159187 96 0.1
.text 1574978 1577410 2432 0.2
ota-requestor-app debug (read only) 1912225 1914769 2544 0.1
(read/write) 117832 117832 0 0.0
.bss 51552 51552 0 0.0
.data 1480 1480 0 0.0
.data.rel.ro 59368 59368 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 154892 155020 128 0.1
.text 1606818 1609234 2416 0.2
shell debug (read only) 2398465 2400977 2512 0.1
(read/write) 150088 150088 0 0.0
.bss 70472 70472 0 0.0
.data 864 864 0 0.0
.data.rel.ro 73064 73064 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 205714 205842 128 0.1
.text 2036178 2038562 2384 0.1
thermostat-no-ble arm64 (read only) 2180428 2181292 864 0.0
(read/write) 148833 148817 -16 -0.0
.bss 65409 65409 0 0.0
.data 1048 1048 0 0.0
.data.rel.ro 75160 75112 -48 -0.1
.dynamic 560 560 0 0.0
.got 4240 4280 40 0.9
.init 24 24 0 0.0
.init_array 352 352 0 0.0
.rodata 133228 133244 16 0.0
.text 1828608 1829376 768 0.0
tv-app debug (read only) 2624745 2627209 2464 0.1
(read/write) 251000 251000 0 0.0
.bss 168160 168160 0 0.0
.data 3168 3168 0 0.0
.data.rel.ro 73624 73624 0 0.0
.dynamic 592 592 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 880 880 0 0.0
.rodata 199677 199773 96 0.0
.text 2250978 2253346 2368 0.1
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2351892 2350956 -936 -0.0
.bss 186212 186212 0 0.0
.data 5792 5792 0 0.0
.text 1314492 1313556 -936 -0.1
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1153379 1153955 576 0.0
bss 146848 146848 0 0.0
rodata 144476 144556 80 0.1
text 786808 787300 492 0.1
p6 all-clusters-app default (read/write) 2495488 2496160 672 0.0
.bss 119640 119640 0 0.0
.data 2680 2680 0 0.0
.text 1453752 1454424 672 0.0
light-app default (read/write) 2398960 2399648 688 0.0
.bss 113104 113104 0 0.0
.data 2536 2536 0 0.0
.text 1357224 1357912 688 0.1
lock-app default (read/write) 2362520 2363192 672 0.0
.bss 112848 112848 0 0.0
.data 2496 2496 0 0.0
.text 1320784 1321456 672 0.1
telink lighting-app tlsr9518adk80d (read/write) 889826 890326 500 0.1
bss 86968 86968 0 0.0
noinit 37160 37160 0 0.0
text 629098 629500 402 0.1

@github-actions
Copy link

github-actions bot commented Mar 9, 2022

PR #16032: Size comparison from cd44f9b to 6a2f84b

Increases above 0.2%:

platform target config section cd44f9b 6a2f84b change % change
linux all-clusters-app debug .text 2063538 2067730 4192 0.2
bridge-app debug+rpc (read only) 1737061 1741429 4368 0.3
.text 1479125 1483365 4240 0.3
chip-tool debug (read only) 9937749 10099173 161424 1.6
(read/write) 356152 358168 2016 0.6
.data.rel.ro 323336 325352 2016 0.6
.text 8645413 8802005 156592 1.8
chip-tool-ipv6only arm64 (read only) 9586076 9732588 146512 1.5
(read/write) 472945 475921 2976 0.6
.data.rel.ro 369312 371664 2352 0.6
.got 54680 55304 624 1.1
.rodata 490436 492036 1600 0.3
.text 8051508 8189412 137904 1.7
door-lock-app debug (read only) 1951521 1955921 4400 0.2
.text 1629026 1633266 4240 0.3
lighting-app debug+rpc (read only) 2083689 2088057 4368 0.2
.text 1761986 1766226 4240 0.2
ota-provider-app debug (read only) 1884793 1889161 4368 0.2
.text 1574978 1579218 4240 0.3
ota-requestor-app debug (read only) 1912225 1917121 4896 0.3
.text 1606818 1611426 4608 0.3
shell debug .text 2036178 2040370 4192 0.2
thermostat-no-ble arm64 .got 4240 4280 40 0.9
Increases (26 builds for cyw30739, efr32, esp32, k32w, linux, nrfconnect, p6, telink)
platform target config section cd44f9b 6a2f84b change % change
cyw30739 light cyw930739m2evb_01 (read/write) 602202 603138 936 0.2
.app_xip_area 506720 507656 936 0.2
lock cyw930739m2evb_01 (read/write) 560078 561010 932 0.2
.app_xip_area 466132 467064 932 0.2
ota-requestor cyw930739m2evb_01 (read/write) 570226 571390 1164 0.2
.app_xip_area 466584 467740 1156 0.2
.bss 86012 86060 48 0.1
efr32 lighting-app BRD4161A (read only) 922240 923600 1360 0.1
(read/write) 128888 128896 8 0.0
.bss 126808 126856 48 0.0
.text 922232 923592 1360 0.1
BRD4161A+rpc (read only) 951076 952436 1360 0.1
(read/write) 144844 144852 8 0.0
.bss 142584 142632 48 0.0
.text 951068 952428 1360 0.1
window-app BRD4161A (read only) 854412 855468 1056 0.1
.text 854404 855460 1056 0.1
esp32 all-clusters-app c3devkit (read only) 958694 959344 650 0.1
(read/write) 1393802 1393866 64 0.0
.dram0.data 14220 14228 8 0.1
.flash.rodata 197088 197136 48 0.0
.flash.text 958694 959344 650 0.1
m5stack (read only) 1013715 1014899 1184 0.1
(read/write) 461052 461108 56 0.0
.flash.rodata 226056 226112 56 0.0
.flash.text 1008331 1009515 1184 0.1
k32w light k32w061+release (read/write) 696264 697440 1176 0.2
.bss 77744 77792 48 0.1
.text 610756 611924 1168 0.2
lock k32w061+release (read/write) 697016 697948 932 0.1
.text 611548 612480 932 0.2
linux all-clusters-app debug (read only) 2432289 2436609 4320 0.2
.rodata 205765 205893 128 0.1
.text 2063538 2067730 4192 0.2
bridge-app debug+rpc (read only) 1737061 1741429 4368 0.3
.rodata 141964 142092 128 0.1
.text 1479125 1483365 4240 0.3
chip-tool debug (read only) 9937749 10099173 161424 1.6
(read/write) 356152 358168 2016 0.6
.data.rel.ro 323336 325352 2016 0.6
.rodata 514452 514484 32 0.0
.text 8645413 8802005 156592 1.8
chip-tool-ipv6only arm64 (read only) 9586076 9732588 146512 1.5
(read/write) 472945 475921 2976 0.6
.data.rel.ro 369312 371664 2352 0.6
.got 54680 55304 624 1.1
.rodata 490436 492036 1600 0.3
.text 8051508 8189412 137904 1.7
door-lock-app debug (read only) 1951521 1955921 4400 0.2
.rodata 173852 174012 160 0.1
.text 1629026 1633266 4240 0.3
lighting-app debug+rpc (read only) 2083689 2088057 4368 0.2
.rodata 166044 166172 128 0.1
.text 1761986 1766226 4240 0.2
ota-provider-app debug (read only) 1884793 1889161 4368 0.2
.rodata 159091 159219 128 0.1
.text 1574978 1579218 4240 0.3
ota-requestor-app debug (read only) 1912225 1917121 4896 0.3
(read/write) 117832 117864 32 0.0
.bss 51552 51584 32 0.1
.rodata 154892 155180 288 0.2
.text 1606818 1611426 4608 0.3
shell debug (read only) 2398465 2402785 4320 0.2
.rodata 205714 205842 128 0.1
.text 2036178 2040370 4192 0.2
thermostat-no-ble arm64 (read only) 2180428 2182476 2048 0.1
.got 4240 4280 40 0.9
.rodata 133228 133260 32 0.0
.text 1828608 1830544 1936 0.1
tv-app debug (read only) 2624745 2628617 3872 0.1
.text 2250978 2254914 3936 0.2
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1153379 1154491 1112 0.1
bss 146848 146856 8 0.0
rodata 144476 144596 120 0.1
text 786808 787800 992 0.1
p6 all-clusters-app default (read/write) 2495488 2496544 1056 0.0
.text 1453752 1454808 1056 0.1
light-app default (read/write) 2398960 2400016 1056 0.0
.text 1357224 1358280 1056 0.1
lock-app default (read/write) 2362520 2363576 1056 0.0
.text 1320784 1321840 1056 0.1
telink lighting-app tlsr9518adk80d (read/write) 889826 890630 804 0.1
text 629098 629802 704 0.1
Decreases (7 builds for cyw30739, efr32, k32w, linux, mbed)
platform target config section cd44f9b 6a2f84b change % change
cyw30739 ota-requestor cyw930739m2evb_01 .data 592 552 -40 -6.8
efr32 lighting-app BRD4161A .data 2080 2040 -40 -1.9
BRD4161A+rpc .data 2260 2220 -40 -1.8
k32w light k32w061+release .data 1964 1924 -40 -2.0
linux thermostat-no-ble arm64 (read/write) 148833 148817 -16 -0.0
.data.rel.ro 75160 75112 -48 -0.1
tv-app debug .rodata 199677 199613 -64 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2351892 2351276 -616 -0.0
.text 1314492 1313876 -616 -0.0
Full report (27 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section cd44f9b 6a2f84b change % change
cyw30739 light cyw930739m2evb_01 (read/write) 602202 603138 936 0.2
.app_xip_area 506720 507656 936 0.2
.bss 78172 78172 0 0.0
.data 652 652 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 560078 561010 932 0.2
.app_xip_area 466132 467064 932 0.2
.bss 76676 76676 0 0.0
.data 616 616 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 570226 571390 1164 0.2
.app_xip_area 466584 467740 1156 0.2
.bss 86012 86060 48 0.1
.data 592 552 -40 -6.8
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 922240 923600 1360 0.1
(read/write) 128888 128896 8 0.0
.bss 126808 126856 48 0.0
.data 2080 2040 -40 -1.9
.text 922232 923592 1360 0.1
BRD4161A+rpc (read only) 951076 952436 1360 0.1
(read/write) 144844 144852 8 0.0
.bss 142584 142632 48 0.0
.data 2260 2220 -40 -1.8
.text 951068 952428 1360 0.1
window-app BRD4161A (read only) 854412 855468 1056 0.1
(read/write) 126852 126852 0 0.0
.bss 124936 124936 0 0.0
.data 1916 1916 0 0.0
.text 854404 855460 1056 0.1
esp32 all-clusters-app c3devkit (read only) 958694 959344 650 0.1
(read/write) 1393802 1393866 64 0.0
.dram0.bss 63576 63576 0 0.0
.dram0.data 14220 14228 8 0.1
.flash.rodata 197088 197136 48 0.0
.flash.text 958694 959344 650 0.1
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1013715 1014899 1184 0.1
(read/write) 461052 461108 56 0.0
.dram0.bss 69096 69096 0 0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 226056 226112 56 0.0
.flash.text 1008331 1009515 1184 0.1
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 696264 697440 1176 0.2
.bss 77744 77792 48 0.1
.data 1964 1924 -40 -2.0
.text 610756 611924 1168 0.2
lock k32w061+release (read/write) 697016 697948 932 0.1
.bss 77704 77704 0 0.0
.data 1964 1964 0 0.0
.text 611548 612480 932 0.2
linux all-clusters-app debug (read only) 2432289 2436609 4320 0.2
(read/write) 145872 145872 0 0.0
.bss 60352 60352 0 0.0
.data 1360 1360 0 0.0
.data.rel.ro 78424 78424 0 0.0
.dynamic 592 592 0 0.0
.got 4176 4176 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 205765 205893 128 0.1
.text 2063538 2067730 4192 0.2
bridge-app debug+rpc (read only) 1737061 1741429 4368 0.3
(read/write) 92784 92784 0 0.0
.bss 47624 47624 0 0.0
.data 2016 2016 0 0.0
.data.rel.ro 38064 38064 0 0.0
.dynamic 592 592 0 0.0
.got 3928 3928 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 141964 142092 128 0.1
.text 1479125 1483365 4240 0.3
chip-tool debug (read only) 9937749 10099173 161424 1.6
(read/write) 356152 358168 2016 0.6
.bss 25640 25640 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 323336 325352 2016 0.6
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 514452 514484 32 0.0
.text 8645413 8802005 156592 1.8
chip-tool-ipv6only arm64 (read only) 9586076 9732588 146512 1.5
(read/write) 472945 475921 2976 0.6
.bss 43953 43953 0 0.0
.data 1200 1200 0 0.0
.data.rel.ro 369312 371664 2352 0.6
.dynamic 560 560 0 0.0
.got 54680 55304 624 1.1
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 490436 492036 1600 0.3
.text 8051508 8189412 137904 1.7
door-lock-app debug (read only) 1951521 1955921 4400 0.2
(read/write) 119296 119296 0 0.0
.bss 50656 50656 0 0.0
.data 1056 1056 0 0.0
.data.rel.ro 62184 62184 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 173852 174012 160 0.1
.text 1629026 1633266 4240 0.3
lighting-app debug+rpc (read only) 2083689 2088057 4368 0.2
(read/write) 124616 124616 0 0.0
.bss 51456 51456 0 0.0
.data 1536 1536 0 0.0
.data.rel.ro 66104 66104 0 0.0
.dynamic 608 608 0 0.0
.got 4144 4144 0 0.0
.init 27 27 0 0.0
.init_array 736 736 0 0.0
.rodata 166044 166172 128 0.1
.text 1761986 1766226 4240 0.2
ota-provider-app debug (read only) 1884793 1889161 4368 0.2
(read/write) 114896 114896 0 0.0
.bss 50464 50464 0 0.0
.data 1320 1320 0 0.0
.data.rel.ro 57464 57464 0 0.0
.dynamic 608 608 0 0.0
.got 4368 4368 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 159091 159219 128 0.1
.text 1574978 1579218 4240 0.3
ota-requestor-app debug (read only) 1912225 1917121 4896 0.3
(read/write) 117832 117864 32 0.0
.bss 51552 51584 32 0.1
.data 1480 1480 0 0.0
.data.rel.ro 59368 59368 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 154892 155180 288 0.2
.text 1606818 1611426 4608 0.3
shell debug (read only) 2398465 2402785 4320 0.2
(read/write) 150088 150088 0 0.0
.bss 70472 70472 0 0.0
.data 864 864 0 0.0
.data.rel.ro 73064 73064 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 205714 205842 128 0.1
.text 2036178 2040370 4192 0.2
thermostat-no-ble arm64 (read only) 2180428 2182476 2048 0.1
(read/write) 148833 148817 -16 -0.0
.bss 65409 65409 0 0.0
.data 1048 1048 0 0.0
.data.rel.ro 75160 75112 -48 -0.1
.dynamic 560 560 0 0.0
.got 4240 4280 40 0.9
.init 24 24 0 0.0
.init_array 352 352 0 0.0
.rodata 133228 133260 32 0.0
.text 1828608 1830544 1936 0.1
tv-app debug (read only) 2624745 2628617 3872 0.1
(read/write) 251000 251000 0 0.0
.bss 168160 168160 0 0.0
.data 3168 3168 0 0.0
.data.rel.ro 73624 73624 0 0.0
.dynamic 592 592 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 880 880 0 0.0
.rodata 199677 199613 -64 -0.0
.text 2250978 2254914 3936 0.2
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2351892 2351276 -616 -0.0
.bss 186212 186212 0 0.0
.data 5792 5792 0 0.0
.text 1314492 1313876 -616 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1153379 1154491 1112 0.1
bss 146848 146856 8 0.0
rodata 144476 144596 120 0.1
text 786808 787800 992 0.1
p6 all-clusters-app default (read/write) 2495488 2496544 1056 0.0
.bss 119640 119640 0 0.0
.data 2680 2680 0 0.0
.text 1453752 1454808 1056 0.1
light-app default (read/write) 2398960 2400016 1056 0.0
.bss 113104 113104 0 0.0
.data 2536 2536 0 0.0
.text 1357224 1358280 1056 0.1
lock-app default (read/write) 2362520 2363576 1056 0.0
.bss 112848 112848 0 0.0
.data 2496 2496 0 0.0
.text 1320784 1321840 1056 0.1
telink lighting-app tlsr9518adk80d (read/write) 889826 890630 804 0.1
bss 86968 86968 0 0.0
noinit 37160 37160 0 0.0
text 629098 629802 704 0.1

@github-actions
Copy link

github-actions bot commented Mar 10, 2022

PR #16032: Size comparison from b5a0754 to 44775e7

Increases above 0.2%:

platform target config section b5a0754 44775e7 change % change
linux all-clusters-app debug .text 2061762 2065954 4192 0.2
bridge-app debug+rpc (read only) 1735717 1740069 4352 0.3
.text 1477717 1481941 4224 0.3
door-lock-app debug (read only) 1950193 1954593 4400 0.2
.text 1627602 1631842 4240 0.3
lighting-app debug+rpc (read only) 2082361 2086729 4368 0.2
.text 1760562 1764802 4240 0.2
ota-provider-app debug (read only) 1883609 1887977 4368 0.2
.text 1573730 1577970 4240 0.3
ota-requestor-app debug (read only) 1911073 1915441 4368 0.2
.text 1605410 1609650 4240 0.3
shell debug .text 2034402 2038594 4192 0.2
thermostat-no-ble arm64 .got 4240 4280 40 0.9
Increases (25 builds for cyw30739, efr32, esp32, k32w, linux, p6, telink)
platform target config section b5a0754 44775e7 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 598154 599090 936 0.2
.app_xip_area 505736 506672 936 0.2
lock cyw930739m2evb_01 (read/write) 556030 556962 932 0.2
.app_xip_area 465148 466080 932 0.2
ota-requestor cyw930739m2evb_01 (read/write) 566014 566934 920 0.2
.app_xip_area 465428 466348 920 0.2
efr32 lighting-app BRD4161A (read only) 919968 921024 1056 0.1
.text 919960 921016 1056 0.1
BRD4161A+rpc (read only) 948796 949860 1064 0.1
.text 948788 949852 1064 0.1
window-app BRD4161A (read only) 852444 853500 1056 0.1
.text 852436 853492 1056 0.1
esp32 all-clusters-app c3devkit (read only) 957700 958350 650 0.1
(read/write) 1393874 1393938 64 0.0
.dram0.data 14220 14228 8 0.1
.flash.rodata 197160 197208 48 0.0
.flash.text 957700 958350 650 0.1
m5stack (read only) 1012895 1014015 1120 0.1
(read/write) 461108 461164 56 0.0
.flash.rodata 226112 226168 56 0.0
.flash.text 1007511 1008631 1120 0.1
k32w light k32w061+release (read/write) 694600 695528 928 0.1
.text 609716 610644 928 0.2
lock k32w061+release (read/write) 695384 696316 932 0.1
.text 610548 611480 932 0.2
linux all-clusters-app debug (read only) 2430609 2434929 4320 0.2
.rodata 205861 205989 128 0.1
.text 2061762 2065954 4192 0.2
bridge-app debug+rpc (read only) 1735717 1740069 4352 0.3
.rodata 142028 142156 128 0.1
.text 1477717 1481941 4224 0.3
chip-tool debug (read only) 10093413 10097333 3920 0.0
.rodata 514388 514484 96 0.0
.text 8796341 8800165 3824 0.0
chip-tool-ipv6only arm64 (read only) 9729324 9730940 1616 0.0
.rodata 492084 492116 32 0.0
.text 8186052 8187684 1632 0.0
door-lock-app debug (read only) 1950193 1954593 4400 0.2
.rodata 173948 174108 160 0.1
.text 1627602 1631842 4240 0.3
lighting-app debug+rpc (read only) 2082361 2086729 4368 0.2
.rodata 166140 166268 128 0.1
.text 1760562 1764802 4240 0.2
ota-provider-app debug (read only) 1883609 1887977 4368 0.2
.rodata 159155 159283 128 0.1
.text 1573730 1577970 4240 0.3
ota-requestor-app debug (read only) 1911073 1915441 4368 0.2
.rodata 155148 155276 128 0.1
.text 1605410 1609650 4240 0.3
shell debug (read only) 2396785 2401105 4320 0.2
.rodata 205810 205938 128 0.1
.text 2034402 2038594 4192 0.2
thermostat-no-ble arm64 (read only) 2178780 2180820 2040 0.1
.got 4240 4280 40 0.9
.rodata 133196 133220 24 0.0
.text 1826992 1828928 1936 0.1
tv-app debug (read only) 2622297 2626617 4320 0.2
.rodata 199453 199581 128 0.1
.text 2248754 2252946 4192 0.2
p6 all-clusters-app default (read/write) 2494312 2495384 1072 0.0
.text 1452576 1453648 1072 0.1
light-app default (read/write) 2398392 2399448 1056 0.0
.text 1356656 1357712 1056 0.1
lock-app default (read/write) 2361952 2363008 1056 0.0
.text 1320216 1321272 1056 0.1
telink lighting-app tlsr9518adk80d (read/write) 888946 889750 804 0.1
text 628166 628870 704 0.1
Decreases (3 builds for linux, mbed)
platform target config section b5a0754 44775e7 change % change
linux chip-tool-ipv6only arm64 (read/write) 475969 475921 -48 -0.0
.data.rel.ro 371712 371664 -48 -0.0
thermostat-no-ble arm64 (read/write) 148817 148801 -16 -0.0
.data.rel.ro 75160 75112 -48 -0.1
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2351540 2350924 -616 -0.0
.text 1314140 1313524 -616 -0.0
Full report (26 builds for cyw30739, efr32, esp32, k32w, linux, mbed, p6, telink)
platform target config section b5a0754 44775e7 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 598154 599090 936 0.2
.app_xip_area 505736 506672 936 0.2
.bss 75108 75108 0 0.0
.data 652 652 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 556030 556962 932 0.2
.app_xip_area 465148 466080 932 0.2
.bss 73612 73612 0 0.0
.data 616 616 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 566014 566934 920 0.2
.app_xip_area 465428 466348 920 0.2
.bss 82996 82996 0 0.0
.data 552 552 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 919968 921024 1056 0.1
(read/write) 128264 128264 0 0.0
.bss 126224 126224 0 0.0
.data 2040 2040 0 0.0
.text 919960 921016 1056 0.1
BRD4161A+rpc (read only) 948796 949860 1064 0.1
(read/write) 144220 144220 0 0.0
.bss 142000 142000 0 0.0
.data 2220 2220 0 0.0
.text 948788 949852 1064 0.1
window-app BRD4161A (read only) 852444 853500 1056 0.1
(read/write) 126220 126220 0 0.0
.bss 124304 124304 0 0.0
.data 1916 1916 0 0.0
.text 852436 853492 1056 0.1
esp32 all-clusters-app c3devkit (read only) 957700 958350 650 0.1
(read/write) 1393874 1393938 64 0.0
.dram0.bss 63576 63576 0 0.0
.dram0.data 14220 14228 8 0.1
.flash.rodata 197160 197208 48 0.0
.flash.text 957700 958350 650 0.1
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1012895 1014015 1120 0.1
(read/write) 461108 461164 56 0.0
.dram0.bss 69096 69096 0 0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 226112 226168 56 0.0
.flash.text 1007511 1008631 1120 0.1
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 694600 695528 928 0.1
.bss 77160 77160 0 0.0
.data 1924 1924 0 0.0
.text 609716 610644 928 0.2
lock k32w061+release (read/write) 695384 696316 932 0.1
.bss 77072 77072 0 0.0
.data 1964 1964 0 0.0
.text 610548 611480 932 0.2
linux all-clusters-app debug (read only) 2430609 2434929 4320 0.2
(read/write) 145872 145872 0 0.0
.bss 60352 60352 0 0.0
.data 1360 1360 0 0.0
.data.rel.ro 78424 78424 0 0.0
.dynamic 592 592 0 0.0
.got 4176 4176 0 0.0
.init 27 27 0 0.0
.init_array 936 936 0 0.0
.rodata 205861 205989 128 0.1
.text 2061762 2065954 4192 0.2
bridge-app debug+rpc (read only) 1735717 1740069 4352 0.3
(read/write) 92784 92784 0 0.0
.bss 47624 47624 0 0.0
.data 2016 2016 0 0.0
.data.rel.ro 38064 38064 0 0.0
.dynamic 592 592 0 0.0
.got 3928 3928 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 142028 142156 128 0.1
.text 1477717 1481941 4224 0.3
chip-tool debug (read only) 10093413 10097333 3920 0.0
(read/write) 358168 358168 0 0.0
.bss 25640 25640 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 325352 325352 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 514388 514484 96 0.0
.text 8796341 8800165 3824 0.0
chip-tool-ipv6only arm64 (read only) 9729324 9730940 1616 0.0
(read/write) 475969 475921 -48 -0.0
.bss 43953 43953 0 0.0
.data 1200 1200 0 0.0
.data.rel.ro 371712 371664 -48 -0.0
.dynamic 560 560 0 0.0
.got 55304 55304 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 492084 492116 32 0.0
.text 8186052 8187684 1632 0.0
door-lock-app debug (read only) 1950193 1954593 4400 0.2
(read/write) 119296 119296 0 0.0
.bss 50656 50656 0 0.0
.data 1056 1056 0 0.0
.data.rel.ro 62184 62184 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 173948 174108 160 0.1
.text 1627602 1631842 4240 0.3
lighting-app debug+rpc (read only) 2082361 2086729 4368 0.2
(read/write) 124616 124616 0 0.0
.bss 51456 51456 0 0.0
.data 1536 1536 0 0.0
.data.rel.ro 66104 66104 0 0.0
.dynamic 608 608 0 0.0
.got 4144 4144 0 0.0
.init 27 27 0 0.0
.init_array 736 736 0 0.0
.rodata 166140 166268 128 0.1
.text 1760562 1764802 4240 0.2
ota-provider-app debug (read only) 1883609 1887977 4368 0.2
(read/write) 114896 114896 0 0.0
.bss 50464 50464 0 0.0
.data 1320 1320 0 0.0
.data.rel.ro 57464 57464 0 0.0
.dynamic 608 608 0 0.0
.got 4368 4368 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 159155 159283 128 0.1
.text 1573730 1577970 4240 0.3
ota-requestor-app debug (read only) 1911073 1915441 4368 0.2
(read/write) 117864 117864 0 0.0
.bss 51584 51584 0 0.0
.data 1480 1480 0 0.0
.data.rel.ro 59368 59368 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 155148 155276 128 0.1
.text 1605410 1609650 4240 0.3
shell debug (read only) 2396785 2401105 4320 0.2
(read/write) 150088 150088 0 0.0
.bss 70472 70472 0 0.0
.data 864 864 0 0.0
.data.rel.ro 73064 73064 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 205810 205938 128 0.1
.text 2034402 2038594 4192 0.2
thermostat-no-ble arm64 (read only) 2178780 2180820 2040 0.1
(read/write) 148817 148801 -16 -0.0
.bss 65393 65393 0 0.0
.data 1048 1048 0 0.0
.data.rel.ro 75160 75112 -48 -0.1
.dynamic 560 560 0 0.0
.got 4240 4280 40 0.9
.init 24 24 0 0.0
.init_array 352 352 0 0.0
.rodata 133196 133220 24 0.0
.text 1826992 1828928 1936 0.1
tv-app debug (read only) 2622297 2626617 4320 0.2
(read/write) 250360 250360 0 0.0
.bss 167520 167520 0 0.0
.data 3168 3168 0 0.0
.data.rel.ro 73624 73624 0 0.0
.dynamic 592 592 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 880 880 0 0.0
.rodata 199453 199581 128 0.1
.text 2248754 2252946 4192 0.2
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2351540 2350924 -616 -0.0
.bss 186212 186212 0 0.0
.data 5792 5792 0 0.0
.text 1314140 1313524 -616 -0.0
p6 all-clusters-app default (read/write) 2494312 2495384 1072 0.0
.bss 119640 119640 0 0.0
.data 2680 2680 0 0.0
.text 1452576 1453648 1072 0.1
light-app default (read/write) 2398392 2399448 1056 0.0
.bss 113104 113104 0 0.0
.data 2536 2536 0 0.0
.text 1356656 1357712 1056 0.1
lock-app default (read/write) 2361952 2363008 1056 0.0
.bss 112848 112848 0 0.0
.data 2496 2496 0 0.0
.text 1320216 1321272 1056 0.1
telink lighting-app tlsr9518adk80d (read/write) 888946 889750 804 0.1
bss 86968 86968 0 0.0
noinit 37160 37160 0 0.0
text 628166 628870 704 0.1

@bzbarsky-apple bzbarsky-apple merged commit 244969f into project-chip:master Mar 10, 2022
@bzbarsky-apple bzbarsky-apple deleted the fabric-table-storage branch March 10, 2022 19:37
andrei-menzopol pushed a commit to andrei-menzopol/connectedhomeip that referenced this pull request Apr 14, 2022
…roject-chip#16032)

* Change fabric table persistence to not use a single blob per fabric.

This will let us do a better job of loading things on demand as
needed, in followups, so we don't have to keep the certs in RAM all
the time.

* Address review comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants