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

AttributeCache should cache data versions and use them in subsequent … #16602

Merged
merged 6 commits into from
Apr 14, 2022

Conversation

yunhanw-google
Copy link
Contributor

@yunhanw-google yunhanw-google commented Mar 24, 2022

Problem

Change overview

  • For a given cluster instance, the cache shall only store a data version if the accompanying read/subscribe contained a wildcard attribute path to that cluster. This allows us to trivially infer the coherence of the existing data in the cache without needing to correlate that with new paths in ensuing read/subscribe. The solution space got really complicated in our discussions without this simplification.
  • AttributeCache would cache version via ConcreteDataAttributePath when received reports
  • ReadRequest/SubscribeRequest would try to use cachedDataVersion to construct DataVersionFilters, what if application has already provided dataVersion filters, it would try to encode the application provided data version filters and not use cached data versions.
  • We'll pass in the requested paths through this OnUpdateDataVersionFilterList to limit the set of data version filters the cache will pick-up from its store. This ensures that a cache that is used across different reads/subscriptions with different paths in them will not result in the cache picking up the wrong filters to send that don't actually intersect with the specified paths in the request.
  • A data version shall be stored per cluster instance, and not per attribute.
  • There shall be two data versions tracked per cluster instance - a 'committed' version that tracks the version of the data in the cache, and a 'pending' data version that tracks the data version for data that is currently being processed and intersecting with request paths, in the trait of reports. We need this distinction since the list of AttributeDataIBs received for a cluster can span multiple messages, and we need to still preserve transactional semantics to ensure the cache does not end up in an in-coherent state with respect to the stored data version.
  • Add mpReadClient in AttributePathParams, for instance, first subscribe, then read using same cache, we need mpReadClient to avoid the removal of read request paths from first subscribe.
  • Store all wildcard paths for a given request in the cache. At the time an AttributeDataIB is received, If cache receives the data for a given cluster instance, the 'committed' data version is cleared. If this path is WildcardRequest based on consultation with the stored path set, update the 'pending' data version for corresponding cluster in cache. When it receive the last report, we would try to copy version from pending one to committed one if pending has valid value for that cluster in cache.
  • When read/subscribe is closed, the corresponding request paths would be deleted from request path set.
  • Regarding creating data version filters using cached data version, it would encode the cached sorted committed data versions from largest cluster to smallest cluster into data version filters where the paths must intersect with current request paths as well. If it encode too many data version filters with no memory error in current request, then it would rollback to last good one.
    Note: we don't allow multiple read/subscribe interaction to use the same attribute cache at the same time.

Testing

  • Initial Read of C1A1, C1A2 and C2A1.
    Expect no versions would be cached.
  • Second read of C1A* and C2A1. There is no cached version in previous read.
    Expect cache C1 version
  • Third read of C1A1 C2A1 and C2A2. It would use the stored data versions in the cache since our subsequent read's C1A1 path intersects with previous cached data version
    Expect no C1 attributes in report, only C2A1 attribute in report
  • Fourth read of C1A* and C2A1. It would use the stored data versions in the cache since our subsequent read's C1A* path intersects with previous cached data version
    Expect no C1 attributes in report, only C2A1 attribute in report
  • Bump version in server, fifth read of C1A1, C1A2 and C2A1. It would use the stored data versions in the cache since our subsequent read's C1A* path intersects with previous cached data version, server's version is changed
    Expect C1A1, C1A2, C2A1 attribute in report, and invalidate the cached pending and committed data version since no wildcard attributes exists in mRequestPathSet.
  • Sixth read of C1A1, C1A2 and C2A1. It would use none stored data versions in the cache since previous read does not cache any committed data version.
    Expect C1A1, C1A2, C2A1 attribute in report
  • Seventh read of C1A* and C2A1, here there is no cached data version filter
    Expect C1 attributes in report, and C2A1 attribute in report and cache latest data version
  • Eighth read of C1A* and C2A1, and inject a large amount of event path list, then it would try to apply previous cache latest
    data version and construct data version list but no enough memory, finally fully rollback data version filter
    Expect C1 attributes in report, and C2A1 attribute in report
  • Bump version in server, Ninth read of C1A* and C2A* and C3A*, it would use C1 cached version to construct DataVersionFilter, but version has changed in server.
    Expect C1, C2, C3 attributes in report, and cache their versions
  • Tenth read of C1A*(3 attributes) and C2A*(5 attributes) and C3A*(4 attributes), and inject a large amount of event path list, then it would try to apply previous cache latest data version and construct data version list with the ordering from largest cluster size to smallest cluster size(C2, C3, C1) but no enough memory,
    finally partially rollback data version filter with only C2
    Expect C1, C3 attributes(7 attributes) in report

src/app/AttributeCache.h Outdated Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Apr 12, 2022

PR #16602: Size comparison from 2e33dec to e590ac5

Increases above 0.2%:

