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

[ICD] Server side subscription persistence and resumption #24361

Conversation

jtung-apple
Copy link
Contributor

Initial implementation for server side subscription persistence and resumption

  • Added feature flag CHIP_CONFIG_PERSIST_SUBSCRIPTIONS
  • Added subscription storage
  • Plumbed IM Engine and ReadHandler to persist and resume subscriptions

@github-actions
Copy link

github-actions bot commented Jan 11, 2023

PR #24361: Size comparison from 18d3671 to 0e003ba

Increases above 0.2%:

platform target config section 18d3671 0e003ba change % change
linux all-clusters-app debug (read only) 3124817 3166945 42128 1.3
.rodata 282507 283499 992 0.4
.text 2657410 2698258 40848 1.5
all-clusters-minimal-app debug (read only) 2937065 2979209 42144 1.4
.rodata 281195 282219 1024 0.4
.text 2474226 2515058 40832 1.7
bridge-app debug (read only) 2496489 2539017 42528 1.7
.data.rel.ro 68712 68856 144 0.2
.rodata 212480 213568 1088 0.5
.text 2112226 2153378 41152 1.9
lighting-app debug+rpc (read only) 2663953 2703697 39744 1.5
.rodata 228448 229408 960 0.4
.text 2258754 2297250 38496 1.7
lock-app debug (read only) 2622825 2665193 42368 1.6
.data.rel.ro 68824 68968 144 0.2
.rodata 244648 245576 928 0.4
.text 2206274 2247426 41152 1.9
ota-provider-app debug (read only) 2196745 2239177 42432 1.9
.data.rel.ro 51320 51464 144 0.3
.rodata 196008 197000 992 0.5
.text 1860834 1901986 41152 2.2
ota-requestor-app debug (read only) 2358201 2400297 42096 1.8
.data.rel.ro 56088 56232 144 0.3
.rodata 202704 203664 960 0.5
.text 2006594 2047442 40848 2.0
shell debug (read only) 2657481 2699577 42096 1.6
.data.rel.ro 72600 72752 152 0.2
.rodata 240754 241714 960 0.4
.text 2256802 2297650 40848 1.8
thermostat-no-ble arm64 (read only) 2478500 2515172 36672 1.5
.data 1816 1824 8 0.4
.got 5192 5344 152 2.9
.rodata 149792 150560 768 0.5
.text 2068112 2103216 35104 1.7
tv-app debug (read only) 3286601 3328553 41952 1.3
.rodata 269400 270360 960 0.4
.text 2822850 2863554 40704 1.4
tv-casting-app debug (read only) 5638697 5680841 42144 0.7
.rodata 361433 362585 1152 0.3
.text 4999218 5039922 40704 0.8
Increases (13 builds for linux)
platform target config section 18d3671 0e003ba change % change
linux all-clusters-app debug (read only) 3124817 3166945 42128 1.3
(read/write) 153104 153264 160 0.1
.bss 62496 62528 32 0.1
.data.rel.ro 81704 81848 144 0.2
.rodata 282507 283499 992 0.4
.text 2657410 2698258 40848 1.5
all-clusters-minimal-app debug (read only) 2937065 2979209 42144 1.4
(read/write) 146480 146672 192 0.1
.bss 61632 61664 32 0.1
.data.rel.ro 76120 76264 144 0.2
.rodata 281195 282219 1024 0.4
.text 2474226 2515058 40832 1.7
bridge-app debug (read only) 2496489 2539017 42528 1.7
(read/write) 130944 131136 192 0.1
.bss 52512 52544 32 0.1
.data.rel.ro 68712 68856 144 0.2
.rodata 212480 213568 1088 0.5
.text 2112226 2153378 41152 1.9
chip-tool debug (read only) 11289329 11299345 10016 0.1
.rodata 623365 623717 352 0.1
.text 9177396 9187060 9664 0.1
chip-tool-ipv6only arm64 (read only) 10688460 10698076 9616 0.1
(read/write) 691864 691880 16 0.0
.got 13960 13976 16 0.1
.rodata 551068 551196 128 0.0
.text 8499076 8508516 9440 0.1
lighting-app debug+rpc (read only) 2663953 2703697 39744 1.5
(read/write) 130280 130472 192 0.1
.bss 49952 50016 64 0.1
.data.rel.ro 71848 71976 128 0.2
.rodata 228448 229408 960 0.4
.text 2258754 2297250 38496 1.7
lock-app debug (read only) 2622825 2665193 42368 1.6
(read/write) 125328 125488 160 0.1
.bss 48384 48416 32 0.1
.data.rel.ro 68824 68968 144 0.2
.rodata 244648 245576 928 0.4
.text 2206274 2247426 41152 1.9
ota-provider-app debug (read only) 2196745 2239177 42432 1.9
(read/write) 105072 105232 160 0.2
.bss 46560 46592 32 0.1
.data.rel.ro 51320 51464 144 0.3
.rodata 196008 197000 992 0.5
.text 1860834 1901986 41152 2.2
ota-requestor-app debug (read only) 2358201 2400297 42096 1.8
(read/write) 112800 112960 160 0.1
.bss 49056 49088 32 0.1
.data.rel.ro 56088 56232 144 0.3
.rodata 202704 203664 960 0.5
.text 2006594 2047442 40848 2.0
shell debug (read only) 2657481 2699577 42096 1.6
(read/write) 137568 137760 192 0.1
.bss 57896 57928 32 0.1
.data.rel.ro 72600 72752 152 0.2
.rodata 240754 241714 960 0.4
.text 2256802 2297650 40848 1.8
thermostat-no-ble arm64 (read only) 2478500 2515172 36672 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.got 5192 5344 152 2.9
.rodata 149792 150560 768 0.5
.text 2068112 2103216 35104 1.7
tv-app debug (read only) 3286601 3328553 41952 1.3
(read/write) 259344 259504 160 0.1
.bss 170776 170808 32 0.0
.data.rel.ro 77952 78096 144 0.2
.rodata 269400 270360 960 0.4
.text 2822850 2863554 40704 1.4
tv-casting-app debug (read only) 5638697 5680841 42144 0.7
(read/write) 160696 160920 224 0.1
.bss 52280 52344 64 0.1
.data.rel.ro 99880 100024 144 0.1
.rodata 361433 362585 1152 0.3
.text 4999218 5039922 40704 0.8
Full report (13 builds for linux)
platform target config section 18d3671 0e003ba change % change
linux all-clusters-app debug (read only) 3124817 3166945 42128 1.3
(read/write) 153104 153264 160 0.1
.bss 62496 62528 32 0.1
.data 2304 2304 0 0.0
.data.rel.ro 81704 81848 144 0.2
.dynamic 608 608 0 0.0
.got 4768 4768 0 0.0
.init 27 27 0 0.0
.init_array 1192 1192 0 0.0
.rodata 282507 283499 992 0.4
.text 2657410 2698258 40848 1.5
all-clusters-minimal-app debug (read only) 2937065 2979209 42144 1.4
(read/write) 146480 146672 192 0.1
.bss 61632 61664 32 0.1
.data 2272 2272 0 0.0
.data.rel.ro 76120 76264 144 0.2
.dynamic 608 608 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 281195 282219 1024 0.4
.text 2474226 2515058 40832 1.7
bridge-app debug (read only) 2496489 2539017 42528 1.7
(read/write) 130944 131136 192 0.1
.bss 52512 52544 32 0.1
.data 3632 3632 0 0.0
.data.rel.ro 68712 68856 144 0.2
.dynamic 608 608 0 0.0
.got 4600 4600 0 0.0
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 212480 213568 1088 0.5
.text 2112226 2153378 41152 1.9
chip-tool debug (read only) 11289329 11299345 10016 0.1
(read/write) 642416 642416 0 0.0
.bss 25880 25880 0 0.0
.data 2754 2754 0 0.0
.data.rel.ro 607168 607168 0 0.0
.dynamic 608 608 0 0.0
.got 5192 5192 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 623365 623717 352 0.1
.text 9177396 9187060 9664 0.1
chip-tool-ipv6only arm64 (read only) 10688460 10698076 9616 0.1
(read/write) 691864 691880 16 0.0
.bss 33912 33912 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 636168 636168 0 0.0
.dynamic 560 560 0 0.0
.got 13960 13976 16 0.1
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 551068 551196 128 0.0
.text 8499076 8508516 9440 0.1
lighting-app debug+rpc (read only) 2663953 2703697 39744 1.5
(read/write) 130280 130472 192 0.1
.bss 49952 50016 64 0.1
.data 2288 2288 0 0.0
.data.rel.ro 71848 71976 128 0.2
.dynamic 608 608 0 0.0
.got 4632 4632 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 228448 229408 960 0.4
.text 2258754 2297250 38496 1.7
lock-app debug (read only) 2622825 2665193 42368 1.6
(read/write) 125328 125488 160 0.1
.bss 48384 48416 32 0.1
.data 1904 1904 0 0.0
.data.rel.ro 68824 68968 144 0.2
.dynamic 608 608 0 0.0
.got 4664 4664 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 244648 245576 928 0.4
.text 2206274 2247426 41152 1.9
ota-provider-app debug (read only) 2196745 2239177 42432 1.9
(read/write) 105072 105232 160 0.2
.bss 46560 46592 32 0.1
.data 2080 2080 0 0.0
.data.rel.ro 51320 51464 144 0.3
.dynamic 608 608 0 0.0
.got 3728 3728 0 0.0
.init 27 27 0 0.0
.init_array 744 744 0 0.0
.rodata 196008 197000 992 0.5
.text 1860834 1901986 41152 2.2
ota-requestor-app debug (read only) 2358201 2400297 42096 1.8
(read/write) 112800 112960 160 0.1
.bss 49056 49088 32 0.1
.data 2448 2448 0 0.0
.data.rel.ro 56088 56232 144 0.3
.dynamic 608 608 0 0.0
.got 3728 3728 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 202704 203664 960 0.5
.text 2006594 2047442 40848 2.0
shell debug (read only) 2657481 2699577 42096 1.6
(read/write) 137568 137760 192 0.1
.bss 57896 57928 32 0.1
.data 1264 1264 0 0.0
.data.rel.ro 72600 72752 152 0.2
.dynamic 608 608 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 240754 241714 960 0.4
.text 2256802 2297650 40848 1.8
thermostat-no-ble arm64 (read only) 2478500 2515172 36672 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.dynamic 560 560 0 0.0
.got 5192 5344 152 2.9
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 149792 150560 768 0.5
.text 2068112 2103216 35104 1.7
tv-app debug (read only) 3286601 3328553 41952 1.3
(read/write) 259344 259504 160 0.1
.bss 170776 170808 32 0.0
.data 3904 3904 0 0.0
.data.rel.ro 77952 78096 144 0.2
.dynamic 608 608 0 0.0
.got 5000 5000 0 0.0
.init 27 27 0 0.0
.init_array 1072 1072 0 0.0
.rodata 269400 270360 960 0.4
.text 2822850 2863554 40704 1.4
tv-casting-app debug (read only) 5638697 5680841 42144 0.7
(read/write) 160696 160920 224 0.1
.bss 52280 52344 64 0.1
.data 1936 1936 0 0.0
.data.rel.ro 99880 100024 144 0.1
.dynamic 608 608 0 0.0
.got 4920 4920 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 361433 362585 1152 0.3
.text 4999218 5039922 40704 0.8

