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

Add initial autoResubscribe support #13145

Merged

Conversation

yunhanw-google
Copy link
Contributor

@yunhanw-google yunhanw-google commented Dec 19, 2021

Problem

Need to add auto-resubscribe capability for subscribe interaction

Change overview

Extend ReadClient with re-subscription function and add public function, SendSubscribeRequest with && ReadPrepareParams, and further add mpResubscribeDelegate that can be used for user-defined resubscribe policy.
Add OnDeallocatePaths callback, which could deallocated attribute path list and event path list.
Add ResubscribePlolicyCB and provide Fibonacci backup for default resubscribe policy
Note: At a given time in the system, you can either have a single subscription with re-sub enabled that that has mKeepSubscriptions = false, OR, multiple subs with re-sub enabled with mKeepSubscriptions = true.

Testing

Update unit test and cirque tests.
Manually simulate the error situation and validate the resubscribe logic.

@github-actions
Copy link

github-actions bot commented Jan 26, 2022

PR #13145: Size comparison from 246473c to 3a62164

Increases above 0.2%:

platform target config section 246473c 3a62164 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578462 579998 1536 0.3
.app_xip_area 483384 484920 1536 0.3
k32w light k32w061+release .text 579380 580932 1552 0.3
lock k32w061+release .text 580144 581660 1516 0.3
linux chip-tool-ipv6only arm64 (read only) 8728948 8763780 34832 0.4
(read/write) 392273 393297 1024 0.3
.data.rel.ro 261872 262888 1016 0.4
.text 7352756 7384212 31456 0.4
thermostat-no-ble arm64 (read only) 2058404 2065156 6752 0.3
.text 1711248 1717728 6480 0.4
nrfconnect lighting-app nrf52840dk_nrf52840 text 666828 668232 1404 0.2
nrf52840dk_nrf52840+rpc text 661500 662904 1404 0.2
nrf52840dongle_nrf52840 text 672372 673776 1404 0.2
nrf5340dk_nrf5340_cpuapp text 583008 584412 1404 0.2
lock-app nrf52840dk_nrf52840 text 614168 615572 1404 0.2
nrf5340dk_nrf5340_cpuapp text 531120 532524 1404 0.3
pump-app nrf52840dk_nrf52840 text 616632 618036 1404 0.2
pump-controller-app nrf52840dk_nrf52840 text 612664 614068 1404 0.2
qpg lighting-app qpg6105+debug (read only) 570044 571580 1536 0.3
.text 564724 566260 1536 0.3
lock-app qpg6105+debug (read only) 517724 519256 1532 0.3
.text 512404 513936 1532 0.3
telink lighting-app tlsr9518adk80d text 591096 592798 1702 0.3
Increases (26 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 246473c 3a62164 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578462 579998 1536 0.3
.app_xip_area 483384 484920 1536 0.3
efr32 lighting-app BRD4161A (read only) 840836 842772 1936 0.2
.text 840828 842764 1936 0.2
BRD4161A+rpc (read only) 828208 830144 1936 0.2
.text 828200 830136 1936 0.2
window-app BRD4161A (read only) 815228 817148 1920 0.2
.text 815220 817140 1920 0.2
k32w light k32w061+release (read/write) 664644 666196 1552 0.2
.text 579380 580932 1552 0.3
lock k32w061+release (read/write) 665696 667212 1516 0.2
.text 580144 581660 1516 0.3
linux chip-tool-ipv6only arm64 (read only) 8728948 8763780 34832 0.4
(read/write) 392273 393297 1024 0.3
.data.rel.ro 261872 262888 1016 0.4
.got 69280 69288 8 0.0
.rodata 534444 534748 304 0.1
.text 7352756 7384212 31456 0.4
thermostat-no-ble arm64 (read only) 2058404 2065156 6752 0.3
(read/write) 147457 147489 32 0.0
.data.rel.ro 73624 73648 24 0.0
.got 4112 4120 8 0.2
.rodata 131396 131620 224 0.2
.text 1711248 1717728 6480 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2354872 2356408 1536 0.1
.text 1317472 1319008 1536 0.1
lighting-app CY8CPROTO_062_4343W+release (read/write) 2339264 2340736 1472 0.1
.text 1301864 1303336 1472 0.1
lock-app CY8CPROTO_062_4343W+release (read/write) 2307608 2309144 1536 0.1
.text 1270208 1271744 1536 0.1
shell CY8CPROTO_062_4343W+release (read/write) 2293700 2295236 1536 0.1
.text 1256272 1257808 1536 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 981635 983151 1516 0.2
rodata 116184 116308 124 0.1
text 666828 668232 1404 0.2
nrf52840dk_nrf52840+rpc (read/write) 965495 967011 1516 0.2
rodata 107716 107840 124 0.1
text 661500 662904 1404 0.2
nrf52840dongle_nrf52840 (read/write) 997907 999439 1532 0.2
rodata 115076 115200 124 0.1
text 672372 673776 1404 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 890838 892370 1532 0.2
rodata 109480 109604 124 0.1
text 583008 584412 1404 0.2
lock-app nrf52840dk_nrf52840 (read/write) 915863 917383 1520 0.2
rodata 105076 105204 128 0.1
text 614168 615572 1404 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 825886 827418 1532 0.2
rodata 98304 98428 124 0.1
text 531120 532524 1404 0.3
pump-app nrf52840dk_nrf52840 (read/write) 918523 920055 1532 0.2
rodata 105464 105588 124 0.1
text 616632 618036 1404 0.2
pump-controller-app nrf52840dk_nrf52840 (read/write) 913707 915223 1516 0.2
rodata 104568 104692 124 0.1
text 612664 614068 1404 0.2
p6 all-clusters-app default (read/write) 2414704 2416624 1920 0.1
.text 1372968 1374888 1920 0.1
light-app default (read/write) 2336424 2338336 1912 0.1
.text 1294688 1296600 1912 0.1
lock-app default (read/write) 2303720 2305648 1928 0.1
.text 1261984 1263912 1928 0.2
qpg lighting-app qpg6105+debug (read only) 570044 571580 1536 0.3
.text 564724 566260 1536 0.3
lock-app qpg6105+debug (read only) 517724 519256 1532 0.3
.text 512404 513936 1532 0.3
telink lighting-app tlsr9518adk80d (read/write) 846030 847866 1836 0.2
text 591096 592798 1702 0.3
Full report (30 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 246473c 3a62164 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578462 579998 1536 0.3
.app_xip_area 483384 484920 1536 0.3
.bss 77824 77824 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 840836 842772 1936 0.2
(read/write) 127364 127364 0 0.0
.bss 125464 125464 0 0.0
.data 1900 1900 0 0.0
.text 840828 842764 1936 0.2
BRD4161A+rpc (read only) 828208 830144 1936 0.2
(read/write) 144024 144024 0 0.0
.bss 142024 142024 0 0.0
.data 2000 2000 0 0.0
.text 828200 830136 1936 0.2
window-app BRD4161A (read only) 815228 817148 1920 0.2
(read/write) 126020 126020 0 0.0
.bss 124164 124164 0 0.0
.data 1856 1856 0 0.0
.text 815220 817140 1920 0.2
k32w light k32w061+release (read/write) 664644 666196 1552 0.2
.bss 77596 77596 0 0.0
.data 1868 1868 0 0.0
.text 579380 580932 1552 0.3
lock k32w061+release (read/write) 665696 667212 1516 0.2
.bss 77860 77860 0 0.0
.data 1892 1892 0 0.0
.text 580144 581660 1516 0.3
linux chip-tool-ipv6only arm64 (read only) 8728948 8763780 34832 0.4
(read/write) 392273 393297 1024 0.3
.bss 56241 56241 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 261872 262888 1016 0.4
.dynamic 560 560 0 0.0
.got 69280 69288 8 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 534444 534748 304 0.1
.text 7352756 7384212 31456 0.4
thermostat-no-ble arm64 (read only) 2058404 2065156 6752 0.3
(read/write) 147457 147489 32 0.0
.bss 65857 65857 0 0.0
.data 904 904 0 0.0
.data.rel.ro 73624 73648 24 0.0
.dynamic 560 560 0 0.0
.got 4112 4120 8 0.2
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 131396 131620 224 0.2
.text 1711248 1717728 6480 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2354872 2356408 1536 0.1
.bss 189548 189548 0 0.0
.data 5296 5296 0 0.0
.text 1317472 1319008 1536 0.1
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2339264 2340736 1472 0.1
.bss 181064 181064 0 0.0
.data 5584 5584 0 0.0
.text 1301864 1303336 1472 0.1
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2307608 2309144 1536 0.1
.bss 180968 180968 0 0.0
.data 5568 5568 0 0.0
.text 1270208 1271744 1536 0.1
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2293700 2295236 1536 0.1
.bss 177700 177700 0 0.0
.data 5384 5384 0 0.0
.text 1256272 1257808 1536 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 981635 983151 1516 0.2
bss 120824 120824 0 0.0
rodata 116184 116308 124 0.1
text 666828 668232 1404 0.2
nrf52840dk_nrf52840+rpc (read/write) 965495 967011 1516 0.2
bss 117868 117868 0 0.0
rodata 107716 107840 124 0.1
text 661500 662904 1404 0.2
nrf52840dongle_nrf52840 (read/write) 997907 999439 1532 0.2
bss 121996 121996 0 0.0
rodata 115076 115200 124 0.1
text 672372 673776 1404 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 890838 892370 1532 0.2
bss 117612 117612 0 0.0
rodata 109480 109604 124 0.1
text 583008 584412 1404 0.2
lock-app nrf52840dk_nrf52840 (read/write) 915863 917383 1520 0.2
bss 119208 119208 0 0.0
rodata 105076 105204 128 0.1
text 614168 615572 1404 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 825886 827418 1532 0.2
bss 116024 116024 0 0.0
rodata 98304 98428 124 0.1
text 531120 532524 1404 0.3
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 918523 920055 1532 0.2
bss 118952 118952 0 0.0
rodata 105464 105588 124 0.1
text 616632 618036 1404 0.2
pump-controller-app nrf52840dk_nrf52840 (read/write) 913707 915223 1516 0.2
bss 118980 118980 0 0.0
rodata 104568 104692 124 0.1
text 612664 614068 1404 0.2
shell nrf52840dk_nrf52840 (read/write) 798219 798219 0 0.0
bss 109776 109776 0 0.0
rodata 78288 78288 0 0.0
text 533648 533648 0 0.0
p6 all-clusters-app default (read/write) 2414704 2416624 1920 0.1
.bss 117892 117892 0 0.0
.data 2584 2584 0 0.0
.text 1372968 1374888 1920 0.1
light-app default (read/write) 2336424 2338336 1912 0.1
.bss 105644 105644 0 0.0
.data 2408 2408 0 0.0
.text 1294688 1296600 1912 0.1
lock-app default (read/write) 2303720 2305648 1928 0.1
.bss 105396 105396 0 0.0
.data 2360 2360 0 0.0
.text 1261984 1263912 1928 0.2
qpg lighting-app qpg6105+debug (read only) 570044 571580 1536 0.3
(read/write) 146936 146936 0 0.0
.bss 89800 89800 0 0.0
.data 1060 1060 0 0.0
.text 564724 566260 1536 0.3
lock-app qpg6105+debug (read only) 517724 519256 1532 0.3
(read/write) 146940 146940 0 0.0
.bss 89280 89280 0 0.0
.data 992 992 0 0.0
.text 512404 513936 1532 0.3
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 846030 847866 1836 0.2
bss 87608 87608 0 0.0
noinit 37160 37160 0 0.0
text 591096 592798 1702 0.3

@github-actions
Copy link

github-actions bot commented Jan 26, 2022

PR #13145: Size comparison from b8049f0 to 57f7b65

Increases above 0.2%:

platform target config section b8049f0 57f7b65 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 579910 581446 1536 0.3
.app_xip_area 484832 486368 1536 0.3
k32w light k32w061+release .text 579436 580988 1552 0.3
lock k32w061+release .text 580144 581660 1516 0.3
linux chip-tool-ipv6only arm64 (read only) 8728948 8763780 34832 0.4
(read/write) 392273 393297 1024 0.3
.data.rel.ro 261872 262888 1016 0.4
.text 7352756 7384212 31456 0.4
thermostat-no-ble arm64 (read only) 2058404 2065156 6752 0.3
.text 1711248 1717728 6480 0.4
nrfconnect lighting-app nrf52840dk_nrf52840 text 668144 669548 1404 0.2
nrf52840dk_nrf52840+rpc text 662816 664220 1404 0.2
nrf52840dongle_nrf52840 text 673604 675008 1404 0.2
nrf5340dk_nrf5340_cpuapp text 584324 585728 1404 0.2
lock-app nrf52840dk_nrf52840 text 614168 615572 1404 0.2
nrf5340dk_nrf5340_cpuapp text 531120 532524 1404 0.3
pump-app nrf52840dk_nrf52840 text 616632 618036 1404 0.2
pump-controller-app nrf52840dk_nrf52840 text 612664 614068 1404 0.2
qpg lighting-app qpg6105+debug (read only) 571540 573076 1536 0.3
.text 566220 567756 1536 0.3
lock-app qpg6105+debug (read only) 517724 519256 1532 0.3
.text 512404 513936 1532 0.3
telink lighting-app tlsr9518adk80d text 592560 594262 1702 0.3
Increases (28 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section b8049f0 57f7b65 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 579910 581446 1536 0.3
.app_xip_area 484832 486368 1536 0.3
efr32 lighting-app BRD4161A (read only) 842596 844532 1936 0.2
.text 842588 844524 1936 0.2
BRD4161A+rpc (read only) 829952 831888 1936 0.2
.text 829944 831880 1936 0.2
window-app BRD4161A (read only) 815228 817148 1920 0.2
.text 815220 817140 1920 0.2
esp32 all-clusters-app c3devkit (read only) 920846 922578 1732 0.2
(read/write) 1384650 1384970 320 0.0
.dram0.data 14244 14252 8 0.1
.flash.rodata 180632 180952 320 0.2
.flash.text 920846 922578 1732 0.2
m5stack (read only) 969851 971295 1444 0.1
(read/write) 451664 451976 312 0.1
.flash.rodata 209920 210232 312 0.1
.flash.text 964467 965911 1444 0.1
k32w light k32w061+release (read/write) 664700 666252 1552 0.2
.text 579436 580988 1552 0.3
lock k32w061+release (read/write) 665696 667212 1516 0.2
.text 580144 581660 1516 0.3
linux chip-tool-ipv6only arm64 (read only) 8728948 8763780 34832 0.4
(read/write) 392273 393297 1024 0.3
.data.rel.ro 261872 262888 1016 0.4
.got 69280 69288 8 0.0
.rodata 534444 534748 304 0.1
.text 7352756 7384212 31456 0.4
thermostat-no-ble arm64 (read only) 2058404 2065156 6752 0.3
(read/write) 147457 147489 32 0.0
.data.rel.ro 73624 73648 24 0.0
.got 4112 4120 8 0.2
.rodata 131396 131620 224 0.2
.text 1711248 1717728 6480 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2354872 2356408 1536 0.1
.text 1317472 1319008 1536 0.1
lighting-app CY8CPROTO_062_4343W+release (read/write) 2340864 2342400 1536 0.1
.text 1303464 1305000 1536 0.1
lock-app CY8CPROTO_062_4343W+release (read/write) 2307608 2309144 1536 0.1
.text 1270208 1271744 1536 0.1
shell CY8CPROTO_062_4343W+release (read/write) 2293772 2295308 1536 0.1
.text 1256344 1257880 1536 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 983171 984703 1532 0.2
rodata 116408 116532 124 0.1
text 668144 669548 1404 0.2
nrf52840dk_nrf52840+rpc (read/write) 967031 968567 1536 0.2
rodata 107940 108068 128 0.1
text 662816 664220 1404 0.2
nrf52840dongle_nrf52840 (read/write) 999355 1000887 1532 0.2
rodata 115292 115416 124 0.1
text 673604 675008 1404 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 892390 893906 1516 0.2
rodata 109704 109828 124 0.1
text 584324 585728 1404 0.2
lock-app nrf52840dk_nrf52840 (read/write) 915863 917383 1520 0.2
rodata 105076 105204 128 0.1
text 614168 615572 1404 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 825886 827418 1532 0.2
rodata 98304 98428 124 0.1
text 531120 532524 1404 0.3
pump-app nrf52840dk_nrf52840 (read/write) 918523 920055 1532 0.2
rodata 105464 105588 124 0.1
text 616632 618036 1404 0.2
pump-controller-app nrf52840dk_nrf52840 (read/write) 913707 915223 1516 0.2
rodata 104568 104692 124 0.1
text 612664 614068 1404 0.2
p6 all-clusters-app default (read/write) 2414704 2416624 1920 0.1
.text 1372968 1374888 1920 0.1
light-app default (read/write) 2338168 2340096 1928 0.1
.text 1296432 1298360 1928 0.1
lock-app default (read/write) 2303720 2305648 1928 0.1
.text 1261984 1263912 1928 0.2
qpg lighting-app qpg6105+debug (read only) 571540 573076 1536 0.3
.text 566220 567756 1536 0.3
lock-app qpg6105+debug (read only) 517724 519256 1532 0.3
.text 512404 513936 1532 0.3
telink lighting-app tlsr9518adk80d (read/write) 847718 849554 1836 0.2
text 592560 594262 1702 0.3
Full report (32 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section b8049f0 57f7b65 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 579910 581446 1536 0.3
.app_xip_area 484832 486368 1536 0.3
.bss 77824 77824 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 842596 844532 1936 0.2
(read/write) 127364 127364 0 0.0
.bss 125464 125464 0 0.0
.data 1900 1900 0 0.0
.text 842588 844524 1936 0.2
BRD4161A+rpc (read only) 829952 831888 1936 0.2
(read/write) 144024 144024 0 0.0
.bss 142024 142024 0 0.0
.data 2000 2000 0 0.0
.text 829944 831880 1936 0.2
window-app BRD4161A (read only) 815228 817148 1920 0.2
(read/write) 126020 126020 0 0.0
.bss 124164 124164 0 0.0
.data 1856 1856 0 0.0
.text 815220 817140 1920 0.2
esp32 all-clusters-app c3devkit (read only) 920846 922578 1732 0.2
(read/write) 1384650 1384970 320 0.0
.dram0.bss 70840 70840 0 0.0
.dram0.data 14244 14252 8 0.1
.flash.rodata 180632 180952 320 0.2
.flash.text 920846 922578 1732 0.2
.iram0.text 62056 62056 0 0.0
m5stack (read only) 969851 971295 1444 0.1
(read/write) 451664 451976 312 0.1
.dram0.bss 75584 75584 0 0.0
.dram0.data 34032 34032 0 0.0
.flash.rodata 209920 210232 312 0.1
.flash.text 964467 965911 1444 0.1
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 664700 666252 1552 0.2
.bss 77596 77596 0 0.0
.data 1868 1868 0 0.0
.text 579436 580988 1552 0.3
lock k32w061+release (read/write) 665696 667212 1516 0.2
.bss 77860 77860 0 0.0
.data 1892 1892 0 0.0
.text 580144 581660 1516 0.3
linux chip-tool-ipv6only arm64 (read only) 8728948 8763780 34832 0.4
(read/write) 392273 393297 1024 0.3
.bss 56241 56241 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 261872 262888 1016 0.4
.dynamic 560 560 0 0.0
.got 69280 69288 8 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 534444 534748 304 0.1
.text 7352756 7384212 31456 0.4
thermostat-no-ble arm64 (read only) 2058404 2065156 6752 0.3
(read/write) 147457 147489 32 0.0
.bss 65857 65857 0 0.0
.data 904 904 0 0.0
.data.rel.ro 73624 73648 24 0.0
.dynamic 560 560 0 0.0
.got 4112 4120 8 0.2
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 131396 131620 224 0.2
.text 1711248 1717728 6480 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2354872 2356408 1536 0.1
.bss 189548 189548 0 0.0
.data 5296 5296 0 0.0
.text 1317472 1319008 1536 0.1
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2340864 2342400 1536 0.1
.bss 181072 181072 0 0.0
.data 5584 5584 0 0.0
.text 1303464 1305000 1536 0.1
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2307608 2309144 1536 0.1
.bss 180968 180968 0 0.0
.data 5568 5568 0 0.0
.text 1270208 1271744 1536 0.1
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2293772 2295308 1536 0.1
.bss 177700 177700 0 0.0
.data 5384 5384 0 0.0
.text 1256344 1257880 1536 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 983171 984703 1532 0.2
bss 120828 120828 0 0.0
rodata 116408 116532 124 0.1
text 668144 669548 1404 0.2
nrf52840dk_nrf52840+rpc (read/write) 967031 968567 1536 0.2
bss 117872 117872 0 0.0
rodata 107940 108068 128 0.1
text 662816 664220 1404 0.2
nrf52840dongle_nrf52840 (read/write) 999355 1000887 1532 0.2
bss 122000 122000 0 0.0
rodata 115292 115416 124 0.1
text 673604 675008 1404 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 892390 893906 1516 0.2
bss 117616 117616 0 0.0
rodata 109704 109828 124 0.1
text 584324 585728 1404 0.2
lock-app nrf52840dk_nrf52840 (read/write) 915863 917383 1520 0.2
bss 119208 119208 0 0.0
rodata 105076 105204 128 0.1
text 614168 615572 1404 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 825886 827418 1532 0.2
bss 116024 116024 0 0.0
rodata 98304 98428 124 0.1
text 531120 532524 1404 0.3
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 918523 920055 1532 0.2
bss 118952 118952 0 0.0
rodata 105464 105588 124 0.1
text 616632 618036 1404 0.2
pump-controller-app nrf52840dk_nrf52840 (read/write) 913707 915223 1516 0.2
bss 118980 118980 0 0.0
rodata 104568 104692 124 0.1
text 612664 614068 1404 0.2
shell nrf52840dk_nrf52840 (read/write) 798219 798219 0 0.0
bss 109776 109776 0 0.0
rodata 78288 78288 0 0.0
text 533648 533648 0 0.0
p6 all-clusters-app default (read/write) 2414704 2416624 1920 0.1
.bss 117892 117892 0 0.0
.data 2584 2584 0 0.0
.text 1372968 1374888 1920 0.1
light-app default (read/write) 2338168 2340096 1928 0.1
.bss 105652 105652 0 0.0
.data 2408 2408 0 0.0
.text 1296432 1298360 1928 0.1
lock-app default (read/write) 2303720 2305648 1928 0.1
.bss 105396 105396 0 0.0
.data 2360 2360 0 0.0
.text 1261984 1263912 1928 0.2
qpg lighting-app qpg6105+debug (read only) 571540 573076 1536 0.3
(read/write) 146936 146936 0 0.0
.bss 89808 89808 0 0.0
.data 1060 1060 0 0.0
.text 566220 567756 1536 0.3
lock-app qpg6105+debug (read only) 517724 519256 1532 0.3
(read/write) 146940 146940 0 0.0
.bss 89280 89280 0 0.0
.data 992 992 0 0.0
.text 512404 513936 1532 0.3
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 847718 849554 1836 0.2
bss 87608 87608 0 0.0
noinit 37160 37160 0 0.0
text 592560 594262 1702 0.3

Copy link
Contributor

@mrjerryjohns mrjerryjohns left a comment

Choose a reason for hiding this comment

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

Can you please add some tests to controller/tests/data_model/TestRead?

src/app/ReadClient.h Outdated Show resolved Hide resolved
src/app/ReadClient.cpp Outdated Show resolved Hide resolved
src/controller/ReadInteraction.h Outdated Show resolved Hide resolved
src/controller/TypedReadCallback.h Outdated Show resolved Hide resolved
@yunhanw-google
Copy link
Contributor Author

Can you please add some tests to controller/tests/data_model/TestRead?

Just add subscription test that has used this new API. Currently we cannot simulate the liveness timeout in the test

src/app/ReadClient.cpp Outdated Show resolved Hide resolved
src/app/ReadClient.cpp Outdated Show resolved Hide resolved
src/app/ReadClient.cpp Outdated Show resolved Hide resolved
src/app/ReadClient.cpp Outdated Show resolved Hide resolved
src/app/ReadClient.cpp Outdated Show resolved Hide resolved
src/controller/python/chip/clusters/attribute.cpp Outdated Show resolved Hide resolved
src/controller/python/chip/clusters/attribute.cpp Outdated Show resolved Hide resolved
src/app/ReadClient.cpp Outdated Show resolved Hide resolved
src/app/ReadClient.cpp Show resolved Hide resolved
src/app/ReadClient.h Outdated Show resolved Hide resolved
src/app/ReadClient.h Outdated Show resolved Hide resolved
src/app/ReadPrepareParams.h Outdated Show resolved Hide resolved
src/controller/python/chip/clusters/attribute.cpp Outdated Show resolved Hide resolved
src/controller/python/chip/clusters/attribute.cpp Outdated Show resolved Hide resolved
src/app/ReadClient.cpp Outdated Show resolved Hide resolved
@yunhanw-google yunhanw-google force-pushed the feature/resubscribe branch 3 times, most recently from d25fdd7 to 0813408 Compare January 28, 2022 21:43
@msandstedt
Copy link
Contributor

During the re-subscribe process will we be using the existing CASE session for this device, or will we be recreating a new session?

This would reuse the existing session hold by mSessionHolder stored in ReadPrepareParams. mpExchangeCtx = mpExchangeMgr->NewContext(aReadPrepareParams.mSessionHolder.Get(), this);

My approval can still stand. But I am wondering what subset of cases where subscriptions can be lost would be repaired by attempting resubscribe over the existing session.

Is this implicitly relying on session resumption? I would have figured in many cases, lost subscriptions will also lead to lost sessions.

src/app/ReadClient.cpp Show resolved Hide resolved
src/controller/ReadInteraction.h Show resolved Hide resolved
src/controller/ReadInteraction.h Show resolved Hide resolved
src/controller/ReadInteraction.h Show resolved Hide resolved
src/controller/python/chip/clusters/attribute.cpp Outdated Show resolved Hide resolved
src/controller/python/chip/clusters/attribute.cpp Outdated Show resolved Hide resolved
@mrjerryjohns
Copy link
Contributor

But I am wondering what subset of cases where subscriptions can be lost would be repaired by attempting resubscribe over the existing session.

In data I have previously mined from devices in the field at Nest that had a similar concept of subscriptions, the bulk of subscriptions failures were due to networking issues (momentary Thread and Wifi connectivity disturbances) that would happen sometimes, a couple of times a day.

In those cases, both sides of the subscription are still up and running.

However, this question you pose brings up a related point I have brought up that is unique to Matter. Because an interaction error of timeout in nature cannot distinguish between the myriad of reasons why (including the worst, which is the other side has rebooted and lost their CASE session, or changed their IP address), I don't see how we can continue to re-use the same session indefinitely.

One possible heuristic is to re-subscribe just once, and if that fails, to restart the whole mDNS + CASE session setup process...horrible, but I'm not sure how to make that better.

@yunhanw-google yunhanw-google force-pushed the feature/resubscribe branch 2 times, most recently from 190b491 to 8e9eab1 Compare January 29, 2022 08:24
@yunhanw-google
Copy link
Contributor Author

/rebase

@github-actions
Copy link

github-actions bot commented Jan 29, 2022

PR #13145: Size comparison from 43a1e1a to 31aaa71

Increases above 0.2%:

platform target config section 43a1e1a 31aaa71 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578558 580230 1672 0.3
.app_xip_area 484532 486204 1672 0.3
lock-app CYW30739 (read/write) 536618 538278 1660 0.3
.app_xip_area 444160 445820 1660 0.4
efr32 lighting-app BRD4161A+rpc (read only) 830792 832872 2080 0.3
.text 830784 832864 2080 0.3
window-app BRD4161A (read only) 816032 818112 2080 0.3
.text 816024 818104 2080 0.3
k32w light k32w061+release (read/write) 663264 664928 1664 0.3
.text 579128 580792 1664 0.3
lock k32w061+release (read/write) 664328 665992 1664 0.3
.text 579856 581520 1664 0.3
linux chip-tool-ipv6only arm64 (read only) 6997916 7026732 28816 0.4
.text 6014484 6041652 27168 0.5
thermostat-no-ble arm64 (read only) 2084604 2091764 7160 0.3
.text 1736224 1743088 6864 0.4
nrfconnect lighting-app nrf52840dk_nrf52840 text 668568 670072 1504 0.2
nrf52840dk_nrf52840+rpc text 665012 666516 1504 0.2
nrf52840dongle_nrf52840 text 673980 675484 1504 0.2
nrf5340dk_nrf5340_cpuapp text 584748 586252 1504 0.3
lock-app nrf52840dk_nrf52840 text 614616 616120 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 824582 826246 1664 0.2
text 531576 533080 1504 0.3
pump-app nrf52840dk_nrf52840 text 617140 618644 1504 0.2
pump-controller-app nrf52840dk_nrf52840 text 613188 614692 1504 0.2
qpg lighting-app qpg6105+debug (read only) 571208 572876 1668 0.3
.text 565888 567556 1668 0.3
lock-app qpg6105+debug (read only) 517384 519044 1660 0.3
.text 512064 513724 1660 0.3
telink lighting-app tlsr9518adk80d text 592934 594748 1814 0.3
Increases (29 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 43a1e1a 31aaa71 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578558 580230 1672 0.3
.app_xip_area 484532 486204 1672 0.3
lock-app CYW30739 (read/write) 536618 538278 1660 0.3
.app_xip_area 444160 445820 1660 0.4
efr32 lighting-app BRD4161A (read only) 843432 845512 2080 0.2
.text 843424 845504 2080 0.2
BRD4161A+rpc (read only) 830792 832872 2080 0.3
.text 830784 832864 2080 0.3
window-app BRD4161A (read only) 816032 818112 2080 0.3
.text 816024 818104 2080 0.3
esp32 all-clusters-app c3devkit (read only) 934340 936186 1846 0.2
(read/write) 1399050 1399426 376 0.0
.dram0.data 14268 14276 8 0.1
.flash.rodata 195888 196248 360 0.2
.flash.text 934340 936186 1846 0.2
m5stack (read only) 982047 983511 1464 0.1
(read/write) 463404 463748 344 0.1
.flash.rodata 222508 222852 344 0.2
.flash.text 976663 978127 1464 0.1
k32w light k32w061+release (read/write) 663264 664928 1664 0.3
.text 579128 580792 1664 0.3
lock k32w061+release (read/write) 664328 665992 1664 0.3
.text 579856 581520 1664 0.3
linux chip-tool-ipv6only arm64 (read only) 6997916 7026732 28816 0.4
(read/write) 284257 284689 432 0.2
.data.rel.ro 178728 179152 424 0.2
.got 45072 45080 8 0.0
.rodata 398308 398660 352 0.1
.text 6014484 6041652 27168 0.5
thermostat-no-ble arm64 (read only) 2084604 2091764 7160 0.3
(read/write) 149713 149745 32 0.0
.data.rel.ro 74288 74312 24 0.0
.got 4168 4176 8 0.2
.rodata 130812 131060 248 0.2
.text 1736224 1743088 6864 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2384008 2385640 1632 0.1
.text 1346608 1348240 1632 0.1
lighting-app CY8CPROTO_062_4343W+release (read/write) 2338336 2339968 1632 0.1
.text 1300936 1302568 1632 0.1
lock-app CY8CPROTO_062_4343W+release (read/write) 2302440 2304072 1632 0.1
.text 1265040 1266672 1632 0.1
shell CY8CPROTO_062_4343W+release (read/write) 2293052 2294684 1632 0.1
.text 1255624 1257256 1632 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 981899 983563 1664 0.2
rodata 115744 115904 160 0.1
text 668568 670072 1504 0.2
nrf52840dk_nrf52840+rpc (read/write) 967451 969111 1660 0.2
rodata 107224 107380 156 0.1
text 665012 666516 1504 0.2
nrf52840dongle_nrf52840 (read/write) 997971 999635 1664 0.2
rodata 114580 114740 160 0.1
text 673980 675484 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 891074 892734 1660 0.2
rodata 109028 109184 156 0.1
text 584748 586252 1504 0.3
lock-app nrf52840dk_nrf52840 (read/write) 914531 916191 1660 0.2
rodata 104384 104540 156 0.1
text 614616 616120 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 824582 826246 1664 0.2
rodata 97592 97752 160 0.2
text 531576 533080 1504 0.3
pump-app nrf52840dk_nrf52840 (read/write) 917379 919039 1660 0.2
rodata 104896 105052 156 0.1
text 617140 618644 1504 0.2
pump-controller-app nrf52840dk_nrf52840 (read/write) 912563 914223 1660 0.2
rodata 104000 104156 156 0.1
text 613188 614692 1504 0.2
p6 all-clusters-app default (read/write) 2444616 2446680 2064 0.1
.text 1402880 1404944 2064 0.1
light-app default (read/write) 2339984 2342048 2064 0.1
.text 1298248 1300312 2064 0.2
lock-app default (read/write) 2305496 2307552 2056 0.1
.text 1263760 1265816 2056 0.2
qpg lighting-app qpg6105+debug (read only) 571208 572876 1668 0.3
.text 565888 567556 1668 0.3
lock-app qpg6105+debug (read only) 517384 519044 1660 0.3
.text 512064 513724 1660 0.3
telink lighting-app tlsr9518adk80d (read/write) 846378 848354 1976 0.2
text 592934 594748 1814 0.3
Full report (33 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 43a1e1a 31aaa71 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578558 580230 1672 0.3
.app_xip_area 484532 486204 1672 0.3
.bss 76772 76772 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock-app CYW30739 (read/write) 536618 538278 1660 0.3
.app_xip_area 444160 445820 1660 0.4
.bss 75244 75244 0 0.0
.data 560 560 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 843432 845512 2080 0.2
(read/write) 126320 126320 0 0.0
.bss 124416 124416 0 0.0
.data 1900 1900 0 0.0
.text 843424 845504 2080 0.2
BRD4161A+rpc (read only) 830792 832872 2080 0.3
(read/write) 142976 142976 0 0.0
.bss 140976 140976 0 0.0
.data 2000 2000 0 0.0
.text 830784 832864 2080 0.3
window-app BRD4161A (read only) 816032 818112 2080 0.3
(read/write) 124948 124948 0 0.0
.bss 123092 123092 0 0.0
.data 1856 1856 0 0.0
.text 816024 818104 2080 0.3
esp32 all-clusters-app c3devkit (read only) 934340 936186 1846 0.2
(read/write) 1399050 1399426 376 0.0
.dram0.bss 69992 69992 0 0.0
.dram0.data 14268 14276 8 0.1
.flash.rodata 195888 196248 360 0.2
.flash.text 934340 936186 1846 0.2
.iram0.text 62056 62056 0 0.0
m5stack (read only) 982047 983511 1464 0.1
(read/write) 463404 463748 344 0.1
.dram0.bss 74744 74744 0 0.0
.dram0.data 34024 34024 0 0.0
.flash.rodata 222508 222852 344 0.2
.flash.text 976663 978127 1464 0.1
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 663264 664928 1664 0.3
.bss 76468 76468 0 0.0
.data 1868 1868 0 0.0
.text 579128 580792 1664 0.3
lock k32w061+release (read/write) 664328 665992 1664 0.3
.bss 76780 76780 0 0.0
.data 1892 1892 0 0.0
.text 579856 581520 1664 0.3
linux chip-tool-ipv6only arm64 (read only) 6997916 7026732 28816 0.4
(read/write) 284257 284689 432 0.2
.bss 55553 55553 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 178728 179152 424 0.2
.dynamic 560 560 0 0.0
.got 45072 45080 8 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 398308 398660 352 0.1
.text 6014484 6041652 27168 0.5
thermostat-no-ble arm64 (read only) 2084604 2091764 7160 0.3
(read/write) 149713 149745 32 0.0
.bss 67329 67329 0 0.0
.data 960 960 0 0.0
.data.rel.ro 74288 74312 24 0.0
.dynamic 560 560 0 0.0
.got 4168 4176 8 0.2
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 130812 131060 248 0.2
.text 1736224 1743088 6864 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2384008 2385640 1632 0.1
.bss 188892 188892 0 0.0
.data 5288 5288 0 0.0
.text 1346608 1348240 1632 0.1
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2338336 2339968 1632 0.1
.bss 179424 179424 0 0.0
.data 5584 5584 0 0.0
.text 1300936 1302568 1632 0.1
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302440 2304072 1632 0.1
.bss 179296 179296 0 0.0
.data 5552 5552 0 0.0
.text 1265040 1266672 1632 0.1
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2293052 2294684 1632 0.1
.bss 176572 176572 0 0.0
.data 5384 5384 0 0.0
.text 1255624 1257256 1632 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 981899 983563 1664 0.2
bss 119780 119780 0 0.0
rodata 115744 115904 160 0.1
text 668568 670072 1504 0.2
nrf52840dk_nrf52840+rpc (read/write) 967451 969111 1660 0.2
bss 116824 116824 0 0.0
rodata 107224 107380 156 0.1
text 665012 666516 1504 0.2
nrf52840dongle_nrf52840 (read/write) 997971 999635 1664 0.2
bss 120952 120952 0 0.0
rodata 114580 114740 160 0.1
text 673980 675484 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 891074 892734 1660 0.2
bss 116568 116568 0 0.0
rodata 109028 109184 156 0.1
text 584748 586252 1504 0.3
lock-app nrf52840dk_nrf52840 (read/write) 914531 916191 1660 0.2
bss 118132 118132 0 0.0
rodata 104384 104540 156 0.1
text 614616 616120 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 824582 826246 1664 0.2
bss 114948 114948 0 0.0
rodata 97592 97752 160 0.2
text 531576 533080 1504 0.3
pigweed-app nrf52840dk_nrf52840 (read/write) 541779 541779 0 0.0
bss 52588 52588 0 0.0
rodata 50048 50048 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 917379 919039 1660 0.2
bss 117888 117888 0 0.0
rodata 104896 105052 156 0.1
text 617140 618644 1504 0.2
pump-controller-app nrf52840dk_nrf52840 (read/write) 912563 914223 1660 0.2
bss 117896 117896 0 0.0
rodata 104000 104156 156 0.1
text 613188 614692 1504 0.2
shell nrf52840dk_nrf52840 (read/write) 798379 798379 0 0.0
bss 109776 109776 0 0.0
rodata 78352 78352 0 0.0
text 533752 533752 0 0.0
p6 all-clusters-app default (read/write) 2444616 2446680 2064 0.1
.bss 117044 117044 0 0.0
.data 2584 2584 0 0.0
.text 1402880 1404944 2064 0.1
light-app default (read/write) 2339984 2342048 2064 0.1
.bss 104604 104604 0 0.0
.data 2408 2408 0 0.0
.text 1298248 1300312 2064 0.2
lock-app default (read/write) 2305496 2307552 2056 0.1
.bss 104324 104324 0 0.0
.data 2360 2360 0 0.0
.text 1263760 1265816 2056 0.2
qpg lighting-app qpg6105+debug (read only) 571208 572876 1668 0.3
(read/write) 146936 146936 0 0.0
.bss 88760 88760 0 0.0
.data 1060 1060 0 0.0
.text 565888 567556 1668 0.3
lock-app qpg6105+debug (read only) 517384 519044 1660 0.3
(read/write) 146940 146940 0 0.0
.bss 88200 88200 0 0.0
.data 992 992 0 0.0
.text 512064 513724 1660 0.3
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 846378 848354 1976 0.2
bss 86560 86560 0 0.0
noinit 37160 37160 0 0.0
text 592934 594748 1814 0.3

@github-actions
Copy link

github-actions bot commented Jan 29, 2022

PR #13145: Size comparison from ddb7ce7 to ec0d863

Increases above 0.2%:

platform target config section ddb7ce7 ec0d863 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578558 580230 1672 0.3
.app_xip_area 484532 486204 1672 0.3
lock-app CYW30739 (read/write) 536618 538278 1660 0.3
.app_xip_area 444160 445820 1660 0.4
efr32 lighting-app BRD4161A+rpc (read only) 830792 832872 2080 0.3
.text 830784 832864 2080 0.3
window-app BRD4161A (read only) 816032 818112 2080 0.3
.text 816024 818104 2080 0.3
k32w light k32w061+release (read/write) 663264 664928 1664 0.3
.text 579128 580792 1664 0.3
lock k32w061+release (read/write) 664328 665992 1664 0.3
.text 579856 581520 1664 0.3
linux chip-tool-ipv6only arm64 (read only) 7026076 7054876 28800 0.4
.text 6042628 6069796 27168 0.4
thermostat-no-ble arm64 (read only) 2084604 2091764 7160 0.3
.text 1736224 1743088 6864 0.4
nrfconnect lighting-app nrf52840dk_nrf52840 text 668568 670072 1504 0.2
nrf52840dk_nrf52840+rpc text 665012 666516 1504 0.2
nrf52840dongle_nrf52840 text 673980 675484 1504 0.2
nrf5340dk_nrf5340_cpuapp text 584748 586252 1504 0.3
lock-app nrf52840dk_nrf52840 text 614616 616120 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 824582 826246 1664 0.2
text 531576 533080 1504 0.3
pump-app nrf52840dk_nrf52840 text 617140 618644 1504 0.2
pump-controller-app nrf52840dk_nrf52840 text 613188 614692 1504 0.2
qpg lighting-app qpg6105+debug (read only) 571208 572876 1668 0.3
.text 565888 567556 1668 0.3
lock-app qpg6105+debug (read only) 517384 519044 1660 0.3
.text 512064 513724 1660 0.3
telink lighting-app tlsr9518adk80d text 592934 594748 1814 0.3
Increases (29 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section ddb7ce7 ec0d863 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578558 580230 1672 0.3
.app_xip_area 484532 486204 1672 0.3
lock-app CYW30739 (read/write) 536618 538278 1660 0.3
.app_xip_area 444160 445820 1660 0.4
efr32 lighting-app BRD4161A (read only) 843432 845512 2080 0.2
.text 843424 845504 2080 0.2
BRD4161A+rpc (read only) 830792 832872 2080 0.3
.text 830784 832864 2080 0.3
window-app BRD4161A (read only) 816032 818112 2080 0.3
.text 816024 818104 2080 0.3
esp32 all-clusters-app c3devkit (read only) 934340 936186 1846 0.2
(read/write) 1399050 1399426 376 0.0
.dram0.data 14268 14276 8 0.1
.flash.rodata 195888 196248 360 0.2
.flash.text 934340 936186 1846 0.2
m5stack (read only) 982047 983511 1464 0.1
(read/write) 463404 463748 344 0.1
.flash.rodata 222508 222852 344 0.2
.flash.text 976663 978127 1464 0.1
k32w light k32w061+release (read/write) 663264 664928 1664 0.3
.text 579128 580792 1664 0.3
lock k32w061+release (read/write) 664328 665992 1664 0.3
.text 579856 581520 1664 0.3
linux chip-tool-ipv6only arm64 (read only) 7026076 7054876 28800 0.4
(read/write) 284257 284689 432 0.2
.data.rel.ro 178728 179152 424 0.2
.got 45072 45080 8 0.0
.rodata 398324 398660 336 0.1
.text 6042628 6069796 27168 0.4
thermostat-no-ble arm64 (read only) 2084604 2091764 7160 0.3
(read/write) 149713 149745 32 0.0
.data.rel.ro 74288 74312 24 0.0
.got 4168 4176 8 0.2
.rodata 130812 131060 248 0.2
.text 1736224 1743088 6864 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2384008 2385640 1632 0.1
.text 1346608 1348240 1632 0.1
lighting-app CY8CPROTO_062_4343W+release (read/write) 2338336 2339968 1632 0.1
.text 1300936 1302568 1632 0.1
lock-app CY8CPROTO_062_4343W+release (read/write) 2302440 2304072 1632 0.1
.text 1265040 1266672 1632 0.1
shell CY8CPROTO_062_4343W+release (read/write) 2293052 2294684 1632 0.1
.text 1255624 1257256 1632 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 981899 983563 1664 0.2
rodata 115744 115904 160 0.1
text 668568 670072 1504 0.2
nrf52840dk_nrf52840+rpc (read/write) 967451 969111 1660 0.2
rodata 107224 107380 156 0.1
text 665012 666516 1504 0.2
nrf52840dongle_nrf52840 (read/write) 997971 999635 1664 0.2
rodata 114580 114740 160 0.1
text 673980 675484 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 891074 892734 1660 0.2
rodata 109028 109184 156 0.1
text 584748 586252 1504 0.3
lock-app nrf52840dk_nrf52840 (read/write) 914531 916191 1660 0.2
rodata 104384 104540 156 0.1
text 614616 616120 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 824582 826246 1664 0.2
rodata 97592 97752 160 0.2
text 531576 533080 1504 0.3
pump-app nrf52840dk_nrf52840 (read/write) 917379 919039 1660 0.2
rodata 104896 105052 156 0.1
text 617140 618644 1504 0.2
pump-controller-app nrf52840dk_nrf52840 (read/write) 912563 914223 1660 0.2
rodata 104000 104156 156 0.1
text 613188 614692 1504 0.2
p6 all-clusters-app default (read/write) 2444616 2446680 2064 0.1
.text 1402880 1404944 2064 0.1
light-app default (read/write) 2339984 2342048 2064 0.1
.text 1298248 1300312 2064 0.2
lock-app default (read/write) 2305496 2307552 2056 0.1
.text 1263760 1265816 2056 0.2
qpg lighting-app qpg6105+debug (read only) 571208 572876 1668 0.3
.text 565888 567556 1668 0.3
lock-app qpg6105+debug (read only) 517384 519044 1660 0.3
.text 512064 513724 1660 0.3
telink lighting-app tlsr9518adk80d (read/write) 846378 848354 1976 0.2
text 592934 594748 1814 0.3
Full report (33 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section ddb7ce7 ec0d863 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578558 580230 1672 0.3
.app_xip_area 484532 486204 1672 0.3
.bss 76772 76772 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock-app CYW30739 (read/write) 536618 538278 1660 0.3
.app_xip_area 444160 445820 1660 0.4
.bss 75244 75244 0 0.0
.data 560 560 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 843432 845512 2080 0.2
(read/write) 126320 126320 0 0.0
.bss 124416 124416 0 0.0
.data 1900 1900 0 0.0
.text 843424 845504 2080 0.2
BRD4161A+rpc (read only) 830792 832872 2080 0.3
(read/write) 142976 142976 0 0.0
.bss 140976 140976 0 0.0
.data 2000 2000 0 0.0
.text 830784 832864 2080 0.3
window-app BRD4161A (read only) 816032 818112 2080 0.3
(read/write) 124948 124948 0 0.0
.bss 123092 123092 0 0.0
.data 1856 1856 0 0.0
.text 816024 818104 2080 0.3
esp32 all-clusters-app c3devkit (read only) 934340 936186 1846 0.2
(read/write) 1399050 1399426 376 0.0
.dram0.bss 69992 69992 0 0.0
.dram0.data 14268 14276 8 0.1
.flash.rodata 195888 196248 360 0.2
.flash.text 934340 936186 1846 0.2
.iram0.text 62056 62056 0 0.0
m5stack (read only) 982047 983511 1464 0.1
(read/write) 463404 463748 344 0.1
.dram0.bss 74744 74744 0 0.0
.dram0.data 34024 34024 0 0.0
.flash.rodata 222508 222852 344 0.2
.flash.text 976663 978127 1464 0.1
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 663264 664928 1664 0.3
.bss 76468 76468 0 0.0
.data 1868 1868 0 0.0
.text 579128 580792 1664 0.3
lock k32w061+release (read/write) 664328 665992 1664 0.3
.bss 76780 76780 0 0.0
.data 1892 1892 0 0.0
.text 579856 581520 1664 0.3
linux chip-tool-ipv6only arm64 (read only) 7026076 7054876 28800 0.4
(read/write) 284257 284689 432 0.2
.bss 55553 55553 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 178728 179152 424 0.2
.dynamic 560 560 0 0.0
.got 45072 45080 8 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 398324 398660 336 0.1
.text 6042628 6069796 27168 0.4
thermostat-no-ble arm64 (read only) 2084604 2091764 7160 0.3
(read/write) 149713 149745 32 0.0
.bss 67329 67329 0 0.0
.data 960 960 0 0.0
.data.rel.ro 74288 74312 24 0.0
.dynamic 560 560 0 0.0
.got 4168 4176 8 0.2
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 130812 131060 248 0.2
.text 1736224 1743088 6864 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2384008 2385640 1632 0.1
.bss 188892 188892 0 0.0
.data 5288 5288 0 0.0
.text 1346608 1348240 1632 0.1
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2338336 2339968 1632 0.1
.bss 179424 179424 0 0.0
.data 5584 5584 0 0.0
.text 1300936 1302568 1632 0.1
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302440 2304072 1632 0.1
.bss 179296 179296 0 0.0
.data 5552 5552 0 0.0
.text 1265040 1266672 1632 0.1
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2293052 2294684 1632 0.1
.bss 176572 176572 0 0.0
.data 5384 5384 0 0.0
.text 1255624 1257256 1632 0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 981899 983563 1664 0.2
bss 119780 119780 0 0.0
rodata 115744 115904 160 0.1
text 668568 670072 1504 0.2
nrf52840dk_nrf52840+rpc (read/write) 967451 969111 1660 0.2
bss 116824 116824 0 0.0
rodata 107224 107380 156 0.1
text 665012 666516 1504 0.2
nrf52840dongle_nrf52840 (read/write) 997971 999635 1664 0.2
bss 120952 120952 0 0.0
rodata 114580 114740 160 0.1
text 673980 675484 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 891074 892734 1660 0.2
bss 116568 116568 0 0.0
rodata 109028 109184 156 0.1
text 584748 586252 1504 0.3
lock-app nrf52840dk_nrf52840 (read/write) 914531 916191 1660 0.2
bss 118132 118132 0 0.0
rodata 104384 104540 156 0.1
text 614616 616120 1504 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 824582 826246 1664 0.2
bss 114948 114948 0 0.0
rodata 97592 97752 160 0.2
text 531576 533080 1504 0.3
pigweed-app nrf52840dk_nrf52840 (read/write) 541779 541779 0 0.0
bss 52588 52588 0 0.0
rodata 50048 50048 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 917379 919039 1660 0.2
bss 117888 117888 0 0.0
rodata 104896 105052 156 0.1
text 617140 618644 1504 0.2
pump-controller-app nrf52840dk_nrf52840 (read/write) 912563 914223 1660 0.2
bss 117896 117896 0 0.0
rodata 104000 104156 156 0.1
text 613188 614692 1504 0.2
shell nrf52840dk_nrf52840 (read/write) 798379 798379 0 0.0
bss 109776 109776 0 0.0
rodata 78352 78352 0 0.0
text 533752 533752 0 0.0
p6 all-clusters-app default (read/write) 2444616 2446680 2064 0.1
.bss 117044 117044 0 0.0
.data 2584 2584 0 0.0
.text 1402880 1404944 2064 0.1
light-app default (read/write) 2339984 2342048 2064 0.1
.bss 104604 104604 0 0.0
.data 2408 2408 0 0.0
.text 1298248 1300312 2064 0.2
lock-app default (read/write) 2305496 2307552 2056 0.1
.bss 104324 104324 0 0.0
.data 2360 2360 0 0.0
.text 1263760 1265816 2056 0.2
qpg lighting-app qpg6105+debug (read only) 571208 572876 1668 0.3
(read/write) 146936 146936 0 0.0
.bss 88760 88760 0 0.0
.data 1060 1060 0 0.0
.text 565888 567556 1668 0.3
lock-app qpg6105+debug (read only) 517384 519044 1660 0.3
(read/write) 146940 146940 0 0.0
.bss 88200 88200 0 0.0
.data 992 992 0 0.0
.text 512064 513724 1660 0.3
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 846378 848354 1976 0.2
bss 86560 86560 0 0.0
noinit 37160 37160 0 0.0
text 592934 594748 1814 0.3

@yunhanw-google yunhanw-google merged commit 2cd1e1e into project-chip:master Jan 30, 2022
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.

6 participants