platform target config section 2e33dec e590ac5 change % change
linux chip-tool debug (read only) 10676501 10702725 26224 0.2
(read/write) 371832 373208 1376 0.4
.data.rel.ro 341728 343088 1360 0.4
.text 9309221 9330565 21344 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 1027722 10305348 28128 0.3
(read/write) 492193 493569 1376 0.3
.data.rel.ro 388816 390200 1384 0.4
.text 8661732 8685428 23696 0.3
tv-app debug (read only) 2795649 2817905 22256 0.8
.rodata 213259 213963 704 0.3
.text 2401090 2422402 21312 0.9
Increases (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 2e33dec e590ac5 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 639911 640287 376 0.1
.text 559276 559652 376 0.1
lock-mtd LP_CC2652R7 (read only) 588655 589023 368 0.1
.text 508140 508508 368 0.1
pump-app LP_CC2652R7 (read only) 647995 648371 376 0.1
.text 572176 572552 376 0.1
pump-controller-app LP_CC2652R7 (read only) 641967 642343 376 0.1
.text 562512 562888 376 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618514 618874 360 0.1
.app_xip_area 525224 525584 360 0.1
lock cyw930739m2evb_01 (read/write) 576126 576486 360 0.1
.app_xip_area 484372 484732 360 0.1
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564642 565002 360 0.1
.app_xip_area 463260 463620 360 0.1
efr32 lighting-app BRD4161A (read only) 907004 907404 400 0.0
.text 906996 907396 400 0.0
BRD4161A+rpc (read only) 941372 941772 400 0.0
.text 941364 941764 400 0.0
window-app BRD4161A (read only) 843996 844396 400 0.0
.text 843988 844388 400 0.0
esp32 all-clusters-app c3devkit (read only) 979666 980080 414 0.0
.flash.text 979666 980080 414 0.0
m5stack (read only) 1035255 1035659 404 0.0
.flash.text 1029871 1030275 404 0.0
k32w light k32w061+release (read/write) 686728 687096 368 0.1
.text 600764 601132 368 0.1
lock k32w061+release (read/write) 691360 691728 368 0.1
.text 604860 605228 368 0.1
linux all-clusters-app debug (read only) 2696353 2698593 2240 0.1
.rodata 232421 232613 192 0.1
.text 2289938 2291986 2048 0.1
bridge-app debug+rpc (read only) 1835933 1838173 2240 0.1
.rodata 148473 148665 192 0.1
.text 1569029 1571077 2048 0.1
chip-tool debug (read only) 10676501 10702725 26224 0.2
(read/write) 371832 373208 1376 0.4
.data.rel.ro 341728 343088 1360 0.4
.rodata 537973 538773 800 0.1
.text 9309221 9330565 21344 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 1027722 10305348 28128 0.3
(read/write) 492193 493569 1376 0.3
.data.rel.ro 388816 390200 1384 0.4
.rodata 512228 512564 336 0.1
.text 8661732 8685428 23696 0.3
door-lock-app debug (read only) 2107313 2109521 2208 0.1
.rodata 186697 186857 160 0.1
.text 1764914 1766962 2048 0.1
lighting-app debug+rpc (read only) 2312137 2314329 2192 0.1
.rodata 182633 182793 160 0.1
.text 1963666 1965698 2032 0.1
ota-provider-app debug (read only) 2044465 2046737 2272 0.1
.rodata 172451 172675 224 0.1
.text 1715826 1717874 2048 0.1
ota-requestor-app debug (read only) 2074873 2077113 2240 0.1
.rodata 169356 169548 192 0.1
.text 1747458 1749506 2048 0.1
shell debug (read only) 2524145 2526385 2240 0.1
.rodata 214674 214866 192 0.1
.text 2148306 2150354 2048 0.1
thermostat-no-ble arm64 (read only) 2352700 2354748 2048 0.1
.rodata 144668 144764 96 0.1
.text 1979456 1981408 1952 0.1
tv-app debug (read only) 2795649 2817905 22256 0.8
(read/write) 250680 250744 64 0.0
.data.rel.ro 75912 75992 80 0.1
.rodata 213259 213963 704 0.3
.text 2401090 2422402 21312 0.9
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2368260 2368644 384 0.0
.text 1330860 1331244 384 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155895 1156263 368 0.0
text 794976 795348 372 0.0
p6 all-clusters-app default (read/write) 2514688 2515088 400 0.0
.text 1472952 1473352 400 0.0
light-app default (read/write) 2415160 2415544 384 0.0
.text 1373424 1373808 384 0.0
lock-app default (read/write) 2378712 2379112 400 0.0
.text 1336976 1337376 400 0.0
telink lighting-app tlsr9518adk80d (read/write) 800992 801400 408 0.1
text 569690 570098 408 0.1
Full report (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 2e33dec e590ac5 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 639911 640287 376 0.1
(read/write) 151212 151212 0 0.0
.bss 74144 74144 0 0.0
.data 3212 3212 0 0.0
.rodata 80143 80143 0 0.0
.text 559276 559652 376 0.1
lock-mtd LP_CC2652R7 (read only) 588655 589023 368 0.1
(read/write) 146932 146932 0 0.0
.bss 69864 69864 0 0.0
.data 3212 3212 0 0.0
.rodata 80023 80023 0 0.0
.text 508140 508508 368 0.1
pump-app LP_CC2652R7 (read only) 647995 648371 376 0.1
(read/write) 152508 152508 0 0.0
.bss 74640 74640 0 0.0
.data 3244 3244 0 0.0
.rodata 75331 75331 0 0.0
.text 572176 572552 376 0.1
pump-controller-app LP_CC2652R7 (read only) 641967 642343 376 0.1
(read/write) 152176 152176 0 0.0
.bss 74344 74344 0 0.0
.data 3208 3208 0 0.0
.rodata 78967 78967 0 0.0
.text 562512 562888 376 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618514 618874 360 0.1
.app_xip_area 525224 525584 360 0.1
.bss 75956 75956 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 576126 576486 360 0.1
.app_xip_area 484372 484732 360 0.1
.bss 74452 74452 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564642 565002 360 0.1
.app_xip_area 463260 463620 360 0.1
.bss 83784 83784 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 907004 907404 400 0.0
(read/write) 133080 133080 0 0.0
.bss 131040 131040 0 0.0
.data 2040 2040 0 0.0
.text 906996 907396 400 0.0
BRD4161A+rpc (read only) 941372 941772 400 0.0
(read/write) 149764 149764 0 0.0
.bss 147520 147520 0 0.0
.data 2244 2244 0 0.0
.text 941364 941764 400 0.0
window-app BRD4161A (read only) 843996 844396 400 0.0
(read/write) 131148 131148 0 0.0
.bss 129200 129200 0 0.0
.data 1948 1948 0 0.0
.text 843988 844388 400 0.0
esp32 all-clusters-app c3devkit (read only) 979666 980080 414 0.0
(read/write) 1397514 1397514 0 0.0
.dram0.bss 62624 62624 0 0.0
.dram0.data 14420 14420 0 0.0
.flash.rodata 201552 201552 0 0.0
.flash.text 979666 980080 414 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1035255 1035659 404 0.0
(read/write) 465252 465252 0 0.0
.dram0.bss 68144 68144 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231120 231120 0 0.0
.flash.text 1029871 1030275 404 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 686728 687096 368 0.1
.bss 78128 78128 0 0.0
.data 2036 2036 0 0.0
.text 600764 601132 368 0.1
lock k32w061+release (read/write) 691360 691728 368 0.1
.bss 78704 78704 0 0.0
.data 1996 1996 0 0.0
.text 604860 605228 368 0.1
linux all-clusters-app debug (read only) 2696353 2698593 2240 0.1
(read/write) 149120 149120 0 0.0
.bss 60192 60192 0 0.0
.data 1888 1888 0 0.0
.data.rel.ro 80984 80984 0 0.0
.dynamic 608 608 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 984 984 0 0.0
.rodata 232421 232613 192 0.1
.text 2289938 2291986 2048 0.1
bridge-app debug+rpc (read only) 1835933 1838173 2240 0.1
(read/write) 91752 91752 0 0.0
.bss 44472 44472 0 0.0
.data 2912 2912 0 0.0
.data.rel.ro 39280 39280 0 0.0
.dynamic 592 592 0 0.0
.got 3936 3936 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 148473 148665 192 0.1
.text 1569029 1571077 2048 0.1
chip-tool debug (read only) 10676501 10702725 26224 0.2
(read/write) 371832 373208 1376 0.4
.bss 22752 22752 0 0.0
.data 1104 1104 0 0.0
.data.rel.ro 341728 343088 1360 0.4
.dynamic 624 624 0 0.0
.got 4936 4936 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 537973 538773 800 0.1
.text 9309221 9330565 21344 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 1027722 10305348 28128 0.3
(read/write) 492193 493569 1376 0.3
.bss 41009 41009 0 0.0
.data 1168 1168 0 0.0
.data.rel.ro 388816 390200 1384 0.4
.dynamic 560 560 0 0.0
.got 57392 57392 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 512228 512564 336 0.1
.text 8661732 8685428 23696 0.3
door-lock-app debug (read only) 2107313 2109521 2208 0.1
(read/write) 119504 119504 0 0.0
.bss 48064 48064 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 64408 64408 0 0.0
.dynamic 592 592 0 0.0
.got 4264 4264 0 0.0
.init 27 27 0 0.0
.init_array 680 680 0 0.0
.rodata 186697 186857 160 0.1
.text 1764914 1766962 2048 0.1
lighting-app debug+rpc (read only) 2312137 2314329 2192 0.1
(read/write) 127824 127824 0 0.0
.bss 50272 50272 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 69896 69896 0 0.0
.dynamic 608 608 0 0.0
.got 4312 4312 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 182633 182793 160 0.1
.text 1963666 1965698 2032 0.1
ota-provider-app debug (read only) 2044465 2046737 2272 0.1
(read/write) 114944 114944 0 0.0
.bss 47968 47968 0 0.0
.data 1608 1608 0 0.0
.data.rel.ro 59624 59624 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 172451 172675 224 0.1
.text 1715826 1717874 2048 0.1
ota-requestor-app debug (read only) 2074873 2077113 2240 0.1
(read/write) 118264 118264 0 0.0
.bss 48928 48928 0 0.0
.data 1864 1864 0 0.0
.data.rel.ro 61864 61864 0 0.0
.dynamic 592 592 0 0.0
.got 4304 4304 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 169356 169548 192 0.1
.text 1747458 1749506 2048 0.1
shell debug (read only) 2524145 2526385 2240 0.1
(read/write) 149968 149968 0 0.0
.bss 67624 67624 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 75368 75368 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 214674 214866 192 0.1
.text 2148306 2150354 2048 0.1
thermostat-no-ble arm64 (read only) 2352700 2354748 2048 0.1
(read/write) 150993 150993 0 0.0
.bss 63153 63153 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 78632 78632 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 368 368 0 0.0
.rodata 144668 144764 96 0.1
.text 1979456 1981408 1952 0.1
tv-app debug (read only) 2795649 2817905 22256 0.8
(read/write) 250680 250744 64 0.0
.bss 164104 164104 0 0.0
.data 4448 4448 0 0.0
.data.rel.ro 75912 75992 80 0.1
.dynamic 592 592 0 0.0
.got 4688 4688 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 213259 213963 704 0.3
.text 2401090 2422402 21312 0.9
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2368260 2368644 384 0.0
.bss 185236 185236 0 0.0
.data 5840 5840 0 0.0
.text 1330860 1331244 384 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155895 1156263 368 0.0
bss 135464 135464 0 0.0
rodata 146768 146768 0 0.0
text 794976 795348 372 0.0
p6 all-clusters-app default (read/write) 2514688 2515088 400 0.0
.bss 118640 118640 0 0.0
.data 2768 2768 0 0.0
.text 1472952 1473352 400 0.0
light-app default (read/write) 2415160 2415544 384 0.0
.bss 112136 112136 0 0.0
.data 2576 2576 0 0.0
.text 1373424 1373808 384 0.0
lock-app default (read/write) 2378712 2379112 400 0.0
.bss 111880 111880 0 0.0
.data 2536 2536 0 0.0
.text 1336976 1337376 400 0.0
telink lighting-app tlsr9518adk80d (read/write) 800992 801400 408 0.1
bss 69988 69988 0 0.0
noinit 40416 40416 0 0.0
text 569690 570098 408 0.1

src/app/AttributeCache.cpp Show resolved Hide resolved
src/app/AttributePathParams.h Outdated Show resolved Hide resolved
src/app/AttributePathParams.h Outdated Show resolved Hide resolved
src/app/AttributePathParams.h Show resolved Hide resolved
src/app/ReadClient.h Outdated Show resolved Hide resolved
src/controller/tests/data_model/TestRead.cpp Outdated Show resolved Hide resolved
src/controller/tests/data_model/TestRead.cpp Outdated Show resolved Hide resolved
src/controller/tests/data_model/TestRead.cpp Outdated Show resolved Hide resolved
src/controller/tests/data_model/TestRead.cpp Show resolved Hide resolved
src/controller/tests/data_model/TestRead.cpp Outdated Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Apr 12, 2022

PR #16602: Size comparison from 2e33dec to dad6641

Increases above 0.2%:

platform target config section 2e33dec dad6641 change % change
linux chip-tool debug (read only) 10676501 10702725 26224 0.2
(read/write) 371832 373208 1376 0.4
.data.rel.ro 341728 343088 1360 0.4
.text 9309221 9330565 21344 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 1027722 10305348 28128 0.3
(read/write) 492193 493569 1376 0.3
.data.rel.ro 388816 390200 1384 0.4
.text 8661732 8685428 23696 0.3
tv-app debug (read only) 2795649 2817905 22256 0.8
.rodata 213259 213963 704 0.3
.text 2401090 2422402 21312 0.9
Increases (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 2e33dec dad6641 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 639911 640287 376 0.1
.text 559276 559652 376 0.1
lock-mtd LP_CC2652R7 (read only) 588655 589023 368 0.1
.text 508140 508508 368 0.1
pump-app LP_CC2652R7 (read only) 647995 648371 376 0.1
.text 572176 572552 376 0.1
pump-controller-app LP_CC2652R7 (read only) 641967 642343 376 0.1
.text 562512 562888 376 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618514 618874 360 0.1
.app_xip_area 525224 525584 360 0.1
lock cyw930739m2evb_01 (read/write) 576126 576486 360 0.1
.app_xip_area 484372 484732 360 0.1
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564642 565002 360 0.1
.app_xip_area 463260 463620 360 0.1
efr32 lighting-app BRD4161A (read only) 907004 907404 400 0.0
.text 906996 907396 400 0.0
BRD4161A+rpc (read only) 941372 941772 400 0.0
.text 941364 941764 400 0.0
window-app BRD4161A (read only) 843996 844396 400 0.0
.text 843988 844388 400 0.0
esp32 all-clusters-app c3devkit (read only) 979666 980080 414 0.0
.flash.text 979666 980080 414 0.0
m5stack (read only) 1035255 1035659 404 0.0
.flash.text 1029871 1030275 404 0.0
k32w light k32w061+release (read/write) 686728 687096 368 0.1
.text 600764 601132 368 0.1
lock k32w061+release (read/write) 691360 691728 368 0.1
.text 604860 605228 368 0.1
linux all-clusters-app debug (read only) 2696353 2698593 2240 0.1
.rodata 232421 232613 192 0.1
.text 2289938 2291986 2048 0.1
bridge-app debug+rpc (read only) 1835933 1838173 2240 0.1
.rodata 148473 148665 192 0.1
.text 1569029 1571077 2048 0.1
chip-tool debug (read only) 10676501 10702725 26224 0.2
(read/write) 371832 373208 1376 0.4
.data.rel.ro 341728 343088 1360 0.4
.rodata 537973 538773 800 0.1
.text 9309221 9330565 21344 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 1027722 10305348 28128 0.3
(read/write) 492193 493569 1376 0.3
.data.rel.ro 388816 390200 1384 0.4
.rodata 512228 512564 336 0.1
.text 8661732 8685428 23696 0.3
door-lock-app debug (read only) 2107313 2109521 2208 0.1
.rodata 186697 186857 160 0.1
.text 1764914 1766962 2048 0.1
lighting-app debug+rpc (read only) 2312137 2314329 2192 0.1
.rodata 182633 182793 160 0.1
.text 1963666 1965698 2032 0.1
ota-provider-app debug (read only) 2044465 2046737 2272 0.1
.rodata 172451 172675 224 0.1
.text 1715826 1717874 2048 0.1
ota-requestor-app debug (read only) 2074873 2077113 2240 0.1
.rodata 169356 169548 192 0.1
.text 1747458 1749506 2048 0.1
shell debug (read only) 2524145 2526385 2240 0.1
.rodata 214674 214866 192 0.1
.text 2148306 2150354 2048 0.1
thermostat-no-ble arm64 (read only) 2352700 2354748 2048 0.1
.rodata 144668 144764 96 0.1
.text 1979456 1981408 1952 0.1
tv-app debug (read only) 2795649 2817905 22256 0.8
(read/write) 250680 250744 64 0.0
.data.rel.ro 75912 75992 80 0.1
.rodata 213259 213963 704 0.3
.text 2401090 2422402 21312 0.9
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2368260 2368644 384 0.0
.text 1330860 1331244 384 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155895 1156263 368 0.0
text 794976 795348 372 0.0
p6 all-clusters-app default (read/write) 2514688 2515088 400 0.0
.text 1472952 1473352 400 0.0
light-app default (read/write) 2415160 2415544 384 0.0
.text 1373424 1373808 384 0.0
lock-app default (read/write) 2378712 2379112 400 0.0
.text 1336976 1337376 400 0.0
telink lighting-app tlsr9518adk80d (read/write) 800992 801400 408 0.1
text 569690 570098 408 0.1
Full report (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 2e33dec dad6641 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 639911 640287 376 0.1
(read/write) 151212 151212 0 0.0
.bss 74144 74144 0 0.0
.data 3212 3212 0 0.0
.rodata 80143 80143 0 0.0
.text 559276 559652 376 0.1
lock-mtd LP_CC2652R7 (read only) 588655 589023 368 0.1
(read/write) 146932 146932 0 0.0
.bss 69864 69864 0 0.0
.data 3212 3212 0 0.0
.rodata 80023 80023 0 0.0
.text 508140 508508 368 0.1
pump-app LP_CC2652R7 (read only) 647995 648371 376 0.1
(read/write) 152508 152508 0 0.0
.bss 74640 74640 0 0.0
.data 3244 3244 0 0.0
.rodata 75331 75331 0 0.0
.text 572176 572552 376 0.1
pump-controller-app LP_CC2652R7 (read only) 641967 642343 376 0.1
(read/write) 152176 152176 0 0.0
.bss 74344 74344 0 0.0
.data 3208 3208 0 0.0
.rodata 78967 78967 0 0.0
.text 562512 562888 376 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618514 618874 360 0.1
.app_xip_area 525224 525584 360 0.1
.bss 75956 75956 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 576126 576486 360 0.1
.app_xip_area 484372 484732 360 0.1
.bss 74452 74452 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564642 565002 360 0.1
.app_xip_area 463260 463620 360 0.1
.bss 83784 83784 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 907004 907404 400 0.0
(read/write) 133080 133080 0 0.0
.bss 131040 131040 0 0.0
.data 2040 2040 0 0.0
.text 906996 907396 400 0.0
BRD4161A+rpc (read only) 941372 941772 400 0.0
(read/write) 149764 149764 0 0.0
.bss 147520 147520 0 0.0
.data 2244 2244 0 0.0
.text 941364 941764 400 0.0
window-app BRD4161A (read only) 843996 844396 400 0.0
(read/write) 131148 131148 0 0.0
.bss 129200 129200 0 0.0
.data 1948 1948 0 0.0
.text 843988 844388 400 0.0
esp32 all-clusters-app c3devkit (read only) 979666 980080 414 0.0
(read/write) 1397514 1397514 0 0.0
.dram0.bss 62624 62624 0 0.0
.dram0.data 14420 14420 0 0.0
.flash.rodata 201552 201552 0 0.0
.flash.text 979666 980080 414 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1035255 1035659 404 0.0
(read/write) 465252 465252 0 0.0
.dram0.bss 68144 68144 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231120 231120 0 0.0
.flash.text 1029871 1030275 404 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 686728 687096 368 0.1
.bss 78128 78128 0 0.0
.data 2036 2036 0 0.0
.text 600764 601132 368 0.1
lock k32w061+release (read/write) 691360 691728 368 0.1
.bss 78704 78704 0 0.0
.data 1996 1996 0 0.0
.text 604860 605228 368 0.1
linux all-clusters-app debug (read only) 2696353 2698593 2240 0.1
(read/write) 149120 149120 0 0.0
.bss 60192 60192 0 0.0
.data 1888 1888 0 0.0
.data.rel.ro 80984 80984 0 0.0
.dynamic 608 608 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 984 984 0 0.0
.rodata 232421 232613 192 0.1
.text 2289938 2291986 2048 0.1
bridge-app debug+rpc (read only) 1835933 1838173 2240 0.1
(read/write) 91752 91752 0 0.0
.bss 44472 44472 0 0.0
.data 2912 2912 0 0.0
.data.rel.ro 39280 39280 0 0.0
.dynamic 592 592 0 0.0
.got 3936 3936 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 148473 148665 192 0.1
.text 1569029 1571077 2048 0.1
chip-tool debug (read only) 10676501 10702725 26224 0.2
(read/write) 371832 373208 1376 0.4
.bss 22752 22752 0 0.0
.data 1104 1104 0 0.0
.data.rel.ro 341728 343088 1360 0.4
.dynamic 624 624 0 0.0
.got 4936 4936 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 537973 538773 800 0.1
.text 9309221 9330565 21344 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 1027722 10305348 28128 0.3
(read/write) 492193 493569 1376 0.3
.bss 41009 41009 0 0.0
.data 1168 1168 0 0.0
.data.rel.ro 388816 390200 1384 0.4
.dynamic 560 560 0 0.0
.got 57392 57392 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 512228 512564 336 0.1
.text 8661732 8685428 23696 0.3
door-lock-app debug (read only) 2107313 2109521 2208 0.1
(read/write) 119504 119504 0 0.0
.bss 48064 48064 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 64408 64408 0 0.0
.dynamic 592 592 0 0.0
.got 4264 4264 0 0.0
.init 27 27 0 0.0
.init_array 680 680 0 0.0
.rodata 186697 186857 160 0.1
.text 1764914 1766962 2048 0.1
lighting-app debug+rpc (read only) 2312137 2314329 2192 0.1
(read/write) 127824 127824 0 0.0
.bss 50272 50272 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 69896 69896 0 0.0
.dynamic 608 608 0 0.0
.got 4312 4312 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 182633 182793 160 0.1
.text 1963666 1965698 2032 0.1
ota-provider-app debug (read only) 2044465 2046737 2272 0.1
(read/write) 114944 114944 0 0.0
.bss 47968 47968 0 0.0
.data 1608 1608 0 0.0
.data.rel.ro 59624 59624 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 172451 172675 224 0.1
.text 1715826 1717874 2048 0.1
ota-requestor-app debug (read only) 2074873 2077113 2240 0.1
(read/write) 118264 118264 0 0.0
.bss 48928 48928 0 0.0
.data 1864 1864 0 0.0
.data.rel.ro 61864 61864 0 0.0
.dynamic 592 592 0 0.0
.got 4304 4304 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 169356 169548 192 0.1
.text 1747458 1749506 2048 0.1
shell debug (read only) 2524145 2526385 2240 0.1
(read/write) 149968 149968 0 0.0
.bss 67624 67624 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 75368 75368 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 214674 214866 192 0.1
.text 2148306 2150354 2048 0.1
thermostat-no-ble arm64 (read only) 2352700 2354748 2048 0.1
(read/write) 150993 150993 0 0.0
.bss 63153 63153 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 78632 78632 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 368 368 0 0.0
.rodata 144668 144764 96 0.1
.text 1979456 1981408 1952 0.1
tv-app debug (read only) 2795649 2817905 22256 0.8
(read/write) 250680 250744 64 0.0
.bss 164104 164104 0 0.0
.data 4448 4448 0 0.0
.data.rel.ro 75912 75992 80 0.1
.dynamic 592 592 0 0.0
.got 4688 4688 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 213259 213963 704 0.3
.text 2401090 2422402 21312 0.9
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2368260 2368644 384 0.0
.bss 185236 185236 0 0.0
.data 5840 5840 0 0.0
.text 1330860 1331244 384 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155895 1156263 368 0.0
bss 135464 135464 0 0.0
rodata 146768 146768 0 0.0
text 794976 795348 372 0.0
p6 all-clusters-app default (read/write) 2514688 2515088 400 0.0
.bss 118640 118640 0 0.0
.data 2768 2768 0 0.0
.text 1472952 1473352 400 0.0
light-app default (read/write) 2415160 2415544 384 0.0
.bss 112136 112136 0 0.0
.data 2576 2576 0 0.0
.text 1373424 1373808 384 0.0
lock-app default (read/write) 2378712 2379112 400 0.0
.bss 111880 111880 0 0.0
.data 2536 2536 0 0.0
.text 1336976 1337376 400 0.0
telink lighting-app tlsr9518adk80d (read/write) 800992 801400 408 0.1
bss 69988 69988 0 0.0
noinit 40416 40416 0 0.0
text 569690 570098 408 0.1

@github-actions
Copy link

github-actions bot commented Apr 12, 2022

PR #16602: Size comparison from 3af5410 to 062ea42

Increases (20 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, mbed, nrfconnect, p6, telink)
platform target config section 3af5410 062ea42 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 640211 640579 368 0.1
.text 559556 559924 368 0.1
lock-mtd LP_CC2652R7 (read only) 588947 589323 376 0.1
.text 508412 508788 376 0.1
pump-app LP_CC2652R7 (read only) 648287 648655 368 0.1
.text 572448 572816 368 0.1
pump-controller-app LP_CC2652R7 (read only) 642267 642635 368 0.1
.text 562792 563160 368 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618818 619178 360 0.1
.app_xip_area 525528 525888 360 0.1
lock cyw930739m2evb_01 (read/write) 576414 576774 360 0.1
.app_xip_area 484660 485020 360 0.1
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564938 565298 360 0.1
.app_xip_area 463556 463916 360 0.1
efr32 lighting-app BRD4161A (read only) 907300 907700 400 0.0
.text 907292 907692 400 0.0
BRD4161A+rpc (read only) 941668 942068 400 0.0
.text 941660 942060 400 0.0
window-app BRD4161A (read only) 844292 844692 400 0.0
.text 844284 844684 400 0.0
esp32 all-clusters-app c3devkit (read only) 979702 980116 414 0.0
.flash.text 979702 980116 414 0.0
m5stack (read only) 1035283 1035687 404 0.0
.flash.text 1029899 1030303 404 0.0
k32w light k32w061+release (read/write) 687036 687388 352 0.1
.text 601072 601424 352 0.1
lock k32w061+release (read/write) 691652 692020 368 0.1
.text 605152 605520 368 0.1
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2368260 2368644 384 0.0
.text 1330860 1331244 384 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1156151 1156519 368 0.0
text 795236 795608 372 0.0
p6 all-clusters-app default (read/write) 2514704 2515104 400 0.0
.text 1472968 1473368 400 0.0
light-app default (read/write) 2415176 2415576 400 0.0
.text 1373440 1373840 400 0.0
lock-app default (read/write) 2378744 2379128 384 0.0
.text 1337008 1337392 384 0.0
telink lighting-app tlsr9518adk80d (read/write) 801264 801672 408 0.1
text 569958 570366 408 0.1
Full report (20 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, mbed, nrfconnect, p6, telink)
platform target config section 3af5410 062ea42 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 640211 640579 368 0.1
(read/write) 151212 151212 0 0.0
.bss 74144 74144 0 0.0
.data 3212 3212 0 0.0
.rodata 80163 80163 0 0.0
.text 559556 559924 368 0.1
lock-mtd LP_CC2652R7 (read only) 588947 589323 376 0.1
(read/write) 146932 146932 0 0.0
.bss 69864 69864 0 0.0
.data 3212 3212 0 0.0
.rodata 80043 80043 0 0.0
.text 508412 508788 376 0.1
pump-app LP_CC2652R7 (read only) 648287 648655 368 0.1
(read/write) 152508 152508 0 0.0
.bss 74640 74640 0 0.0
.data 3244 3244 0 0.0
.rodata 75351 75351 0 0.0
.text 572448 572816 368 0.1
pump-controller-app LP_CC2652R7 (read only) 642267 642635 368 0.1
(read/write) 152176 152176 0 0.0
.bss 74344 74344 0 0.0
.data 3208 3208 0 0.0
.rodata 78987 78987 0 0.0
.text 562792 563160 368 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618818 619178 360 0.1
.app_xip_area 525528 525888 360 0.1
.bss 75956 75956 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 576414 576774 360 0.1
.app_xip_area 484660 485020 360 0.1
.bss 74452 74452 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564938 565298 360 0.1
.app_xip_area 463556 463916 360 0.1
.bss 83784 83784 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 907300 907700 400 0.0
(read/write) 133080 133080 0 0.0
.bss 131040 131040 0 0.0
.data 2040 2040 0 0.0
.text 907292 907692 400 0.0
BRD4161A+rpc (read only) 941668 942068 400 0.0
(read/write) 149764 149764 0 0.0
.bss 147520 147520 0 0.0
.data 2244 2244 0 0.0
.text 941660 942060 400 0.0
window-app BRD4161A (read only) 844292 844692 400 0.0
(read/write) 131148 131148 0 0.0
.bss 129200 129200 0 0.0
.data 1948 1948 0 0.0
.text 844284 844684 400 0.0
esp32 all-clusters-app c3devkit (read only) 979702 980116 414 0.0
(read/write) 1397514 1397514 0 0.0
.dram0.bss 62624 62624 0 0.0
.dram0.data 14420 14420 0 0.0
.flash.rodata 201552 201552 0 0.0
.flash.text 979702 980116 414 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1035283 1035687 404 0.0
(read/write) 465252 465252 0 0.0
.dram0.bss 68144 68144 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231120 231120 0 0.0
.flash.text 1029899 1030303 404 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 687036 687388 352 0.1
.bss 78128 78128 0 0.0
.data 2036 2036 0 0.0
.text 601072 601424 352 0.1
lock k32w061+release (read/write) 691652 692020 368 0.1
.bss 78704 78704 0 0.0
.data 1996 1996 0 0.0
.text 605152 605520 368 0.1
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2368260 2368644 384 0.0
.bss 185236 185236 0 0.0
.data 5840 5840 0 0.0
.text 1330860 1331244 384 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1156151 1156519 368 0.0
bss 135464 135464 0 0.0
rodata 146768 146768 0 0.0
text 795236 795608 372 0.0
p6 all-clusters-app default (read/write) 2514704 2515104 400 0.0
.bss 118640 118640 0 0.0
.data 2768 2768 0 0.0
.text 1472968 1473368 400 0.0
light-app default (read/write) 2415176 2415576 400 0.0
.bss 112136 112136 0 0.0
.data 2576 2576 0 0.0
.text 1373440 1373840 400 0.0
lock-app default (read/write) 2378744 2379128 384 0.0
.bss 111880 111880 0 0.0
.data 2536 2536 0 0.0
.text 1337008 1337392 384 0.0
telink lighting-app tlsr9518adk80d (read/write) 801264 801672 408 0.1
bss 69988 69988 0 0.0
noinit 40416 40416 0 0.0
text 569958 570366 408 0.1

@github-actions
Copy link

github-actions bot commented Apr 13, 2022

PR #16602: Size comparison from 3af5410 to bc88894

Increases (20 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, mbed, nrfconnect, p6, telink)
platform target config section 3af5410 bc88894 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 640211 640547 336 0.1
.text 559556 559892 336 0.1
lock-mtd LP_CC2652R7 (read only) 588947 589283 336 0.1
.text 508412 508748 336 0.1
pump-app LP_CC2652R7 (read only) 648287 648623 336 0.1
.text 572448 572784 336 0.1
pump-controller-app LP_CC2652R7 (read only) 642267 642603 336 0.1
.text 562792 563128 336 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618818 619146 328 0.1
.app_xip_area 525528 525856 328 0.1
lock cyw930739m2evb_01 (read/write) 576414 576742 328 0.1
.app_xip_area 484660 484988 328 0.1
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564938 565266 328 0.1
.app_xip_area 463556 463884 328 0.1
efr32 lighting-app BRD4161A (read only) 907300 907652 352 0.0
.text 907292 907644 352 0.0
BRD4161A+rpc (read only) 941668 942020 352 0.0
.text 941660 942012 352 0.0
window-app BRD4161A (read only) 844292 844644 352 0.0
.text 844284 844636 352 0.0
esp32 all-clusters-app c3devkit (read only) 979702 980078 376 0.0
.flash.text 979702 980078 376 0.0
m5stack (read only) 1035283 1035631 348 0.0
.flash.text 1029899 1030247 348 0.0
k32w light k32w061+release (read/write) 687036 687356 320 0.0
.text 601072 601392 320 0.1
lock k32w061+release (read/write) 691652 691988 336 0.0
.text 605152 605488 336 0.1
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2368260 2368644 384 0.0
.text 1330860 1331244 384 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1156151 1156487 336 0.0
text 795236 795572 336 0.0
p6 all-clusters-app default (read/write) 2514704 2515056 352 0.0
.text 1472968 1473320 352 0.0
light-app default (read/write) 2415176 2415528 352 0.0
.text 1373440 1373792 352 0.0
lock-app default (read/write) 2378744 2379080 336 0.0
.text 1337008 1337344 336 0.0
telink lighting-app tlsr9518adk80d (read/write) 801264 801632 368 0.0
text 569958 570328 370 0.1
Full report (20 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, mbed, nrfconnect, p6, telink)
platform target config section 3af5410 bc88894 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 640211 640547 336 0.1
(read/write) 151212 151212 0 0.0
.bss 74144 74144 0 0.0
.data 3212 3212 0 0.0
.rodata 80163 80163 0 0.0
.text 559556 559892 336 0.1
lock-mtd LP_CC2652R7 (read only) 588947 589283 336 0.1
(read/write) 146932 146932 0 0.0
.bss 69864 69864 0 0.0
.data 3212 3212 0 0.0
.rodata 80043 80043 0 0.0
.text 508412 508748 336 0.1
pump-app LP_CC2652R7 (read only) 648287 648623 336 0.1
(read/write) 152508 152508 0 0.0
.bss 74640 74640 0 0.0
.data 3244 3244 0 0.0
.rodata 75351 75351 0 0.0
.text 572448 572784 336 0.1
pump-controller-app LP_CC2652R7 (read only) 642267 642603 336 0.1
(read/write) 152176 152176 0 0.0
.bss 74344 74344 0 0.0
.data 3208 3208 0 0.0
.rodata 78987 78987 0 0.0
.text 562792 563128 336 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618818 619146 328 0.1
.app_xip_area 525528 525856 328 0.1
.bss 75956 75956 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 576414 576742 328 0.1
.app_xip_area 484660 484988 328 0.1
.bss 74452 74452 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564938 565266 328 0.1
.app_xip_area 463556 463884 328 0.1
.bss 83784 83784 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 907300 907652 352 0.0
(read/write) 133080 133080 0 0.0
.bss 131040 131040 0 0.0
.data 2040 2040 0 0.0
.text 907292 907644 352 0.0
BRD4161A+rpc (read only) 941668 942020 352 0.0
(read/write) 149764 149764 0 0.0
.bss 147520 147520 0 0.0
.data 2244 2244 0 0.0
.text 941660 942012 352 0.0
window-app BRD4161A (read only) 844292 844644 352 0.0
(read/write) 131148 131148 0 0.0
.bss 129200 129200 0 0.0
.data 1948 1948 0 0.0
.text 844284 844636 352 0.0
esp32 all-clusters-app c3devkit (read only) 979702 980078 376 0.0
(read/write) 1397514 1397514 0 0.0
.dram0.bss 62624 62624 0 0.0
.dram0.data 14420 14420 0 0.0
.flash.rodata 201552 201552 0 0.0
.flash.text 979702 980078 376 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1035283 1035631 348 0.0
(read/write) 465252 465252 0 0.0
.dram0.bss 68144 68144 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231120 231120 0 0.0
.flash.text 1029899 1030247 348 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 687036 687356 320 0.0
.bss 78128 78128 0 0.0
.data 2036 2036 0 0.0
.text 601072 601392 320 0.1
lock k32w061+release (read/write) 691652 691988 336 0.0
.bss 78704 78704 0 0.0
.data 1996 1996 0 0.0
.text 605152 605488 336 0.1
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2368260 2368644 384 0.0
.bss 185236 185236 0 0.0
.data 5840 5840 0 0.0
.text 1330860 1331244 384 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1156151 1156487 336 0.0
bss 135464 135464 0 0.0
rodata 146768 146768 0 0.0
text 795236 795572 336 0.0
p6 all-clusters-app default (read/write) 2514704 2515056 352 0.0
.bss 118640 118640 0 0.0
.data 2768 2768 0 0.0
.text 1472968 1473320 352 0.0
light-app default (read/write) 2415176 2415528 352 0.0
.bss 112136 112136 0 0.0
.data 2576 2576 0 0.0
.text 1373440 1373792 352 0.0
lock-app default (read/write) 2378744 2379080 336 0.0
.bss 111880 111880 0 0.0
.data 2536 2536 0 0.0
.text 1337008 1337344 336 0.0
telink lighting-app tlsr9518adk80d (read/write) 801264 801632 368 0.0
bss 69988 69988 0 0.0
noinit 40416 40416 0 0.0
text 569958 570328 370 0.1

src/app/AttributeCache.cpp Show resolved Hide resolved
src/app/AttributeCache.h Outdated Show resolved Hide resolved
…Read/Subscribe requests

Move DataVersionFilter encoding to the end of read/subscribe request followwing the spec

either using external version filters or using cached data versions if cache is available
@github-actions
Copy link

github-actions bot commented Apr 13, 2022

PR #16602: Size comparison from 184bda1 to 6159605

Increases above 0.2%:

platform target config section 184bda1 6159605 change % change
linux chip-tool debug (read only) 10683941 10708077 24136 0.2
.text 9315669 9336965 21296 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 10283492 10309508 26016 0.3
.text 8667044 8690660 23616 0.3
tv-app debug (read only) 2797265 2819337 22072 0.8
.rodata 213259 213963 704 0.3
.text 2402706 2423954 21248 0.9
Increases (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 184bda1 6159605 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 640435 640771 336 0.1
.text 559716 560052 336 0.1
lock-mtd LP_CC2652R7 (read only) 589171 589507 336 0.1
.text 508572 508908 336 0.1
pump-app LP_CC2652R7 (read only) 648527 648863 336 0.1
.text 572624 572960 336 0.1
pump-controller-app LP_CC2652R7 (read only) 642499 642835 336 0.1
.text 562960 563296 336 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 619042 619370 328 0.1
.app_xip_area 525752 526080 328 0.1
lock cyw930739m2evb_01 (read/write) 576646 576974 328 0.1
.app_xip_area 484892 485220 328 0.1
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 565170 565498 328 0.1
.app_xip_area 463788 464116 328 0.1
efr32 lighting-app BRD4161A (read only) 907716 908068 352 0.0
.text 907708 908060 352 0.0
BRD4161A+rpc (read only) 942084 942436 352 0.0
.text 942076 942428 352 0.0
window-app BRD4161A (read only) 844708 845060 352 0.0
.text 844700 845052 352 0.0
esp32 all-clusters-app c3devkit (read only) 979972 980348 376 0.0
.flash.text 979972 980348 376 0.0
m5stack (read only) 1035459 1035807 348 0.0
.flash.text 1030075 1030423 348 0.0
k32w light k32w061+release (read/write) 687260 687580 320 0.0
.text 601296 601616 320 0.1
lock k32w061+release (read/write) 691892 692212 320 0.0
.text 605392 605712 320 0.1
linux all-clusters-app debug (read only) 2697969 2700145 2176 0.1
.rodata 232421 232613 192 0.1
.text 2291554 2293538 1984 0.1
bridge-app debug+rpc (read only) 1837581 1839757 2176 0.1
.rodata 148505 148697 192 0.1
.text 1570645 1572629 1984 0.1
chip-tool debug (read only) 10683941 10708077 24136 0.2
(read/write) 371832 372504 672 0.2
.data.rel.ro 341728 342408 680 0.2
.rodata 538965 539765 800 0.1
.text 9315669 9336965 21296 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 10283492 10309508 26016 0.3
(read/write) 492273 492977 704 0.1
.data.rel.ro 388840 389544 704 0.2
.rodata 513028 513364 336 0.1
.text 8667044 8690660 23616 0.3
door-lock-app debug (read only) 2108929 2111121 2192 0.1
.rodata 186697 186889 192 0.1
.text 1766530 1768530 2000 0.1
lighting-app debug+rpc (read only) 2313769 2315929 2160 0.1
.rodata 182665 182825 160 0.1
.text 1965266 1967266 2000 0.1
ota-provider-app debug (read only) 2046145 2048353 2208 0.1
.rodata 172515 172739 224 0.1
.text 1717442 1719426 1984 0.1
ota-requestor-app debug (read only) 2076521 2078713 2192 0.1
.rodata 169388 169580 192 0.1
.text 1749074 1751074 2000 0.1
shell debug (read only) 2525825 2528001 2176 0.1
.rodata 214738 214930 192 0.1
.text 2149922 2151906 1984 0.1
thermostat-no-ble arm64 (read only) 2353620 2355604 1984 0.1
.rodata 144548 144644 96 0.1
.text 1980496 1982384 1888 0.1
tv-app debug (read only) 2797265 2819337 22072 0.8
(read/write) 250784 250848 64 0.0
.data.rel.ro 76008 76072 64 0.1
.rodata 213259 213963 704 0.3
.text 2402706 2423954 21248 0.9
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2368516 2368836 320 0.0
.text 1331116 1331436 320 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1163459 1163795 336 0.0
text 800940 801276 336 0.0
p6 all-clusters-app default (read/write) 2515120 2515472 352 0.0
.text 1473384 1473736 352 0.0
light-app default (read/write) 2415592 2415944 352 0.0
.text 1373856 1374208 352 0.0
lock-app default (read/write) 2379160 2379496 336 0.0
.text 1337424 1337760 336 0.0
telink lighting-app tlsr9518adk80d (read/write) 801516 801892 376 0.0
text 570132 570502 370 0.1
Full report (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 184bda1 6159605 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 640435 640771 336 0.1
(read/write) 151212 151212 0 0.0
.bss 74144 74144 0 0.0
.data 3212 3212 0 0.0
.rodata 80227 80227 0 0.0
.text 559716 560052 336 0.1
lock-mtd LP_CC2652R7 (read only) 589171 589507 336 0.1
(read/write) 146932 146932 0 0.0
.bss 69864 69864 0 0.0
.data 3212 3212 0 0.0
.rodata 80107 80107 0 0.0
.text 508572 508908 336 0.1
pump-app LP_CC2652R7 (read only) 648527 648863 336 0.1
(read/write) 152508 152508 0 0.0
.bss 74640 74640 0 0.0
.data 3244 3244 0 0.0
.rodata 75415 75415 0 0.0
.text 572624 572960 336 0.1
pump-controller-app LP_CC2652R7 (read only) 642499 642835 336 0.1
(read/write) 152176 152176 0 0.0
.bss 74344 74344 0 0.0
.data 3208 3208 0 0.0
.rodata 79051 79051 0 0.0
.text 562960 563296 336 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 619042 619370 328 0.1
.app_xip_area 525752 526080 328 0.1
.bss 75956 75956 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 576646 576974 328 0.1
.app_xip_area 484892 485220 328 0.1
.bss 74452 74452 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 565170 565498 328 0.1
.app_xip_area 463788 464116 328 0.1
.bss 83784 83784 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 907716 908068 352 0.0
(read/write) 133080 133080 0 0.0
.bss 131040 131040 0 0.0
.data 2040 2040 0 0.0
.text 907708 908060 352 0.0
BRD4161A+rpc (read only) 942084 942436 352 0.0
(read/write) 149764 149764 0 0.0
.bss 147520 147520 0 0.0
.data 2244 2244 0 0.0
.text 942076 942428 352 0.0
window-app BRD4161A (read only) 844708 845060 352 0.0
(read/write) 131148 131148 0 0.0
.bss 129200 129200 0 0.0
.data 1948 1948 0 0.0
.text 844700 845052 352 0.0
esp32 all-clusters-app c3devkit (read only) 979972 980348 376 0.0
(read/write) 1397578 1397578 0 0.0
.dram0.bss 62624 62624 0 0.0
.dram0.data 14420 14420 0 0.0
.flash.rodata 201616 201616 0 0.0
.flash.text 979972 980348 376 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1035459 1035807 348 0.0
(read/write) 465316 465316 0 0.0
.dram0.bss 68144 68144 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231184 231184 0 0.0
.flash.text 1030075 1030423 348 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 687260 687580 320 0.0
.bss 78128 78128 0 0.0
.data 2036 2036 0 0.0
.text 601296 601616 320 0.1
lock k32w061+release (read/write) 691892 692212 320 0.0
.bss 78704 78704 0 0.0
.data 1996 1996 0 0.0
.text 605392 605712 320 0.1
linux all-clusters-app debug (read only) 2697969 2700145 2176 0.1
(read/write) 149216 149216 0 0.0
.bss 60192 60192 0 0.0
.data 1888 1888 0 0.0
.data.rel.ro 81080 81080 0 0.0
.dynamic 608 608 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 984 984 0 0.0
.rodata 232421 232613 192 0.1
.text 2291554 2293538 1984 0.1
bridge-app debug+rpc (read only) 1837581 1839757 2176 0.1
(read/write) 91856 91856 0 0.0
.bss 44480 44480 0 0.0
.data 2912 2912 0 0.0
.data.rel.ro 39376 39376 0 0.0
.dynamic 592 592 0 0.0
.got 3936 3936 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 148505 148697 192 0.1
.text 1570645 1572629 1984 0.1
chip-tool debug (read only) 10683941 10708077 24136 0.2
(read/write) 371832 372504 672 0.2
.bss 22752 22752 0 0.0
.data 1104 1104 0 0.0
.data.rel.ro 341728 342408 680 0.2
.dynamic 624 624 0 0.0
.got 4936 4936 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 538965 539765 800 0.1
.text 9315669 9336965 21296 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 10283492 10309508 26016 0.3
(read/write) 492273 492977 704 0.1
.bss 41025 41025 0 0.0
.data 1168 1168 0 0.0
.data.rel.ro 388840 389544 704 0.2
.dynamic 560 560 0 0.0
.got 57440 57440 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 513028 513364 336 0.1
.text 8667044 8690660 23616 0.3
door-lock-app debug (read only) 2108929 2111121 2192 0.1
(read/write) 119600 119600 0 0.0
.bss 48064 48064 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 64504 64504 0 0.0
.dynamic 592 592 0 0.0
.got 4264 4264 0 0.0
.init 27 27 0 0.0
.init_array 680 680 0 0.0
.rodata 186697 186889 192 0.1
.text 1766530 1768530 2000 0.1
lighting-app debug+rpc (read only) 2313769 2315929 2160 0.1
(read/write) 127920 127920 0 0.0
.bss 50272 50272 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 69992 69992 0 0.0
.dynamic 608 608 0 0.0
.got 4312 4312 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 182665 182825 160 0.1
.text 1965266 1967266 2000 0.1
ota-provider-app debug (read only) 2046145 2048353 2208 0.1
(read/write) 115040 115040 0 0.0
.bss 47968 47968 0 0.0
.data 1608 1608 0 0.0
.data.rel.ro 59720 59720 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 172515 172739 224 0.1
.text 1717442 1719426 1984 0.1
ota-requestor-app debug (read only) 2076521 2078713 2192 0.1
(read/write) 118392 118392 0 0.0
.bss 48960 48960 0 0.0
.data 1864 1864 0 0.0
.data.rel.ro 61960 61960 0 0.0
.dynamic 592 592 0 0.0
.got 4304 4304 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 169388 169580 192 0.1
.text 1749074 1751074 2000 0.1
shell debug (read only) 2525825 2528001 2176 0.1
(read/write) 150064 150064 0 0.0
.bss 67624 67624 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 75464 75464 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 214738 214930 192 0.1
.text 2149922 2151906 1984 0.1
thermostat-no-ble arm64 (read only) 2353620 2355604 1984 0.1
(read/write) 151121 151121 0 0.0
.bss 63153 63153 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 78752 78752 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 368 368 0 0.0
.rodata 144548 144644 96 0.1
.text 1980496 1982384 1888 0.1
tv-app debug (read only) 2797265 2819337 22072 0.8
(read/write) 250784 250848 64 0.0
.bss 164112 164112 0 0.0
.data 4448 4448 0 0.0
.data.rel.ro 76008 76072 64 0.1
.dynamic 592 592 0 0.0
.got 4688 4688 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 213259 213963 704 0.3
.text 2402706 2423954 21248 0.9
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2368516 2368836 320 0.0
.bss 185236 185236 0 0.0
.data 5840 5840 0 0.0
.text 1331116 1331436 320 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1163459 1163795 336 0.0
bss 136528 136528 0 0.0
rodata 147364 147364 0 0.0
text 800940 801276 336 0.0
p6 all-clusters-app default (read/write) 2515120 2515472 352 0.0
.bss 118640 118640 0 0.0
.data 2768 2768 0 0.0
.text 1473384 1473736 352 0.0
light-app default (read/write) 2415592 2415944 352 0.0
.bss 112136 112136 0 0.0
.data 2576 2576 0 0.0
.text 1373856 1374208 352 0.0
lock-app default (read/write) 2379160 2379496 336 0.0
.bss 111880 111880 0 0.0
.data 2536 2536 0 0.0
.text 1337424 1337760 336 0.0
telink lighting-app tlsr9518adk80d (read/write) 801516 801892 376 0.0
bss 69988 69988 0 0.0
noinit 40416 40416 0 0.0
text 570132 570502 370 0.1

@github-actions
Copy link

github-actions bot commented Apr 13, 2022

PR #16602: Size comparison from e70cc69 to ff29870

Increases above 0.2%:

platform target config section e70cc69 ff29870 change % change
linux chip-tool debug (read only) 10684389 10708525 24136 0.2
.text 9315989 9337285 21296 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 10283860 10309892 26032 0.3
.text 8667300 8690932 23632 0.3
tv-app debug (read only) 2797569 2819641 22072 0.8
.rodata 213323 214027 704 0.3
.text 2402946 2424194 21248 0.9
Increases (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section e70cc69 ff29870 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 640303 640639 336 0.1
.text 559684 560020 336 0.1
lock-mtd LP_CC2652R7 (read only) 589039 589375 336 0.1
.text 508540 508876 336 0.1
pump-app LP_CC2652R7 (read only) 648403 648739 336 0.1
.text 572552 572888 336 0.1
pump-controller-app LP_CC2652R7 (read only) 642351 642687 336 0.1
.text 562912 563248 336 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618950 619278 328 0.1
.app_xip_area 525652 525980 328 0.1
lock cyw930739m2evb_01 (read/write) 576542 576870 328 0.1
.app_xip_area 484780 485108 328 0.1
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 565146 565474 328 0.1
.app_xip_area 463756 464084 328 0.1
efr32 lighting-app BRD4161A (read only) 907972 908324 352 0.0
.text 907964 908316 352 0.0
BRD4161A+rpc (read only) 942348 942700 352 0.0
.text 942340 942692 352 0.0
window-app BRD4161A (read only) 844628 844964 336 0.0
.text 844620 844956 336 0.0
esp32 all-clusters-app c3devkit (read only) 979980 980356 376 0.0
.flash.text 979980 980356 376 0.0
m5stack (read only) 1035487 1035835 348 0.0
.flash.text 1030103 1030451 348 0.0
k32w light k32w061+release (read/write) 687212 687548 336 0.0
.text 601240 601576 336 0.1
lock k32w061+release (read/write) 691800 692136 336 0.0
.text 605292 605628 336 0.1
linux all-clusters-app debug (read only) 2697873 2700049 2176 0.1
.rodata 232421 232613 192 0.1
.text 2291458 2293442 1984 0.1
bridge-app debug+rpc (read only) 1837597 1839789 2192 0.1
.rodata 148505 148697 192 0.1
.text 1570661 1572661 2000 0.1
chip-tool debug (read only) 10684389 10708525 24136 0.2
(read/write) 371832 372504 672 0.2
.data.rel.ro 341728 342408 680 0.2
.rodata 539093 539893 800 0.1
.text 9315989 9337285 21296 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 10283860 10309892 26032 0.3
(read/write) 492273 492977 704 0.1
.data.rel.ro 388840 389544 704 0.2
.rodata 513140 513476 336 0.1
.text 8667300 8690932 23632 0.3
door-lock-app debug (read only) 2108849 2111025 2176 0.1
.rodata 186697 186889 192 0.1
.text 1766450 1768434 1984 0.1
lighting-app debug+rpc (read only) 2313385 2315529 2144 0.1
.rodata 182601 182761 160 0.1
.text 1964946 1966930 1984 0.1
ota-provider-app debug (read only) 2046009 2048217 2208 0.1
.rodata 172547 172771 224 0.1
.text 1717250 1719234 1984 0.1
ota-requestor-app debug (read only) 2076441 2078617 2176 0.1
.rodata 169388 169580 192 0.1
.text 1748994 1750978 1984 0.1
shell debug (read only) 2525745 2527921 2176 0.1
.rodata 214738 214930 192 0.1
.text 2149842 2151826 1984 0.1
thermostat-no-ble arm64 (read only) 2353508 2355492 1984 0.1
.rodata 144548 144644 96 0.1
.text 1980384 1982272 1888 0.1
tv-app debug (read only) 2797569 2819641 22072 0.8
(read/write) 250784 250848 64 0.0
.data.rel.ro 76008 76072 64 0.1
.rodata 213323 214027 704 0.3
.text 2402946 2424194 21248 0.9
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2369476 2369796 320 0.0
.text 1332076 1332396 320 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1163347 1163683 336 0.0
text 800924 801260 336 0.0
p6 all-clusters-app default (read/write) 2515200 2515552 352 0.0
.text 1473464 1473816 352 0.0
light-app default (read/write) 2415656 2415992 336 0.0
.text 1373920 1374256 336 0.0
lock-app default (read/write) 2379224 2379560 336 0.0
.text 1337488 1337824 336 0.0
telink lighting-app tlsr9518adk80d (read/write) 801368 801736 368 0.0
text 570074 570444 370 0.1
Full report (31 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section e70cc69 ff29870 change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 640303 640639 336 0.1
(read/write) 151220 151220 0 0.0
.bss 74152 74152 0 0.0
.data 3212 3212 0 0.0
.rodata 80127 80127 0 0.0
.text 559684 560020 336 0.1
lock-mtd LP_CC2652R7 (read only) 589039 589375 336 0.1
(read/write) 146940 146940 0 0.0
.bss 69872 69872 0 0.0
.data 3212 3212 0 0.0
.rodata 80007 80007 0 0.0
.text 508540 508876 336 0.1
pump-app LP_CC2652R7 (read only) 648403 648739 336 0.1
(read/write) 152516 152516 0 0.0
.bss 74648 74648 0 0.0
.data 3244 3244 0 0.0
.rodata 75363 75363 0 0.0
.text 572552 572888 336 0.1
pump-controller-app LP_CC2652R7 (read only) 642351 642687 336 0.1
(read/write) 152184 152184 0 0.0
.bss 74352 74352 0 0.0
.data 3208 3208 0 0.0
.rodata 78951 78951 0 0.0
.text 562912 563248 336 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 618950 619278 328 0.1
.app_xip_area 525652 525980 328 0.1
.bss 75964 75964 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 576542 576870 328 0.1
.app_xip_area 484780 485108 328 0.1
.bss 74460 74460 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 565146 565474 328 0.1
.app_xip_area 463756 464084 328 0.1
.bss 83792 83792 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 907972 908324 352 0.0
(read/write) 133152 133152 0 0.0
.bss 131112 131112 0 0.0
.data 2040 2040 0 0.0
.text 907964 908316 352 0.0
BRD4161A+rpc (read only) 942348 942700 352 0.0
(read/write) 149836 149836 0 0.0
.bss 147592 147592 0 0.0
.data 2244 2244 0 0.0
.text 942340 942692 352 0.0
window-app BRD4161A (read only) 844628 844964 336 0.0
(read/write) 131156 131156 0 0.0
.bss 129208 129208 0 0.0
.data 1948 1948 0 0.0
.text 844620 844956 336 0.0
esp32 all-clusters-app c3devkit (read only) 979980 980356 376 0.0
(read/write) 1397594 1397594 0 0.0
.dram0.bss 62632 62632 0 0.0
.dram0.data 14420 14420 0 0.0
.flash.rodata 201616 201616 0 0.0
.flash.text 979980 980356 376 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1035487 1035835 348 0.0
(read/write) 465324 465324 0 0.0
.dram0.bss 68152 68152 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231184 231184 0 0.0
.flash.text 1030103 1030451 348 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 687212 687548 336 0.0
.bss 78136 78136 0 0.0
.data 2036 2036 0 0.0
.text 601240 601576 336 0.1
lock k32w061+release (read/write) 691800 692136 336 0.0
.bss 78712 78712 0 0.0
.data 1996 1996 0 0.0
.text 605292 605628 336 0.1
linux all-clusters-app debug (read only) 2697873 2700049 2176 0.1
(read/write) 149248 149248 0 0.0
.bss 60224 60224 0 0.0
.data 1888 1888 0 0.0
.data.rel.ro 81080 81080 0 0.0
.dynamic 608 608 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 984 984 0 0.0
.rodata 232421 232613 192 0.1
.text 2291458 2293442 1984 0.1
bridge-app debug+rpc (read only) 1837597 1839789 2192 0.1
(read/write) 91856 91856 0 0.0
.bss 44480 44480 0 0.0
.data 2912 2912 0 0.0
.data.rel.ro 39376 39376 0 0.0
.dynamic 592 592 0 0.0
.got 3936 3936 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 148505 148697 192 0.1
.text 1570661 1572661 2000 0.1
chip-tool debug (read only) 10684389 10708525 24136 0.2
(read/write) 371832 372504 672 0.2
.bss 22752 22752 0 0.0
.data 1104 1104 0 0.0
.data.rel.ro 341728 342408 680 0.2
.dynamic 624 624 0 0.0
.got 4936 4936 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 539093 539893 800 0.1
.text 9315989 9337285 21296 0.2
chip-tool-no-interactive-ipv6only arm64 (read only) 10283860 10309892 26032 0.3
(read/write) 492273 492977 704 0.1
.bss 41025 41025 0 0.0
.data 1168 1168 0 0.0
.data.rel.ro 388840 389544 704 0.2
.dynamic 560 560 0 0.0
.got 57440 57440 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 513140 513476 336 0.1
.text 8667300 8690932 23632 0.3
door-lock-app debug (read only) 2108849 2111025 2176 0.1
(read/write) 119600 119600 0 0.0
.bss 48064 48064 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 64504 64504 0 0.0
.dynamic 592 592 0 0.0
.got 4264 4264 0 0.0
.init 27 27 0 0.0
.init_array 680 680 0 0.0
.rodata 186697 186889 192 0.1
.text 1766450 1768434 1984 0.1
lighting-app debug+rpc (read only) 2313385 2315529 2144 0.1
(read/write) 127952 127952 0 0.0
.bss 50304 50304 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 69992 69992 0 0.0
.dynamic 608 608 0 0.0
.got 4312 4312 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 182601 182761 160 0.1
.text 1964946 1966930 1984 0.1
ota-provider-app debug (read only) 2046009 2048217 2208 0.1
(read/write) 115296 115296 0 0.0
.bss 48224 48224 0 0.0
.data 1608 1608 0 0.0
.data.rel.ro 59720 59720 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 172547 172771 224 0.1
.text 1717250 1719234 1984 0.1
ota-requestor-app debug (read only) 2076441 2078617 2176 0.1
(read/write) 118392 118392 0 0.0
.bss 48960 48960 0 0.0
.data 1864 1864 0 0.0
.data.rel.ro 61960 61960 0 0.0
.dynamic 592 592 0 0.0
.got 4304 4304 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 169388 169580 192 0.1
.text 1748994 1750978 1984 0.1
shell debug (read only) 2525745 2527921 2176 0.1
(read/write) 150064 150064 0 0.0
.bss 67624 67624 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 75464 75464 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 214738 214930 192 0.1
.text 2149842 2151826 1984 0.1
thermostat-no-ble arm64 (read only) 2353508 2355492 1984 0.1
(read/write) 151137 151137 0 0.0
.bss 63169 63169 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 78752 78752 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 368 368 0 0.0
.rodata 144548 144644 96 0.1
.text 1980384 1982272 1888 0.1
tv-app debug (read only) 2797569 2819641 22072 0.8
(read/write) 250784 250848 64 0.0
.bss 164112 164112 0 0.0
.data 4448 4448 0 0.0
.data.rel.ro 76008 76072 64 0.1
.dynamic 592 592 0 0.0
.got 4688 4688 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 213323 214027 704 0.3
.text 2402946 2424194 21248 0.9
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2369476 2369796 320 0.0
.bss 185244 185244 0 0.0
.data 5840 5840 0 0.0
.text 1332076 1332396 320 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1163347 1163683 336 0.0
bss 136536 136536 0 0.0
rodata 147268 147268 0 0.0
text 800924 801260 336 0.0
p6 all-clusters-app default (read/write) 2515200 2515552 352 0.0
.bss 118648 118648 0 0.0
.data 2768 2768 0 0.0
.text 1473464 1473816 352 0.0
light-app default (read/write) 2415656 2415992 336 0.0
.bss 112144 112144 0 0.0
.data 2576 2576 0 0.0
.text 1373920 1374256 336 0.0
lock-app default (read/write) 2379224 2379560 336 0.0
.bss 111888 111888 0 0.0
.data 2536 2536 0 0.0
.text 1337488 1337824 336 0.0
telink lighting-app tlsr9518adk80d (read/write) 801368 801736 368 0.0
bss 69996 69996 0 0.0
noinit 40416 40416 0 0.0
text 570074 570444 370 0.1

@mrjerryjohns mrjerryjohns merged commit 57a2df3 into project-chip:master Apr 14, 2022
@plan44
Copy link
Contributor

plan44 commented Jun 28, 2022

(I hope this is the right place to ask, please apologize/redirect if not)

I found this commit breaks ReadRequestMessage protocol compatibility across April 14th, as it changes the context-specific tag numbers, see diff below.

Of course I understand this is all in development, so it might be an non-issue - if so, please apologize me asking.

My question - as the protocol break is nowhere mentioned in the PR - is: is this really an intentional change?

It means that builds before and after April 14 are fundamentally incompatible. If this was an adaption to bring code in alignment with specs, I'd guess that would have been mentioned in the commit (I do not have access to the latest specs, but the tag order before this PR did conform to an earlier version).

I debugged down to this while trying to get one of the linux examples pair with the Home.app on iPad. Apparently the current iOS versions, including latest betas, still use a version before this change, so any read request to and from builds after this PR fail with InvalidAction.

diff --git a/src/app/MessageDef/ReadRequestMessage.h b/src/app/MessageDef/ReadRequestMessage.h
index 07e46d910..8e1465618 100644
--- a/src/app/MessageDef/ReadRequestMessage.h
+++ b/src/app/MessageDef/ReadRequestMessage.h
@@ -36,10 +36,10 @@ namespace ReadRequestMessage {
 enum class Tag : uint8_t
 {
     kAttributeRequests  = 0,
-    kDataVersionFilters = 1,
-    kEventRequests      = 2,
-    kEventFilters       = 3,
-    kIsFabricFiltered   = 4,
+    kEventRequests      = 1,
+    kEventFilters       = 2,
+    kIsFabricFiltered   = 3,
+    kDataVersionFilters = 4,
 };
 
 class Parser : public MessageParser

@bzbarsky-apple
Copy link
Contributor

@plan44 The spec used to not define which tag DataVersionFilters was at all. That was fixed in https://github.com/CHIP-Specifications/connectedhomeip-spec/issues/4284 and then the SDK was aligned with the spec.

@plan44
Copy link
Contributor

plan44 commented Jun 28, 2022

thank you very much for the explanation!

It's not so easy to work with an Open SDK and a closed spec - a small single person company like mine can't afford a csaiot membership just for doing a PoC. Scaling up the 7k yearly fee from mine to Apple's revenue, Apple would have to pay around 10 billion $ ;-)

@bzbarsky-apple
Copy link
Contributor

@plan44 Yes, I totally understand your pain....

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.

AttributeCache should cache data versions and use them in subsequent Read/Subscribe requests
5 participants