@github-actions
Copy link

PR #24361: Size comparison from 18d3671 to a3b8add

Increases above 0.2%:

platform target config section 18d3671 a3b8add change % change
linux thermostat-no-ble arm64 (read only) 2478500 2515172 36672 1.5
(read/write) 143016 143352 336 0.2
.data 1816 1824 8 0.4
.got 5192 5344 152 2.9
.rodata 149792 150560 768 0.5
.text 2068112 2103216 35104 1.7
Increases (2 builds for linux)
platform target config section 18d3671 a3b8add change % change
linux chip-tool-ipv6only arm64 (read only) 10688460 10698076 9616 0.1
(read/write) 691864 691880 16 0.0
.got 13960 13976 16 0.1
.rodata 551068 551196 128 0.0
.text 8499076 8508516 9440 0.1
thermostat-no-ble arm64 (read only) 2478500 2515172 36672 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.got 5192 5344 152 2.9
.rodata 149792 150560 768 0.5
.text 2068112 2103216 35104 1.7
Full report (2 builds for linux)
platform target config section 18d3671 a3b8add change % change
linux chip-tool-ipv6only arm64 (read only) 10688460 10698076 9616 0.1
(read/write) 691864 691880 16 0.0
.bss 33912 33912 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 636168 636168 0 0.0
.dynamic 560 560 0 0.0
.got 13960 13976 16 0.1
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 551068 551196 128 0.0
.text 8499076 8508516 9440 0.1
thermostat-no-ble arm64 (read only) 2478500 2515172 36672 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.dynamic 560 560 0 0.0
.got 5192 5344 152 2.9
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 149792 150560 768 0.5
.text 2068112 2103216 35104 1.7

@github-actions
Copy link

github-actions bot commented Jan 11, 2023

PR #24361: Size comparison from 18d3671 to c6fb866

Increases above 0.2%:

platform target config section 18d3671 c6fb866 change % change
bl602 lighting-app bl602 (read/write) 1329406 1341606 12200 0.9
.bss 86926 89246 2320 2.7
.data 9576 9680 104 1.1
.text 1016646 1025874 9228 0.9
bl602+rpc (read/write) 1374902 1387094 12192 0.9
.bss 94966 97286 2320 2.4
.data 9976 10072 96 1.0
.text 1047634 1056880 9246 0.9
bl702 lighting-app bl702 (read/write) 1194735 1198371 3636 0.3
.bss 66590 68526 1936 2.9
.data 4048 4152 104 2.6
.debug_abbrev 1533431 1540278 6847 0.4
.debug_aranges 132656 132928 272 0.2
.debug_frame 486996 488344 1348 0.3
.debug_info 39900396 40305406 405010 1.0
.debug_line 5228552 5257318 28766 0.6
.debug_loc 3394501 3422580 28079 0.8
.debug_ranges 372192 375624 3432 0.9
.debug_str 3508116 3588565 80449 2.3
.rodata 115312 115856 544 0.5
.strtab 569337 573779 4442 0.8
.symtab 172016 172800 784 0.5
.text 956872 965984 9112 1.0
bl702+rpc (read/write) 1286899 1298635 11736 0.9
.bss 74622 76558 1936 2.6
.data 4600 4704 104 2.3
.debug_abbrev 1681901 1688943 7042 0.4
.debug_frame 514708 516036 1328 0.3
.debug_info 44286220 44702759 416539 0.9
.debug_line 5626141 5655252 29111 0.5
.debug_loc 3590508 3618746 28238 0.8
.debug_ranges 395896 399320 3424 0.9
.debug_str 3910726 3990048 79322 2.0
.rodata 129776 130304 528 0.4
.strtab 629852 634154 4302 0.7
.symtab 190336 191104 768 0.4
.text 1033764 1042932 9168 0.9
k32w contact k32w0+release (read/write) 660316 667912 7596 1.2
.bss 77032 78976 1944 2.5
.text 562068 567716 5648 1.0
light k32w0+release (read/write) 671408 679588 8180 1.2
.bss 74824 76752 1928 2.6
.text 591796 598044 6248 1.1
lock k32w0+release (read/write) 631700 639296 7596 1.2
.bss 75584 77528 1944 2.6
.text 551308 556956 5648 1.0
linux thermostat-no-ble arm64 (read only) 2478500 2515092 36592 1.5
(read/write) 143016 143352 336 0.2
.data 1816 1824 8 0.4
.got 5192 5344 152 2.9
.rodata 149792 150560 768 0.5
.text 2068112 2103136 35024 1.7
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2461848 2468208 6360 0.3
.bss 214932 221084 6152 2.9
.text 1424492 1430852 6360 0.4
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1165324 1173552 8228 0.7
bss 146748 148680 1932 1.3
rodata 133820 134440 620 0.5
text 804548 810224 5676 0.7
nrf7002dk_nrf5340_cpuapp (read/write) 1366968 1375252 8284 0.6
bss 106048 107980 1932 1.8
rodata 211308 211924 616 0.3
text 763788 769456 5668 0.7
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1111168 1119380 8212 0.7
bss 145947 147879 1932 1.3
rodata 111104 111724 620 0.6
text 773944 779612 5668 0.7
qpg lighting-app qpg6105+debug (read/write) 1148388 1154220 5832 0.5
.bss 100348 102276 1928 1.9
.data 840 844 4 0.5
.text 595488 601316 5828 1.0
lock-app qpg6105+debug (read/write) 1114836 1121196 6360 0.6
.bss 95828 98796 2968 3.1
.data 836 856 20 2.4
.text 561932 568296 6364 1.1
Increases (15 builds for bl602, bl702, k32w, linux, mbed, nrfconnect, qpg)
platform target config section 18d3671 c6fb866 change % change
bl602 lighting-app bl602 (read/write) 1329406 1341606 12200 0.9
.bss 86926 89246 2320 2.7
.data 9576 9680 104 1.1
.text 1016646 1025874 9228 0.9
bl602+rpc (read/write) 1374902 1387094 12192 0.9
.bss 94966 97286 2320 2.4
.data 9976 10072 96 1.0
.text 1047634 1056880 9246 0.9
bl702 lighting-app bl702 (read/write) 1194735 1198371 3636 0.3
.bss 66590 68526 1936 2.9
.data 4048 4152 104 2.6
.debug_abbrev 1533431 1540278 6847 0.4
.debug_aranges 132656 132928 272 0.2
.debug_frame 486996 488344 1348 0.3
.debug_info 39900396 40305406 405010 1.0
.debug_line 5228552 5257318 28766 0.6
.debug_loc 3394501 3422580 28079 0.8
.debug_ranges 372192 375624 3432 0.9
.debug_str 3508116 3588565 80449 2.3
.rodata 115312 115856 544 0.5
.strtab 569337 573779 4442 0.8
.symtab 172016 172800 784 0.5
.text 956872 965984 9112 1.0
bl702+rpc (read/write) 1286899 1298635 11736 0.9
.bss 74622 76558 1936 2.6
.data 4600 4704 104 2.3
.debug_abbrev 1681901 1688943 7042 0.4
.debug_aranges 140880 141144 264 0.2
.debug_frame 514708 516036 1328 0.3
.debug_info 44286220 44702759 416539 0.9
.debug_line 5626141 5655252 29111 0.5
.debug_loc 3590508 3618746 28238 0.8
.debug_ranges 395896 399320 3424 0.9
.debug_str 3910726 3990048 79322 2.0
.rodata 129776 130304 528 0.4
.strtab 629852 634154 4302 0.7
.symtab 190336 191104 768 0.4
.text 1033764 1042932 9168 0.9
k32w contact k32w0+release (read/write) 660316 667912 7596 1.2
.bss 77032 78976 1944 2.5
.data 2104 2108 4 0.2
.text 562068 567716 5648 1.0
light k32w0+release (read/write) 671408 679588 8180 1.2
.bss 74824 76752 1928 2.6
.data 2060 2064 4 0.2
.text 591796 598044 6248 1.1
lock k32w0+release (read/write) 631700 639296 7596 1.2
.bss 75584 77528 1944 2.6
.data 2080 2084 4 0.2
.text 551308 556956 5648 1.0
linux chip-tool-ipv6only arm64 (read only) 10688460 10698028 9568 0.1
(read/write) 691864 691880 16 0.0
.got 13960 13976 16 0.1
.rodata 551068 551196 128 0.0
.text 8499076 8508468 9392 0.1
thermostat-no-ble arm64 (read only) 2478500 2515092 36592 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.got 5192 5344 152 2.9
.rodata 149792 150560 768 0.5
.text 2068112 2103136 35024 1.7
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2461848 2468208 6360 0.3
.bss 214932 221084 6152 2.9
.data 5872 5880 8 0.1
.text 1424492 1430852 6360 0.4
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1165324 1173552 8228 0.7
bss 146748 148680 1932 1.3
rodata 133820 134440 620 0.5
text 804548 810224 5676 0.7
nrf7002dk_nrf5340_cpuapp (read/write) 1366968 1375252 8284 0.6
bss 106048 107980 1932 1.8
rodata 211308 211924 616 0.3
text 763788 769456 5668 0.7
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1111168 1119380 8212 0.7
bss 145947 147879 1932 1.3
rodata 111104 111724 620 0.6
text 773944 779612 5668 0.7
qpg lighting-app qpg6105+debug (read/write) 1148388 1154220 5832 0.5
.bss 100348 102276 1928 1.9
.data 840 844 4 0.5
.text 595488 601316 5828 1.0
lock-app qpg6105+debug (read/write) 1114836 1121196 6360 0.6
.bss 95828 98796 2968 3.1
.data 836 856 20 2.4
.text 561932 568296 6364 1.1
Full report (15 builds for bl602, bl702, k32w, linux, mbed, nrfconnect, qpg)
platform target config section 18d3671 c6fb866 change % change
bl602 lighting-app bl602 (read/write) 1329406 1341606 12200 0.9
.bss 86926 89246 2320 2.7
.data 9576 9680 104 1.1
.text 1016646 1025874 9228 0.9
bl602+rpc (read/write) 1374902 1387094 12192 0.9
.bss 94966 97286 2320 2.4
.data 9976 10072 96 1.0
.text 1047634 1056880 9246 0.9
bl702 lighting-app bl702 0 0 0 0.0
(read only) 3262 3262 0 0.0
(read/write) 1194735 1198371 3636 0.3
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 66590 68526 1936 2.9
.bss_psram 30048 30048 0 0.0
.comment 48 48 0 0.0
.data 4048 4152 104 2.6
.debug_abbrev 1533431 1540278 6847 0.4
.debug_aranges 132656 132928 272 0.2
.debug_frame 486996 488344 1348 0.3
.debug_info 39900396 40305406 405010 1.0
.debug_line 5228552 5257318 28766 0.6
.debug_loc 3394501 3422580 28079 0.8
.debug_ranges 372192 375624 3432 0.9
.debug_str 3508116 3588565 80449 2.3
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 115312 115856 544 0.5
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 569337 573779 4442 0.8
.symtab 172016 172800 784 0.5
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 956872 965984 9112 1.0
bl702+rpc 0 0 0 0.0
(read only) 3262 3262 0 0.0
(read/write) 1286899 1298635 11736 0.9
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 74622 76558 1936 2.6
.bss_psram 30304 30304 0 0.0
.comment 48 48 0 0.0
.data 4600 4704 104 2.3
.debug_abbrev 1681901 1688943 7042 0.4
.debug_aranges 140880 141144 264 0.2
.debug_frame 514708 516036 1328 0.3
.debug_info 44286220 44702759 416539 0.9
.debug_line 5626141 5655252 29111 0.5
.debug_loc 3590508 3618746 28238 0.8
.debug_ranges 395896 399320 3424 0.9
.debug_str 3910726 3990048 79322 2.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 129776 130304 528 0.4
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 629852 634154 4302 0.7
.symtab 190336 191104 768 0.4
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 1033764 1042932 9168 0.9
k32w contact k32w0+release (read/write) 660316 667912 7596 1.2
.bss 77032 78976 1944 2.5
.data 2104 2108 4 0.2
.text 562068 567716 5648 1.0
light k32w0+release (read/write) 671408 679588 8180 1.2
.bss 74824 76752 1928 2.6
.data 2060 2064 4 0.2
.text 591796 598044 6248 1.1
lock k32w0+release (read/write) 631700 639296 7596 1.2
.bss 75584 77528 1944 2.6
.data 2080 2084 4 0.2
.text 551308 556956 5648 1.0
linux chip-tool-ipv6only arm64 (read only) 10688460 10698028 9568 0.1
(read/write) 691864 691880 16 0.0
.bss 33912 33912 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 636168 636168 0 0.0
.dynamic 560 560 0 0.0
.got 13960 13976 16 0.1
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 551068 551196 128 0.0
.text 8499076 8508468 9392 0.1
thermostat-no-ble arm64 (read only) 2478500 2515092 36592 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.dynamic 560 560 0 0.0
.got 5192 5344 152 2.9
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 149792 150560 768 0.5
.text 2068112 2103136 35024 1.7
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2461848 2468208 6360 0.3
.bss 214932 221084 6152 2.9
.data 5872 5880 8 0.1
.text 1424492 1430852 6360 0.4
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1165324 1173552 8228 0.7
bss 146748 148680 1932 1.3
rodata 133820 134440 620 0.5
text 804548 810224 5676 0.7
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1366968 1375252 8284 0.6
bss 106048 107980 1932 1.8
rodata 211308 211924 616 0.3
text 763788 769456 5668 0.7
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1111168 1119380 8212 0.7
bss 145947 147879 1932 1.3
rodata 111104 111724 620 0.6
text 773944 779612 5668 0.7
qpg lighting-app qpg6105+debug (read/write) 1148388 1154220 5832 0.5
.bss 100348 102276 1928 1.9
.data 840 844 4 0.5
.text 595488 601316 5828 1.0
lock-app qpg6105+debug (read/write) 1114836 1121196 6360 0.6
.bss 95828 98796 2968 3.1
.data 836 856 20 2.4
.text 561932 568296 6364 1.1

@github-actions
Copy link

github-actions bot commented Jan 11, 2023

PR #24361: Size comparison from 18d3671 to a82a9d0

Increases above 0.2%:

platform target config section 18d3671 a82a9d0 change % change
bl602 lighting-app bl602 (read/write) 1329406 1341594 12188 0.9
.bss 86926 89246 2320 2.7
.data 9576 9680 104 1.1
.text 1016646 1025872 9226 0.9
bl602+rpc (read/write) 1374902 1387090 12188 0.9
.bss 94966 97286 2320 2.4
.data 9976 10072 96 1.0
.text 1047634 1056880 9246 0.9
bl702 lighting-app bl702 (read/write) 1194735 1198355 3620 0.3
.bss 66590 68526 1936 2.9
.data 4048 4152 104 2.6
.debug_abbrev 1533431 1540278 6847 0.4
.debug_frame 486996 488344 1348 0.3
.debug_info 39900396 40305406 405010 1.0
.debug_line 5228552 5257318 28766 0.6
.debug_loc 3394501 3422580 28079 0.8
.debug_ranges 372192 375624 3432 0.9
.debug_str 3508116 3588565 80449 2.3
.rodata 115312 115840 528 0.5
.strtab 569337 573779 4442 0.8
.symtab 172016 172800 784 0.5
.text 956872 965984 9112 1.0
bl702+rpc (read/write) 1286899 1298635 11736 0.9
.bss 74622 76558 1936 2.6
.data 4600 4704 104 2.3
.debug_abbrev 1681901 1688943 7042 0.4
.debug_frame 514708 516036 1328 0.3
.debug_info 44286220 44702758 416538 0.9
.debug_line 5626141 5655252 29111 0.5
.debug_loc 3590508 3618746 28238 0.8
.debug_ranges 395896 399320 3424 0.9
.debug_str 3910726 3990048 79322 2.0
.rodata 129776 130304 528 0.4
.strtab 629852 634154 4302 0.7
.symtab 190336 191104 768 0.4
.text 1033764 1042930 9166 0.9
k32w contact k32w0+release (read/write) 660316 667912 7596 1.2
.bss 77032 78976 1944 2.5
.text 562068 567716 5648 1.0
light k32w0+release (read/write) 671408 679580 8172 1.2
.bss 74824 76752 1928 2.6
.text 591796 598036 6240 1.1
lock k32w0+release (read/write) 631700 639296 7596 1.2
.bss 75584 77528 1944 2.6
.text 551308 556956 5648 1.0
linux thermostat-no-ble arm64 (read only) 2478500 2515092 36592 1.5
(read/write) 143016 143352 336 0.2
.data 1816 1824 8 0.4
.got 5192 5344 152 2.9
.rodata 149792 150560 768 0.5
.text 2068112 2103136 35024 1.7
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2461848 2468208 6360 0.3
.bss 214932 221084 6152 2.9
.text 1424492 1430852 6360 0.4
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1165324 1173552 8228 0.7
bss 146748 148680 1932 1.3
rodata 133820 134440 620 0.5
text 804548 810224 5676 0.7
nrf7002dk_nrf5340_cpuapp (read/write) 1366968 1375252 8284 0.6
bss 106048 107980 1932 1.8
rodata 211308 211924 616 0.3
text 763788 769456 5668 0.7
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1111168 1119376 8208 0.7
bss 145947 147879 1932 1.3
rodata 111104 111720 616 0.6
text 773944 779616 5672 0.7
qpg lighting-app qpg6105+debug (read/write) 1148388 1154220 5832 0.5
.bss 100348 102276 1928 1.9
.data 840 844 4 0.5
.text 595488 601316 5828 1.0
lock-app qpg6105+debug (read/write) 1114836 1121196 6360 0.6
.bss 95828 98796 2968 3.1
.data 836 856 20 2.4
.text 561932 568296 6364 1.1
Increases (15 builds for bl602, bl702, k32w, linux, mbed, nrfconnect, qpg)
platform target config section 18d3671 a82a9d0 change % change
bl602 lighting-app bl602 (read/write) 1329406 1341594 12188 0.9
.bss 86926 89246 2320 2.7
.data 9576 9680 104 1.1
.text 1016646 1025872 9226 0.9
bl602+rpc (read/write) 1374902 1387090 12188 0.9
.bss 94966 97286 2320 2.4
.data 9976 10072 96 1.0
.text 1047634 1056880 9246 0.9
bl702 lighting-app bl702 (read/write) 1194735 1198355 3620 0.3
.bss 66590 68526 1936 2.9
.data 4048 4152 104 2.6
.debug_abbrev 1533431 1540278 6847 0.4
.debug_aranges 132656 132928 272 0.2
.debug_frame 486996 488344 1348 0.3
.debug_info 39900396 40305406 405010 1.0
.debug_line 5228552 5257318 28766 0.6
.debug_loc 3394501 3422580 28079 0.8
.debug_ranges 372192 375624 3432 0.9
.debug_str 3508116 3588565 80449 2.3
.rodata 115312 115840 528 0.5
.strtab 569337 573779 4442 0.8
.symtab 172016 172800 784 0.5
.text 956872 965984 9112 1.0
bl702+rpc (read/write) 1286899 1298635 11736 0.9
.bss 74622 76558 1936 2.6
.data 4600 4704 104 2.3
.debug_abbrev 1681901 1688943 7042 0.4
.debug_aranges 140880 141144 264 0.2
.debug_frame 514708 516036 1328 0.3
.debug_info 44286220 44702758 416538 0.9
.debug_line 5626141 5655252 29111 0.5
.debug_loc 3590508 3618746 28238 0.8
.debug_ranges 395896 399320 3424 0.9
.debug_str 3910726 3990048 79322 2.0
.rodata 129776 130304 528 0.4
.strtab 629852 634154 4302 0.7
.symtab 190336 191104 768 0.4
.text 1033764 1042930 9166 0.9
k32w contact k32w0+release (read/write) 660316 667912 7596 1.2
.bss 77032 78976 1944 2.5
.data 2104 2108 4 0.2
.text 562068 567716 5648 1.0
light k32w0+release (read/write) 671408 679580 8172 1.2
.bss 74824 76752 1928 2.6
.data 2060 2064 4 0.2
.text 591796 598036 6240 1.1
lock k32w0+release (read/write) 631700 639296 7596 1.2
.bss 75584 77528 1944 2.6
.data 2080 2084 4 0.2
.text 551308 556956 5648 1.0
linux chip-tool-ipv6only arm64 (read only) 10688460 10698028 9568 0.1
(read/write) 691864 691880 16 0.0
.got 13960 13976 16 0.1
.rodata 551068 551196 128 0.0
.text 8499076 8508468 9392 0.1
thermostat-no-ble arm64 (read only) 2478500 2515092 36592 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.got 5192 5344 152 2.9
.rodata 149792 150560 768 0.5
.text 2068112 2103136 35024 1.7
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2461848 2468208 6360 0.3
.bss 214932 221084 6152 2.9
.data 5872 5880 8 0.1
.text 1424492 1430852 6360 0.4
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1165324 1173552 8228 0.7
bss 146748 148680 1932 1.3
rodata 133820 134440 620 0.5
text 804548 810224 5676 0.7
nrf7002dk_nrf5340_cpuapp (read/write) 1366968 1375252 8284 0.6
bss 106048 107980 1932 1.8
rodata 211308 211924 616 0.3
text 763788 769456 5668 0.7
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1111168 1119376 8208 0.7
bss 145947 147879 1932 1.3
rodata 111104 111720 616 0.6
text 773944 779616 5672 0.7
qpg lighting-app qpg6105+debug (read/write) 1148388 1154220 5832 0.5
.bss 100348 102276 1928 1.9
.data 840 844 4 0.5
.text 595488 601316 5828 1.0
lock-app qpg6105+debug (read/write) 1114836 1121196 6360 0.6
.bss 95828 98796 2968 3.1
.data 836 856 20 2.4
.text 561932 568296 6364 1.1
Full report (15 builds for bl602, bl702, k32w, linux, mbed, nrfconnect, qpg)
platform target config section 18d3671 a82a9d0 change % change
bl602 lighting-app bl602 (read/write) 1329406 1341594 12188 0.9
.bss 86926 89246 2320 2.7
.data 9576 9680 104 1.1
.text 1016646 1025872 9226 0.9
bl602+rpc (read/write) 1374902 1387090 12188 0.9
.bss 94966 97286 2320 2.4
.data 9976 10072 96 1.0
.text 1047634 1056880 9246 0.9
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1194735 1198355 3620 0.3
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 66590 68526 1936 2.9
.bss_psram 30048 30048 0 0.0
.comment 48 48 0 0.0
.data 4048 4152 104 2.6
.debug_abbrev 1533431 1540278 6847 0.4
.debug_aranges 132656 132928 272 0.2
.debug_frame 486996 488344 1348 0.3
.debug_info 39900396 40305406 405010 1.0
.debug_line 5228552 5257318 28766 0.6
.debug_loc 3394501 3422580 28079 0.8
.debug_ranges 372192 375624 3432 0.9
.debug_str 3508116 3588565 80449 2.3
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 115312 115840 528 0.5
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 569337 573779 4442 0.8
.symtab 172016 172800 784 0.5
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
956872 965984 9112 1.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1286899 1298635 11736 0.9
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 74622 76558 1936 2.6
.bss_psram 30304 30304 0 0.0
.comment 48 48 0 0.0
.data 4600 4704 104 2.3
.debug_abbrev 1681901 1688943 7042 0.4
.debug_aranges 140880 141144 264 0.2
.debug_frame 514708 516036 1328 0.3
.debug_info 44286220 44702758 416538 0.9
.debug_line 5626141 5655252 29111 0.5
.debug_loc 3590508 3618746 28238 0.8
.debug_ranges 395896 399320 3424 0.9
.debug_str 3910726 3990048 79322 2.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 129776 130304 528 0.4
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 629852 634154 4302 0.7
.symtab 190336 191104 768 0.4
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1033764 1042930 9166 0.9
k32w contact k32w0+release (read/write) 660316 667912 7596 1.2
.bss 77032 78976 1944 2.5
.data 2104 2108 4 0.2
.text 562068 567716 5648 1.0
light k32w0+release (read/write) 671408 679580 8172 1.2
.bss 74824 76752 1928 2.6
.data 2060 2064 4 0.2
.text 591796 598036 6240 1.1
lock k32w0+release (read/write) 631700 639296 7596 1.2
.bss 75584 77528 1944 2.6
.data 2080 2084 4 0.2
.text 551308 556956 5648 1.0
linux chip-tool-ipv6only arm64 (read only) 10688460 10698028 9568 0.1
(read/write) 691864 691880 16 0.0
.bss 33912 33912 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 636168 636168 0 0.0
.dynamic 560 560 0 0.0
.got 13960 13976 16 0.1
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 551068 551196 128 0.0
.text 8499076 8508468 9392 0.1
thermostat-no-ble arm64 (read only) 2478500 2515092 36592 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.dynamic 560 560 0 0.0
.got 5192 5344 152 2.9
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 149792 150560 768 0.5
.text 2068112 2103136 35024 1.7
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2461848 2468208 6360 0.3
.bss 214932 221084 6152 2.9
.data 5872 5880 8 0.1
.text 1424492 1430852 6360 0.4
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1165324 1173552 8228 0.7
bss 146748 148680 1932 1.3
rodata 133820 134440 620 0.5
text 804548 810224 5676 0.7
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1366968 1375252 8284 0.6
bss 106048 107980 1932 1.8
rodata 211308 211924 616 0.3
text 763788 769456 5668 0.7
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1111168 1119376 8208 0.7
bss 145947 147879 1932 1.3
rodata 111104 111720 616 0.6
text 773944 779616 5672 0.7
qpg lighting-app qpg6105+debug (read/write) 1148388 1154220 5832 0.5
.bss 100348 102276 1928 1.9
.data 840 844 4 0.5
.text 595488 601316 5828 1.0
lock-app qpg6105+debug (read/write) 1114836 1121196 6360 0.6
.bss 95828 98796 2968 3.1
.data 836 856 20 2.4
.text 561932 568296 6364 1.1

@github-actions
Copy link

github-actions bot commented Jan 11, 2023

PR #24361: Size comparison from 18d3671 to 05006c3

Increases above 0.2%:

platform target config section 18d3671 05006c3 change % change
bl602 lighting-app bl602 (read/write) 1329406 1340786 11380 0.9
.bss 86926 89246 2320 2.7
.data 9576 9680 104 1.1
.text 1016646 1025062 8416 0.8
bl602+rpc (read/write) 1374902 1386282 11380 0.8
.bss 94966 97286 2320 2.4
.data 9976 10072 96 1.0
.text 1047634 1056070 8436 0.8
bl702 lighting-app bl702 .bss 66590 68526 1936 2.9
.data 4048 4152 104 2.6
.debug_abbrev 1533431 1540410 6979 0.5
.debug_frame 486996 488336 1340 0.3
.debug_info 39900396 40306493 406097 1.0
.debug_line 5228552 5258080 29528 0.6
.debug_loc 3394501 3423828 29327 0.9
.debug_ranges 372192 376008 3816 1.0
.debug_str 3508116 3587922 79806 2.3
.rodata 115312 115840 528 0.5
.strtab 569337 573779 4442 0.8
.symtab 172016 172800 784 0.5
.text 956872 965178 8306 0.9
bl702+rpc (read/write) 1286899 1297819 10920 0.8
.bss 74622 76558 1936 2.6
.data 4600 4704 104 2.3
.debug_abbrev 1681901 1689075 7174 0.4
.debug_frame 514708 516028 1320 0.3
.debug_info 44286220 44703845 417625 0.9
.debug_line 5626141 5656014 29873 0.5
.debug_loc 3590508 3619994 29486 0.8
.debug_ranges 395896 399704 3808 1.0
.debug_str 3910726 3989405 78679 2.0
.rodata 129776 130304 528 0.4
.strtab 629852 634154 4302 0.7
.symtab 190336 191104 768 0.4
.text 1033764 1042124 8360 0.8
efr32 lighting-app BRD4161A+rpc (read/write) 974108 982436 8328 0.9
.bss 152172 154108 1936 1.3
.text 819748 826136 6388 0.8
BRD4161A+rs911x (read/write) 1037256 1046768 9512 0.9
.bss 186648 188584 1936 1.0
.text 848576 856148 7572 0.9
BRD4187C (read/write) 1147924 1157428 9504 0.8
.bss 138568 140496 1928 1.4
.text 982244 989816 7572 0.8
lock-app BRD4161A+wf200 (read/write) 1066776 1074496 7720 0.7
.bss 158184 160112 1928 1.2
.text 906548 912340 5792 0.6
window-app BRD4187C (read/write) 1140600 1150120 9520 0.8
.bss 139984 141920 1936 1.4
.text 973480 981060 7580 0.8
k32w contact k32w0+release (read/write) 660316 668040 7724 1.2
.bss 77032 78976 1944 2.5
.text 562068 567844 5776 1.0
light k32w0+release (read/write) 671408 679692 8284 1.2
.bss 74824 76752 1928 2.6
.text 591796 598148 6352 1.1
lock k32w0+release (read/write) 631700 639408 7708 1.2
.bss 75584 77528 1944 2.6
.text 551308 557068 5760 1.0
linux all-clusters-app debug (read only) 3124817 3167729 42912 1.4
.rodata 282507 283595 1088 0.4
.text 2657410 2698946 41536 1.6
all-clusters-minimal-app debug (read only) 2937065 2980009 42944 1.5
.rodata 281195 282315 1120 0.4
.text 2474226 2515762 41536 1.7
bridge-app debug (read only) 2496489 2540097 43608 1.7
.data.rel.ro 68712 68856 144 0.2
.rodata 212480 213664 1184 0.6
.text 2112226 2154274 42048 2.0
lighting-app debug+rpc (read only) 2663953 2704793 40840 1.5
.rodata 228448 229504 1056 0.5
.text 2258754 2298162 39408 1.7
lock-app debug (read only) 2622825 2666273 43448 1.7
.data.rel.ro 68824 68968 144 0.2
.rodata 244648 245672 1024 0.4
.text 2206274 2248322 42048 1.9
ota-provider-app debug (read only) 2196745 2240265 43520 2.0
.data.rel.ro 51320 51464 144 0.3
.got 3728 3736 8 0.2
.rodata 196008 197096 1088 0.6
.text 1860834 1902882 42048 2.3
ota-requestor-app debug (read only) 2358201 2401377 43176 1.8
.data.rel.ro 56088 56232 144 0.3
.got 3728 3736 8 0.2
.rodata 202704 203760 1056 0.5
.text 2006594 2048338 41744 2.1
shell debug (read only) 2657481 2700361 42880 1.6
.data.rel.ro 72600 72752 152 0.2
.rodata 240754 241810 1056 0.4
.text 2256802 2298338 41536 1.8
thermostat-no-ble arm64 (read only) 2478500 2516308 37808 1.5
.data 1816 1824 8 0.4
.got 5192 5344 152 2.9
.rodata 149792 150576 784 0.5
.text 2068112 2104336 36224 1.8
tv-app debug (read only) 3286601 3328793 42192 1.3
.rodata 269400 270456 1056 0.4
.text 2822850 2863698 40848 1.4
tv-casting-app debug (read only) 5638697 5681081 42384 0.8
.rodata 361433 362681 1248 0.3
.text 4999218 5040066 40848 0.8
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2461848 2468272 6424 0.3
.bss 214932 221084 6152 2.9
.text 1424492 1430916 6424 0.5
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1165324 1173680 8356 0.7
bss 146748 148680 1932 1.3
rodata 133820 134440 620 0.5
text 804548 810352 5804 0.7
nrf7002dk_nrf5340_cpuapp (read/write) 1366968 1375380 8412 0.6
bss 106048 107980 1932 1.8
rodata 211308 211924 616 0.3
text 763788 769584 5796 0.8
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1111168 1119504 8336 0.8
bss 145947 147879 1932 1.3
rodata 111104 111720 616 0.6
text 773944 779744 5800 0.7
qpg lighting-app qpg6105+debug (read/write) 1148388 1154340 5952 0.5
.bss 100348 102276 1928 1.9
.data 840 844 4 0.5
.text 595488 601436 5948 1.0
lock-app qpg6105+debug (read/write) 1114836 1121316 6480 0.6
.bss 95828 98796 2968 3.1
.data 836 856 20 2.4
.text 561932 568416 6484 1.2
telink all-clusters-app tlsr9518adk80d (read/write) 1026288 1035992 9704 0.9
bss 98184 100120 1936 2.0
text 689096 696254 7158 1.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 964628 974332 9704 1.0
bss 97368 99304 1936 2.0
text 652388 659542 7154 1.1
contact-sensor-app tlsr9518adk80d (read/write) 867572 877284 9712 1.1
bss 89524 91460 1936 2.2
text 581572 588734 7162 1.2
light-switch-app tlsr9518adk80d (read/write) 883880 893600 9720 1.1
bss 89616 91552 1936 2.2
text 596036 603200 7164 1.2
lighting-app tlsr9518adk80d (read/write) 961860 971572 9712 1.0
bss 97676 99612 1936 2.0
text 661888 669050 7162 1.1
ota-requestor-app tlsr9518adk80d (read/write) 897860 907572 9712 1.1
bss 90568 92504 1936 2.1
text 607286 614450 7164 1.2
thermostat tlsr9518adk80d (read/write) 887128 896832 9704 1.1
bss 91004 92940 1936 2.1
text 596814 603976 7162 1.2
Increases (38 builds for bl602, bl702, efr32, k32w, linux, mbed, nrfconnect, qpg, telink)
platform target config section 18d3671 05006c3 change % change
bl602 lighting-app bl602 (read/write) 1329406 1340786 11380 0.9
.bss 86926 89246 2320 2.7
.data 9576 9680 104 1.1
.text 1016646 1025062 8416 0.8
bl602+rpc (read/write) 1374902 1386282 11380 0.8
.bss 94966 97286 2320 2.4
.data 9976 10072 96 1.0
.text 1047634 1056070 8436 0.8
bl702 lighting-app bl702 (read/write) 1194735 1197555 2820 0.2
.bss 66590 68526 1936 2.9
.data 4048 4152 104 2.6
.debug_abbrev 1533431 1540410 6979 0.5
.debug_aranges 132656 132928 272 0.2
.debug_frame 486996 488336 1340 0.3
.debug_info 39900396 40306493 406097 1.0
.debug_line 5228552 5258080 29528 0.6
.debug_loc 3394501 3423828 29327 0.9
.debug_ranges 372192 376008 3816 1.0
.debug_str 3508116 3587922 79806 2.3
.rodata 115312 115840 528 0.5
.strtab 569337 573779 4442 0.8
.symtab 172016 172800 784 0.5
.text 956872 965178 8306 0.9
bl702+rpc (read/write) 1286899 1297819 10920 0.8
.bss 74622 76558 1936 2.6
.data 4600 4704 104 2.3
.debug_abbrev 1681901 1689075 7174 0.4
.debug_aranges 140880 141144 264 0.2
.debug_frame 514708 516028 1320 0.3
.debug_info 44286220 44703845 417625 0.9
.debug_line 5626141 5656014 29873 0.5
.debug_loc 3590508 3619994 29486 0.8
.debug_ranges 395896 399704 3808 1.0
.debug_str 3910726 3989405 78679 2.0
.rodata 129776 130304 528 0.4
.strtab 629852 634154 4302 0.7
.symtab 190336 191104 768 0.4
.text 1033764 1042124 8360 0.8
efr32 lighting-app BRD4161A+rpc (read/write) 974108 982436 8328 0.9
.bss 152172 154108 1936 1.3
.data 2168 2172 4 0.2
.text 819748 826136 6388 0.8
BRD4161A+rs911x (read/write) 1037256 1046768 9512 0.9
.bss 186648 188584 1936 1.0
.data 2012 2016 4 0.2
.text 848576 856148 7572 0.9
BRD4187C (read/write) 1147924 1157428 9504 0.8
.bss 138568 140496 1928 1.4
.data 2516 2520 4 0.2
.text 982244 989816 7572 0.8
lock-app BRD4161A+wf200 (read/write) 1066776 1074496 7720 0.7
.bss 158184 160112 1928 1.2
.data 2020 2024 4 0.2
.text 906548 912340 5792 0.6
window-app BRD4187C (read/write) 1140600 1150120 9520 0.8
.bss 139984 141920 1936 1.4
.data 2540 2544 4 0.2
.text 973480 981060 7580 0.8
k32w contact k32w0+release (read/write) 660316 668040 7724 1.2
.bss 77032 78976 1944 2.5
.data 2104 2108 4 0.2
.text 562068 567844 5776 1.0
light k32w0+release (read/write) 671408 679692 8284 1.2
.bss 74824 76752 1928 2.6
.data 2060 2064 4 0.2
.text 591796 598148 6352 1.1
lock k32w0+release (read/write) 631700 639408 7708 1.2
.bss 75584 77528 1944 2.6
.data 2080 2084 4 0.2
.text 551308 557068 5760 1.0
linux all-clusters-app debug (read only) 3124817 3167729 42912 1.4
(read/write) 153104 153264 160 0.1
.bss 62496 62528 32 0.1
.data.rel.ro 81704 81848 144 0.2
.rodata 282507 283595 1088 0.4
.text 2657410 2698946 41536 1.6
all-clusters-minimal-app debug (read only) 2937065 2980009 42944 1.5
(read/write) 146480 146672 192 0.1
.bss 61632 61664 32 0.1
.data.rel.ro 76120 76264 144 0.2
.rodata 281195 282315 1120 0.4
.text 2474226 2515762 41536 1.7
bridge-app debug (read only) 2496489 2540097 43608 1.7
(read/write) 130944 131136 192 0.1
.bss 52512 52544 32 0.1
.data.rel.ro 68712 68856 144 0.2
.got 4600 4608 8 0.2
.rodata 212480 213664 1184 0.6
.text 2112226 2154274 42048 2.0
chip-tool debug (read only) 11289329 11299281 9952 0.1
.rodata 623365 623717 352 0.1
.text 9177396 9186996 9600 0.1
chip-tool-ipv6only arm64 (read only) 10688460 10698028 9568 0.1
(read/write) 691864 691880 16 0.0
.got 13960 13976 16 0.1
.rodata 551068 551196 128 0.0
.text 8499076 8508468 9392 0.1
lighting-app debug+rpc (read only) 2663953 2704793 40840 1.5
(read/write) 130280 130504 224 0.2
.bss 49952 50016 64 0.1
.data.rel.ro 71848 71976 128 0.2
.got 4632 4640 8 0.2
.rodata 228448 229504 1056 0.5
.text 2258754 2298162 39408 1.7
lock-app debug (read only) 2622825 2666273 43448 1.7
(read/write) 125328 125520 192 0.2
.bss 48384 48416 32 0.1
.data.rel.ro 68824 68968 144 0.2
.got 4664 4672 8 0.2
.rodata 244648 245672 1024 0.4
.text 2206274 2248322 42048 1.9
ota-provider-app debug (read only) 2196745 2240265 43520 2.0
(read/write) 105072 105232 160 0.2
.bss 46560 46592 32 0.1
.data.rel.ro 51320 51464 144 0.3
.got 3728 3736 8 0.2
.rodata 196008 197096 1088 0.6
.text 1860834 1902882 42048 2.3
ota-requestor-app debug (read only) 2358201 2401377 43176 1.8
(read/write) 112800 112960 160 0.1
.bss 49056 49088 32 0.1
.data.rel.ro 56088 56232 144 0.3
.got 3728 3736 8 0.2
.rodata 202704 203760 1056 0.5
.text 2006594 2048338 41744 2.1
shell debug (read only) 2657481 2700361 42880 1.6
(read/write) 137568 137760 192 0.1
.bss 57896 57928 32 0.1
.data.rel.ro 72600 72752 152 0.2
.rodata 240754 241810 1056 0.4
.text 2256802 2298338 41536 1.8
thermostat-no-ble arm64 (read only) 2478500 2516308 37808 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.got 5192 5344 152 2.9
.rodata 149792 150576 784 0.5
.text 2068112 2104336 36224 1.8
tv-app debug (read only) 3286601 3328793 42192 1.3
(read/write) 259344 259504 160 0.1
.bss 170776 170808 32 0.0
.data.rel.ro 77952 78096 144 0.2
.rodata 269400 270456 1056 0.4
.text 2822850 2863698 40848 1.4
tv-casting-app debug (read only) 5638697 5681081 42384 0.8
(read/write) 160696 160920 224 0.1
.bss 52280 52344 64 0.1
.data.rel.ro 99880 100024 144 0.1
.rodata 361433 362681 1248 0.3
.text 4999218 5040066 40848 0.8
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2461848 2468272 6424 0.3
.bss 214932 221084 6152 2.9
.data 5872 5880 8 0.1
.text 1424492 1430916 6424 0.5
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1165324 1173680 8356 0.7
bss 146748 148680 1932 1.3
rodata 133820 134440 620 0.5
text 804548 810352 5804 0.7
nrf7002dk_nrf5340_cpuapp (read/write) 1366968 1375380 8412 0.6
bss 106048 107980 1932 1.8
rodata 211308 211924 616 0.3
text 763788 769584 5796 0.8
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1111168 1119504 8336 0.8
bss 145947 147879 1932 1.3
rodata 111104 111720 616 0.6
text 773944 779744 5800 0.7
qpg lighting-app qpg6105+debug (read/write) 1148388 1154340 5952 0.5
.bss 100348 102276 1928 1.9
.data 840 844 4 0.5
.text 595488 601436 5948 1.0
lock-app qpg6105+debug (read/write) 1114836 1121316 6480 0.6
.bss 95828 98796 2968 3.1
.data 836 856 20 2.4
.text 561932 568416 6484 1.2
telink all-clusters-app tlsr9518adk80d (read/write) 1026288 1035992 9704 0.9
bss 98184 100120 1936 2.0
text 689096 696254 7158 1.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 964628 974332 9704 1.0
bss 97368 99304 1936 2.0
text 652388 659542 7154 1.1
contact-sensor-app tlsr9518adk80d (read/write) 867572 877284 9712 1.1
bss 89524 91460 1936 2.2
text 581572 588734 7162 1.2
light-switch-app tlsr9518adk80d (read/write) 883880 893600 9720 1.1
bss 89616 91552 1936 2.2
text 596036 603200 7164 1.2
lighting-app tlsr9518adk80d (read/write) 961860 971572 9712 1.0
bss 97676 99612 1936 2.0
text 661888 669050 7162 1.1
ota-requestor-app tlsr9518adk80d (read/write) 897860 907572 9712 1.1
bss 90568 92504 1936 2.1
text 607286 614450 7164 1.2
thermostat tlsr9518adk80d (read/write) 887128 896832 9704 1.1
bss 91004 92940 1936 2.1
text 596814 603976 7162 1.2
Full report (38 builds for bl602, bl702, efr32, k32w, linux, mbed, nrfconnect, qpg, telink)
platform target config section 18d3671 05006c3 change % change
bl602 lighting-app bl602 (read/write) 1329406 1340786 11380 0.9
.bss 86926 89246 2320 2.7
.data 9576 9680 104 1.1
.text 1016646 1025062 8416 0.8
bl602+rpc (read/write) 1374902 1386282 11380 0.8
.bss 94966 97286 2320 2.4
.data 9976 10072 96 1.0
.text 1047634 1056070 8436 0.8
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1194735 1197555 2820 0.2
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 66590 68526 1936 2.9
.bss_psram 30048 30048 0 0.0
.comment 48 48 0 0.0
.data 4048 4152 104 2.6
.debug_abbrev 1533431 1540410 6979 0.5
.debug_aranges 132656 132928 272 0.2
.debug_frame 486996 488336 1340 0.3
.debug_info 39900396 40306493 406097 1.0
.debug_line 5228552 5258080 29528 0.6
.debug_loc 3394501 3423828 29327 0.9
.debug_ranges 372192 376008 3816 1.0
.debug_str 3508116 3587922 79806 2.3
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 115312 115840 528 0.5
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 569337 573779 4442 0.8
.symtab 172016 172800 784 0.5
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
956872 965178 8306 0.9
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1286899 1297819 10920 0.8
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 74622 76558 1936 2.6
.bss_psram 30304 30304 0 0.0
.comment 48 48 0 0.0
.data 4600 4704 104 2.3
.debug_abbrev 1681901 1689075 7174 0.4
.debug_aranges 140880 141144 264 0.2
.debug_frame 514708 516028 1320 0.3
.debug_info 44286220 44703845 417625 0.9
.debug_line 5626141 5656014 29873 0.5
.debug_loc 3590508 3619994 29486 0.8
.debug_ranges 395896 399704 3808 1.0
.debug_str 3910726 3989405 78679 2.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 129776 130304 528 0.4
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 629852 634154 4302 0.7
.symtab 190336 191104 768 0.4
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1033764 1042124 8360 0.8
efr32 lighting-app BRD4161A+rpc (read/write) 974108 982436 8328 0.9
.bss 152172 154108 1936 1.3
.data 2168 2172 4 0.2
.text 819748 826136 6388 0.8
BRD4161A+rs911x (read/write) 1037256 1046768 9512 0.9
.bss 186648 188584 1936 1.0
.data 2012 2016 4 0.2
.text 848576 856148 7572 0.9
BRD4187C (read/write) 1147924 1157428 9504 0.8
.bss 138568 140496 1928 1.4
.data 2516 2520 4 0.2
.text 982244 989816 7572 0.8
lock-app BRD4161A+wf200 (read/write) 1066776 1074496 7720 0.7
.bss 158184 160112 1928 1.2
.data 2020 2024 4 0.2
.text 906548 912340 5792 0.6
window-app BRD4187C (read/write) 1140600 1150120 9520 0.8
.bss 139984 141920 1936 1.4
.data 2540 2544 4 0.2
.text 973480 981060 7580 0.8
k32w contact k32w0+release (read/write) 660316 668040 7724 1.2
.bss 77032 78976 1944 2.5
.data 2104 2108 4 0.2
.text 562068 567844 5776 1.0
light k32w0+release (read/write) 671408 679692 8284 1.2
.bss 74824 76752 1928 2.6
.data 2060 2064 4 0.2
.text 591796 598148 6352 1.1
lock k32w0+release (read/write) 631700 639408 7708 1.2
.bss 75584 77528 1944 2.6
.data 2080 2084 4 0.2
.text 551308 557068 5760 1.0
linux all-clusters-app debug (read only) 3124817 3167729 42912 1.4
(read/write) 153104 153264 160 0.1
.bss 62496 62528 32 0.1
.data 2304 2304 0 0.0
.data.rel.ro 81704 81848 144 0.2
.dynamic 608 608 0 0.0
.got 4768 4768 0 0.0
.init 27 27 0 0.0
.init_array 1192 1192 0 0.0
.rodata 282507 283595 1088 0.4
.text 2657410 2698946 41536 1.6
all-clusters-minimal-app debug (read only) 2937065 2980009 42944 1.5
(read/write) 146480 146672 192 0.1
.bss 61632 61664 32 0.1
.data 2272 2272 0 0.0
.data.rel.ro 76120 76264 144 0.2
.dynamic 608 608 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 281195 282315 1120 0.4
.text 2474226 2515762 41536 1.7
bridge-app debug (read only) 2496489 2540097 43608 1.7
(read/write) 130944 131136 192 0.1
.bss 52512 52544 32 0.1
.data 3632 3632 0 0.0
.data.rel.ro 68712 68856 144 0.2
.dynamic 608 608 0 0.0
.got 4600 4608 8 0.2
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 212480 213664 1184 0.6
.text 2112226 2154274 42048 2.0
chip-tool debug (read only) 11289329 11299281 9952 0.1
(read/write) 642416 642416 0 0.0
.bss 25880 25880 0 0.0
.data 2754 2754 0 0.0
.data.rel.ro 607168 607168 0 0.0
.dynamic 608 608 0 0.0
.got 5192 5192 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 623365 623717 352 0.1
.text 9177396 9186996 9600 0.1
chip-tool-ipv6only arm64 (read only) 10688460 10698028 9568 0.1
(read/write) 691864 691880 16 0.0
.bss 33912 33912 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 636168 636168 0 0.0
.dynamic 560 560 0 0.0
.got 13960 13976 16 0.1
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 551068 551196 128 0.0
.text 8499076 8508468 9392 0.1
lighting-app debug+rpc (read only) 2663953 2704793 40840 1.5
(read/write) 130280 130504 224 0.2
.bss 49952 50016 64 0.1
.data 2288 2288 0 0.0
.data.rel.ro 71848 71976 128 0.2
.dynamic 608 608 0 0.0
.got 4632 4640 8 0.2
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 228448 229504 1056 0.5
.text 2258754 2298162 39408 1.7
lock-app debug (read only) 2622825 2666273 43448 1.7
(read/write) 125328 125520 192 0.2
.bss 48384 48416 32 0.1
.data 1904 1904 0 0.0
.data.rel.ro 68824 68968 144 0.2
.dynamic 608 608 0 0.0
.got 4664 4672 8 0.2
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 244648 245672 1024 0.4
.text 2206274 2248322 42048 1.9
ota-provider-app debug (read only) 2196745 2240265 43520 2.0
(read/write) 105072 105232 160 0.2
.bss 46560 46592 32 0.1
.data 2080 2080 0 0.0
.data.rel.ro 51320 51464 144 0.3
.dynamic 608 608 0 0.0
.got 3728 3736 8 0.2
.init 27 27 0 0.0
.init_array 744 744 0 0.0
.rodata 196008 197096 1088 0.6
.text 1860834 1902882 42048 2.3
ota-requestor-app debug (read only) 2358201 2401377 43176 1.8
(read/write) 112800 112960 160 0.1
.bss 49056 49088 32 0.1
.data 2448 2448 0 0.0
.data.rel.ro 56088 56232 144 0.3
.dynamic 608 608 0 0.0
.got 3728 3736 8 0.2
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 202704 203760 1056 0.5
.text 2006594 2048338 41744 2.1
shell debug (read only) 2657481 2700361 42880 1.6
(read/write) 137568 137760 192 0.1
.bss 57896 57928 32 0.1
.data 1264 1264 0 0.0
.data.rel.ro 72600 72752 152 0.2
.dynamic 608 608 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 240754 241810 1056 0.4
.text 2256802 2298338 41536 1.8
thermostat-no-ble arm64 (read only) 2478500 2516308 37808 1.5
(read/write) 143016 143352 336 0.2
.bss 55336 55368 32 0.1
.data 1816 1824 8 0.4
.data.rel.ro 76632 76776 144 0.2
.dynamic 560 560 0 0.0
.got 5192 5344 152 2.9
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 149792 150576 784 0.5
.text 2068112 2104336 36224 1.8
tv-app debug (read only) 3286601 3328793 42192 1.3
(read/write) 259344 259504 160 0.1
.bss 170776 170808 32 0.0
.data 3904 3904 0 0.0
.data.rel.ro 77952 78096 144 0.2
.dynamic 608 608 0 0.0
.got 5000 5000 0 0.0
.init 27 27 0 0.0
.init_array 1072 1072 0 0.0
.rodata 269400 270456 1056 0.4
.text 2822850 2863698 40848 1.4
tv-casting-app debug (read only) 5638697 5681081 42384 0.8
(read/write) 160696 160920 224 0.1
.bss 52280 52344 64 0.1
.data 1936 1936 0 0.0
.data.rel.ro 99880 100024 144 0.1
.dynamic 608 608 0 0.0
.got 4920 4920 0 0.0
.init 27 27 0 0.0
.init_array 1048 1048 0 0.0
.rodata 361433 362681 1248 0.3
.text 4999218 5040066 40848 0.8
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2461848 2468272 6424 0.3
.bss 214932 221084 6152 2.9
.data 5872 5880 8 0.1
.text 1424492 1430916 6424 0.5
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1165324 1173680 8356 0.7
bss 146748 148680 1932 1.3
rodata 133820 134440 620 0.5
text 804548 810352 5804 0.7
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1366968 1375380 8412 0.6
bss 106048 107980 1932 1.8
rodata 211308 211924 616 0.3
text 763788 769584 5796 0.8
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1111168 1119504 8336 0.8
bss 145947 147879 1932 1.3
rodata 111104 111720 616 0.6
text 773944 779744 5800 0.7
qpg lighting-app qpg6105+debug (read/write) 1148388 1154340 5952 0.5
.bss 100348 102276 1928 1.9
.data 840 844 4 0.5
.text 595488 601436 5948 1.0
lock-app qpg6105+debug (read/write) 1114836 1121316 6480 0.6
.bss 95828 98796 2968 3.1
.data 836 856 20 2.4
.text 561932 568416 6484 1.2
telink all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1026288 1035992 9704 0.9
bss 98184 100120 1936 2.0
text 689096 696254 7158 1.0
all-clusters-minimal-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 964628 974332 9704 1.0
bss 97368 99304 1936 2.0
text 652388 659542 7154 1.1
contact-sensor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 867572 877284 9712 1.1
bss 89524 91460 1936 2.2
text 581572 588734 7162 1.2
light-switch-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 883880 893600 9720 1.1
bss 89616 91552 1936 2.2
text 596036 603200 7164 1.2
lighting-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 961860 971572 9712 1.0
bss 97676 99612 1936 2.0
text 661888 669050 7162 1.1
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 897860 907572 9712 1.1
bss 90568 92504 1936 2.1
text 607286 614450 7164 1.2
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 887128 896832 9704 1.1
bss 91004 92940 1936 2.1
text 596814 603976 7162 1.2

@jtung-apple jtung-apple marked this pull request as ready for review January 12, 2023 00:44
@jtung-apple jtung-apple added the icd Intermittently Connected Devices label Jan 12, 2023
  Added setters for SubscriptionInfo attribute and event paths
  Fixed wrong constant
  Enabled server interactions for chiptool
@andy31415 andy31415 dismissed tcarmelveilleux’s stale review January 20, 2023 20:21

Dismissing CR from Tennessee - comments addressed, will start clean for another review pass.

Copy link
Contributor

@andy31415 andy31415 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving based on offline conversation with @jtung-apple that extra comments (mainly GN bits) will be addressed later.

The GN changes would not change logic, just maintainability, hence the checkmark.

  Delete() error return clarification
  Comment doc cleanup
  Fix loop variable build warning
  Revert chip-tool server interactions enablement
@jtung-apple jtung-apple merged commit 37919a1 into project-chip:master Jan 21, 2023

CHIP_ERROR InteractionModelEngine::ResumeSubscriptions()
{
#if CHIP_CONFIG_PERSIST_SUBSCRIPTIONS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably error out if we have some read handlers allocated already, because that would mean we might create read handlers to represent stored subscriptions that are already represented by an allocated read handler.

And the declaration in the header should document that this is expected to be called during startup, after initing the IM engine?

}
}

// Ask IM engine to start CASE session with subscriber
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Ask IM engine to start CASE session with subscriber
// Start a CASE session with subscriber so we can keep delivering reports.

We're not using the IM engine for this here, right?

{
#if CHIP_CONFIG_PERSIST_SUBSCRIPTIONS
if (options == CloseOptions::kDropPersistedSubscription)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably check that mInteractionType == InteractionType::Subscribe before using the otherwise-probably-not-meaningful mSubscriptionId.

{
kDropPersistedSubscription,
kKeepPersistedSubscription
};
/**
* Called internally to signal the completion of all work on this objecta and signal to a registered callback that it's
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Called internally to signal the completion of all work on this objecta and signal to a registered callback that it's
* Called internally to signal the completion of all work on this object and signal to a registered callback that it's

Pre-existing, I know.

/**
* Called internally to signal the completion of all work on this objecta and signal to a registered callback that it's
* safe to release this object.
*
* @param options This specifies whether to drop or keep the subscription
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should document that this param is ignored for non-subscription ReadHandlers.

@@ -479,6 +504,19 @@ class Server
}
}

void ClearSubscriptionResumptionStateOnFabricChange(chip::FabricIndex fabricIndex)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really fabric removal, not fabric change... For CASE it's fabric change because UpdateNOC needs to do the CASE things too, but this bit is removal-specific.

* Number of iterator instances that can be allocated at any one time
*/
#ifndef CHIP_CONFIG_MAX_SUBSCRIPTION_RESUMPTION_STORAGE_CONCURRENT_ITERATORS
#define CHIP_CONFIG_MAX_SUBSCRIPTION_RESUMPTION_STORAGE_CONCURRENT_ITERATORS 2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why would we ever have more than one iterator in practice?

if (pathCount)
{
subscriptionInfo.mAttributePaths.Calloc(pathCount);
ReturnErrorCodeIf(subscriptionInfo.mAttributePaths.Get() == nullptr, CHIP_ERROR_NO_MEMORY);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, could test either the return value of Calloc, or just `ReturnErrorCodeIf(!subscriptionInfo.mAttributePaths, CHIP_ERROR_NO_MEMORY);

}
}

// if there are no persisted subscriptions, the MaxCount can also be deleted
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's worth documenting why this is OK to do. We always store it on init. We don't store it on Save(). Why is it ok to clear it on delete?

In particular, if we start, then store a subscription, then delete it, then store another on we will not have a stored max count, afaict. That seems wrong.

if (fabricIndex == subscriptionInfo.mFabricIndex)
{
err = Delete(subscriptionIndex);
if ((err != CHIP_NO_ERROR) && (err != CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How could we have CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND here, if we just loaded that index above?

@@ -64,6 +64,9 @@ using CHIP_CONFIG_PERSISTED_STORAGE_KEY_TYPE = const char *;
#define CHIP_CONFIG_BDX_MAX_NUM_TRANSFERS 1
#endif // CHIP_CONFIG_BDX_MAX_NUM_TRANSFERS

// Enable subscription persistence and resumption for CI
#define CHIP_CONFIG_PERSIST_SUBSCRIPTIONS 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was supposed to be DISABLED by default (except on 1 platform, and Darwin is 1 platform) until spec work made this behavior well-defined at the client-level

lecndav pushed a commit to lecndav/connectedhomeip that referenced this pull request Mar 22, 2023
…ip#24361)

* [ICD] Server side subscription persistence and resumption

* restyled change

* Correct SimpleSubscriptionResumptionStorage TLV format documentation

* Fix ReadHandler resumption

* Correct state size estimate

* Replace %zu in log format

* Move TLV buffer off stack

* restyled

* Replaced vector with ScopedMemoryBufferWithSize and shim structs

* Fix struct member order

* Fix one more struct member order

* Fixed more stack buffer

* Fix copy/paste bug

* Moved SubscriptionList array to unique_ptr and dynamically allocated / off stack

* Moved SubscriptionIndex array to unique_ptr and dynamically allocated / off stack

* Fixed error condition checks

* Fixed array size check

* Addressed CI issues, and disabled subscription persistence and resumption for cc13x2_26x2 and CYW30739

* Addressed PR review comments, including:

 - ReadHandler constructor side effect moved to separate function
 - SubscriptionList and SubscriptionIndex member initialization moved to runtome
 - Improved error handling - remove stored info on error
 - Changed for loop indices to more descriptive names
 - Disabled feature by default except Linux and Darwin for CI testing
 - Added operator[] getter with index to access SubscriptionList and SubscriptionIndex elements

* Restyled and ReadHandler include

* ReadHandler Callback fix

* Fix ReadHandler Callback const argument

* Explicitly disable subscription persistence and address review comments

* Fixed priming reports on resumption

* Revamp subscription storage into flat structure and add unit test

* Fix unit test build warning and minor PR comment change

* Update src/app/SubscriptionResumptionStorage.h

Co-authored-by: Michael Sandstedt <[email protected]>

* Minor changes to address PR comments

* Address PR review comments:

  Unit test structs constructed explicitly in place for clarity
  IM engine ResumeSubscriptions nullptr check and exit conditions fix

* Address PR comments:

  Nullptr checks
  Minor refactor
  Unit test fix

* Changed storage MaxCount mechanics to Init time clean up

* Clean up comments and unused commented-out old code

* Addressed PR comments:

  Removed AllocatedCount, and made AllocatedSize return count of elements

* Update src/app/SimpleSubscriptionResumptionStorage.cpp

Co-authored-by: Michael Sandstedt <[email protected]>

* Update src/app/InteractionModelEngine.cpp

Co-authored-by: Michael Sandstedt <[email protected]>

* Remove reference to previously removed variable for config that turns the feature off

* Addressed PR comments and enabled chip-tool for testing

  Added setters for SubscriptionInfo attribute and event paths
  Fixed wrong constant
  Enabled server interactions for chiptool

* Changed storage of attribute/event paths to proper List/Structure TLV

* Fixed attribute load

* Make Unit Test names more unique and tighten CHIP_CONFIG_PERSIST_SUBSCRIPTIONS usage

* Addressed PR comments and CI issues:

  Delete() error return clarification
  Comment doc cleanup
  Fix loop variable build warning
  Revert chip-tool server interactions enablement

Co-authored-by: Michael Sandstedt <[email protected]>
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.

8 participants