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

[IM] Calculate interaction model timeout accoring to RMP timeouts #18744

Merged
merged 6 commits into from
Jun 2, 2022

Conversation

erjiaqing
Copy link
Contributor

Problem

Fixed #16797

Change overview

  • Remove kImMessageTimeout
  • Add kExpectedIMProcessingTime
  • Add InteractionModelTimeoutForSession

Testing

Testing steps:

  • Pair the device first, open a thread sniffer
  • Once the sniffer shows a "data request" packet, send a im message
  • The original im will fail since 12 seconds is too short for the sleepy device.

@github-actions
Copy link

github-actions bot commented May 24, 2022

PR #18744: Size comparison from 352333a to 39f06d5

Increases (35 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 352333a 39f06d5 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 669447 669719 272 0.0
.text 568440 568736 296 0.1
lock-ftd LP_CC2652R7 (read only) 676199 676471 272 0.0
.text 581036 581332 296 0.1
lock-mtd LP_CC2652R7 (read only) 625607 625887 280 0.0
.text 530556 530860 304 0.1
pump-app LP_CC2652R7 (read only) 676075 676347 272 0.0
.text 586692 586988 296 0.1
pump-controller-app LP_CC2652R7 (read only) 654035 654307 272 0.0
.text 569880 570176 296 0.1
shell LP_CC2652R7 (read only) 662470 662742 272 0.0
.text 564492 564788 296 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 624630 624902 272 0.0
.app_xip_area 527908 528180 272 0.1
lock cyw930739m2evb_01 (read/write) 627298 627570 272 0.0
.app_xip_area 532048 532320 272 0.1
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 571066 571354 288 0.1
.app_xip_area 466132 466420 288 0.1
efr32 lighting-app BRD4161A (read only) 916036 916756 720 0.1
.text 916028 916748 720 0.1
BRD4161A+rpc (read only) 950224 950944 720 0.1
.text 950216 950936 720 0.1
BRD4161A+rs911x (read only) 790596 791308 712 0.1
.text 790588 791300 712 0.1
lock-app BRD4161A+wf200 (read only) 947048 947312 264 0.0
.text 947040 947304 264 0.0
window-app BRD4161A (read only) 897244 897940 696 0.1
.text 897236 897932 696 0.1
esp32 all-clusters-app c3devkit (read only) 1002992 1003300 308 0.0
.flash.text 1002992 1003300 308 0.0
m5stack (read only) 1057795 1058039 244 0.0
.flash.text 1052411 1052655 244 0.0
k32w light k32w061+release (read/write) 682968 683232 264 0.0
.text 598816 599080 264 0.0
lock k32w061+release (read/write) 728996 729260 264 0.0
.text 644460 644724 264 0.0
linux chip-tool-no-interactive-ipv6only arm64 (read only) 9234132 9236940 2808 0.0
.text 7322180 7325012 2832 0.0
thermostat-no-ble arm64 (read only) 2357644 2358212 568 0.0
.text 1981024 1981600 576 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2419208 2419504 296 0.0
.text 1381852 1382148 296 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1184523 1184787 264 0.0
text 812436 812728 292 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1151795 1152059 264 0.0
text 808452 808744 292 0.0
nrf52840dk_nrf52840+rpc (read/write) 1116067 1116331 264 0.0
text 780892 781184 292 0.0
nrf52840dongle_nrf52840 (read/write) 1059427 1059691 264 0.0
text 736872 737164 292 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1054170 1054434 264 0.0
text 718548 718836 288 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1094955 1095219 264 0.0
text 748764 749056 292 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 997658 997922 264 0.0
text 659004 659292 288 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1074679 1074943 264 0.0
text 745408 745700 292 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1054399 1054663 264 0.0
text 729832 730124 292 0.0
p6 all-clusters-app default (read/write) 2541288 2542000 712 0.0
.text 1499552 1500264 712 0.0
light-app default (read/write) 2424616 2425312 696 0.0
.text 1382880 1383576 696 0.1
lock-app default (read/write) 2435176 2435888 712 0.0
.text 1393440 1394152 712 0.1
telink light-switch-app tlsr9518adk80d (read/write) 782860 783164 304 0.0
text 553468 553794 326 0.1
lighting-app tlsr9518adk80d (read/write) 802884 803180 296 0.0
text 570202 570528 326 0.1
Decreases (19 builds for cc13x2_26x2, esp32, linux, nrfconnect)
platform target config section 352333a 39f06d5 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 182408 182136 -272 -0.1
.rodata 100783 100759 -24 -0.0
lock-ftd LP_CC2652R7 (read/write) 166648 166376 -272 -0.2
.rodata 94679 94655 -24 -0.0
lock-mtd LP_CC2652R7 .rodata 94559 94535 -24 -0.0
pump-app LP_CC2652R7 (read/write) 168196 167924 -272 -0.2
.rodata 88899 88875 -24 -0.0
pump-controller-app LP_CC2652R7 (read/write) 189836 189564 -272 -0.1
.rodata 83675 83651 -24 -0.0
shell LP_CC2652R7 (read/write) 184944 184672 -272 -0.1
.rodata 97750 97726 -24 -0.0
esp32 all-clusters-app c3devkit (read/write) 1479978 1479962 -16 -0.0
.dram0.data 14624 14600 -24 -0.2
m5stack (read/write) 481992 481968 -24 -0.0
.flash.rodata 240884 240860 -24 -0.0
linux chip-tool-no-interactive-ipv6only arm64 .rodata 448564 448540 -24 -0.0
thermostat-no-ble arm64 .rodata 147596 147588 -8 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 rodata 153684 153660 -24 -0.0
lighting-app nrf52840dk_nrf52840 rodata 122412 122388 -24 -0.0
nrf52840dk_nrf52840+rpc rodata 113540 113516 -24 -0.0
nrf52840dongle_nrf52840 rodata 92220 92196 -24 -0.0
nrf5340dk_nrf5340_cpuapp rodata 115168 115144 -24 -0.0
lock-app nrf52840dk_nrf52840 rodata 135468 135444 -24 -0.0
nrf5340dk_nrf5340_cpuapp rodata 128272 128248 -24 -0.0
pump-app nrf52840dk_nrf52840 rodata 118208 118184 -24 -0.0
pump-controller-app nrf52840dk_nrf52840 rodata 113928 113904 -24 -0.0
Full report (35 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 352333a 39f06d5 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 669447 669719 272 0.0
(read/write) 182408 182136 -272 -0.1
.bss 74836 74836 0 0.0
.data 3404 3404 0 0.0
.rodata 100783 100759 -24 -0.0
.text 568440 568736 296 0.1
lock-ftd LP_CC2652R7 (read only) 676199 676471 272 0.0
(read/write) 166648 166376 -272 -0.2
.bss 72884 72884 0 0.0
.data 3236 3236 0 0.0
.rodata 94679 94655 -24 -0.0
.text 581036 581332 296 0.1
lock-mtd LP_CC2652R7 (read only) 625607 625887 280 0.0
(read/write) 145716 145716 0 0.0
.bss 68620 68620 0 0.0
.data 3236 3236 0 0.0
.rodata 94559 94535 -24 -0.0
.text 530556 530860 304 0.1
pump-app LP_CC2652R7 (read only) 676075 676347 272 0.0
(read/write) 168196 167924 -272 -0.2
.bss 73284 73284 0 0.0
.data 3272 3272 0 0.0
.rodata 88899 88875 -24 -0.0
.text 586692 586988 296 0.1
pump-controller-app LP_CC2652R7 (read only) 654035 654307 272 0.0
(read/write) 189836 189564 -272 -0.1
.bss 73140 73140 0 0.0
.data 3232 3232 0 0.0
.rodata 83675 83651 -24 -0.0
.text 569880 570176 296 0.1
shell LP_CC2652R7 (read only) 662470 662742 272 0.0
(read/write) 184944 184672 -272 -0.1
.bss 77196 77196 0 0.0
.data 3408 3408 0 0.0
.rodata 97750 97726 -24 -0.0
.text 564492 564788 296 0.1
cyw30739 light cyw930739m2evb_01 (read/write) 624630 624902 272 0.0
.app_xip_area 527908 528180 272 0.1
.bss 79364 79364 0 0.0
.data 708 708 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 627298 627570 272 0.0
.app_xip_area 532048 532320 272 0.1
.bss 77924 77924 0 0.0
.data 672 672 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 571066 571354 288 0.1
.app_xip_area 466132 466420 288 0.1
.bss 87312 87312 0 0.0
.data 584 584 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 916036 916756 720 0.1
(read/write) 133452 133452 0 0.0
.bss 131392 131392 0 0.0
.data 2060 2060 0 0.0
.text 916028 916748 720 0.1
BRD4161A+rpc (read only) 950224 950944 720 0.1
(read/write) 150136 150136 0 0.0
.bss 147872 147872 0 0.0
.data 2264 2264 0 0.0
.text 950216 950936 720 0.1
BRD4161A+rs911x (read only) 790596 791308 712 0.1
(read/write) 129720 129720 0 0.0
.bss 127652 127652 0 0.0
.data 2068 2068 0 0.0
.text 790588 791300 712 0.1
lock-app BRD4161A+wf200 (read only) 947048 947312 264 0.0
(read/write) 124188 124188 0 0.0
.bss 122164 122164 0 0.0
.data 2024 2024 0 0.0
.text 947040 947304 264 0.0
window-app BRD4161A (read only) 897244 897940 696 0.1
(read/write) 133504 133504 0 0.0
.bss 131456 131456 0 0.0
.data 2048 2048 0 0.0
.text 897236 897932 696 0.1
esp32 all-clusters-app c3devkit (read only) 1002992 1003300 308 0.0
(read/write) 1479978 1479962 -16 -0.0
.dram0.bss 69392 69392 0 0.0
.dram0.data 14624 14600 -24 -0.2
.flash.rodata 210536 210536 0 0.0
.flash.text 1002992 1003300 308 0.0
.iram0.text 62954 62954 0 0.0
m5stack (read only) 1057795 1058039 244 0.0
(read/write) 481992 481968 -24 -0.0
.dram0.bss 74912 74912 0 0.0
.dram0.data 34200 34200 0 0.0
.flash.rodata 240884 240860 -24 -0.0
.flash.text 1052411 1052655 244 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 682968 683232 264 0.0
.bss 80432 80432 0 0.0
.data 2016 2016 0 0.0
.text 598816 599080 264 0.0
lock k32w061+release (read/write) 728996 729260 264 0.0
.bss 80856 80856 0 0.0
.data 1976 1976 0 0.0
.text 644460 644724 264 0.0
linux chip-tool-no-interactive-ipv6only arm64 (read only) 9234132 9236940 2808 0.0
(read/write) 645937 645937 0 0.0
.bss 42225 42225 0 0.0
.data 1192 1192 0 0.0
.data.rel.ro 583656 583656 0 0.0
.dynamic 560 560 0 0.0
.got 15016 15016 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 448564 448540 -24 -0.0
.text 7322180 7325012 2832 0.0
thermostat-no-ble arm64 (read only) 2357644 2358212 568 0.0
(read/write) 177409 177409 0 0.0
.bss 88193 88193 0 0.0
.data 1520 1520 0 0.0
.data.rel.ro 79896 79896 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 376 376 0 0.0
.rodata 147596 147588 -8 -0.0
.text 1981024 1981600 576 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2419208 2419504 296 0.0
.bss 202860 202860 0 0.0
.data 5872 5872 0 0.0
.text 1381852 1382148 296 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1184523 1184787 264 0.0
bss 139560 139560 0 0.0
rodata 153684 153660 -24 -0.0
text 812436 812728 292 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1151795 1152059 264 0.0
bss 142156 142156 0 0.0
rodata 122412 122388 -24 -0.0
text 808452 808744 292 0.0
nrf52840dk_nrf52840+rpc (read/write) 1116067 1116331 264 0.0
bss 142392 142392 0 0.0
rodata 113540 113516 -24 -0.0
text 780892 781184 292 0.0
nrf52840dongle_nrf52840 (read/write) 1059427 1059691 264 0.0
bss 149364 149364 0 0.0
rodata 92220 92196 -24 -0.0
text 736872 737164 292 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1054170 1054434 264 0.0
bss 138356 138356 0 0.0
rodata 115168 115144 -24 -0.0
text 718548 718836 288 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1094955 1095219 264 0.0
bss 132076 132076 0 0.0
rodata 135468 135444 -24 -0.0
text 748764 749056 292 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 997658 997922 264 0.0
bss 128308 128308 0 0.0
rodata 128272 128248 -24 -0.0
text 659004 659292 288 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1074679 1074943 264 0.0
bss 132320 132320 0 0.0
rodata 118208 118184 -24 -0.0
text 745408 745700 292 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1054399 1054663 264 0.0
bss 131844 131844 0 0.0
rodata 113928 113904 -24 -0.0
text 729832 730124 292 0.0
p6 all-clusters-app default (read/write) 2541288 2542000 712 0.0
.bss 137360 137360 0 0.0
.data 2808 2808 0 0.0
.text 1499552 1500264 712 0.0
light-app default (read/write) 2424616 2425312 696 0.0
.bss 129696 129696 0 0.0
.data 2608 2608 0 0.0
.text 1382880 1383576 696 0.1
lock-app default (read/write) 2435176 2435888 712 0.0
.bss 129504 129504 0 0.0
.data 2568 2568 0 0.0
.text 1393440 1394152 712 0.1
telink light-switch-app tlsr9518adk80d (read/write) 782860 783164 304 0.0
bss 70828 70828 0 0.0
noinit 40416 40416 0 0.0
text 553468 553794 326 0.1
lighting-app tlsr9518adk80d (read/write) 802884 803180 296 0.0
bss 71080 71080 0 0.0
noinit 40416 40416 0 0.0
text 570202 570528 326 0.1

src/app/ReadPrepareParams.h Outdated Show resolved Hide resolved
src/app/WriteClient.h Outdated Show resolved Hide resolved
src/app/WriteClient.h Show resolved Hide resolved
src/app/WriteClient.h Show resolved Hide resolved
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.

This doesn't quite line up with what was specified in the issue, and needs more discussion.

@mrjerryjohns
Copy link
Contributor

mrjerryjohns commented May 25, 2022

Had a long chat with @tcarmelveilleux, and he made a great suggestion that I think will make this a lot simpler, while still providing applications the ability to do transport-adjusted timeouts. Here's what we eventually arrived at:

  1. Applications consciously decide the absolute timeout for interactions. When it comes to sleepies, they have to consciously decide that they want to interact with such classes of devices. This is not automatically assumed by the SDK.
  2. Preserve our existing application-facing APIs that take an absolute time-out, and letting applications/client logic decide how best to populate that value.
  3. Provide a helper library function that can compute for you, a transport-adjusted timeout given a SessionHandle and other arguments (like execution timeout, which can default to 0) to help compute that final value. This still ensures that applications who want to talk to potentially sleepy devices can remain un-aware of the specifics of transport timings but still ensure they arrive at a sensible timeout value that will work scalably for any device they intend to interact with.
  4. For internal SDK logic that automatically computes a timeout, in most cases, the modality is well known (e.g during commissioning, we know the target to be awake and not sleepy). CASE sessions however can be established to sleepy devices, and today, CASESessionManager::FindOrEstablishSession does not take a timeout as a parameter. This would need to be added so that it can be plumbed all the way to the CASEClient and eventually, the underlying exchange. Will file a separate issue for this.

@erjiaqing let me know what you think.

@mrjerryjohns
Copy link
Contributor

The above does mean however that we'll need to modify chip-tool and the REPL to then permit specifying an extra "adjust for transport" parameter to alter the underlying timeout computation...

@mrjerryjohns mrjerryjohns self-requested a review May 26, 2022 01:06
@mrjerryjohns
Copy link
Contributor

So, after thinking about this a bit more, I'm starting to come around to the premise of the original solution in this PR. It seems clear that applications have to choose between specifying an absolute timeout, vs a transport-adjusted timeout. You cannot live with just either option alone. There are going to be applications that are about interactiveness, and do not want to be subject to the variance induced by a sleepy target when deciding a timeout for that application. There are also going to be applications that do want to interact with these classes of devices (consciously), and want to bias towards interaction success and not responsiveness.

The use of 0 as a way to select 'auto transport adjusted' and non-zero to select 'absolute timeout' seems like a fine way to select this modality. My original concern was the inability to then specify any adjustments when selecting 'auto', but in 99% of interactions, the amount of time it takes to execute a command on the receiver is always quite low (i.e fairly quick). In the cases where it isn't, applications can manually make adjustments if need-be.

However, I think it would be useful if the computation of the actual absolute timeout is not specific to the IM. Instead, that should be happening I think, in the exchange layer when SetResponseTimeout is called. This permits all protocols to achieve a uniform computation of the final timeout, while passing along the application provided timeout.

Thoughts @erjiaqing @tcarmelveilleux ?

@erjiaqing
Copy link
Contributor Author

So, after thinking about this a bit more, I'm starting to come around to the premise of the original solution in this PR. It seems clear that applications have to choose between specifying an absolute timeout, vs a transport-adjusted timeout. You cannot live with just either option alone. There are going to be applications that are about interactiveness, and do not want to be subject to the variance induced by a sleepy target when deciding a timeout for that application. There are also going to be applications that do want to interact with these classes of devices (consciously), and want to bias towards interaction success and not responsiveness.

The use of 0 as a way to select 'auto transport adjusted' and non-zero to select 'absolute timeout' seems like a fine way to select this modality.

Infact, I do have some considerations about the use of '0' vs Optional for the default auto timeout setting. However, since

  • Most users are not actually using this argument
  • 0 is quite a trivial value for a invalid value when it comes to e2e timeout (since all timeouts are hard deadlines in the IM APIs)

My original concern was the inability to then specify any adjustments when selecting 'auto', but in 99% of interactions, the amount of time it takes to execute a command on the receiver is always quite low (i.e fairly quick). In the cases where it isn't, applications can manually make adjustments if need-be.

"execute a command" => infact, the timeout is used calculate the timeout of "time to first byte" of the payload

e.g. when it comes to reads, it is the timeout for receiving first chunk of reports instead of the whole transaction (I don't suggest the timeout for the whole transaction, since it depends on the actual size of report which cannot be foreseen by the client)

However, I think it would be useful if the computation of the actual absolute timeout is not specific to the IM. Instead, that should be happening I think, in the exchange layer when SetResponseTimeout is called. This permits all protocols to achieve a uniform computation of the final timeout, while passing along the application provided timeout.

Yes, I will move InteractionModelTimeoutForSession to Transport::Session::SuggestEndToEndTimeout(protocolTimeout) (member function of Transport::Session).

@erjiaqing erjiaqing changed the title [IM] Calculate interaction model timeout accoring to CRMP timeouts [IM] Calculate interaction model timeout accoring to RMP timeouts May 26, 2022
src/transport/Session.h Outdated Show resolved Hide resolved
src/transport/Session.h Outdated Show resolved Hide resolved
src/messaging/ExchangeContext.h Show resolved Hide resolved
src/app/InteractionModelTimeout.h Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented May 30, 2022

PR #18744: Size comparison from f188fd9 to 4c13a6e

Increases (49 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section f188fd9 4c13a6e change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 647575 647703 128 0.0
.text 563180 563308 128 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 613591 613719 128 0.0
.text 539884 540012 128 0.0
lock-ftd LP_CC2652R7 (read only) 679559 679687 128 0.0
.text 582940 583068 128 0.0
lock-mtd LP_CC2652R7 (read only) 628967 629095 128 0.0
.text 532460 532588 128 0.0
pump-app LP_CC2652R7 (read only) 675971 676083 112 0.0
.text 586876 586988 112 0.0
pump-controller-app LP_CC2652R7 (read only) 653907 654019 112 0.0
.text 570080 570192 112 0.0
shell LP_CC2652R7 (read only) 640606 640734 128 0.0
.text 559232 559360 128 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 621506 621634 128 0.0
.app_xip_area 525012 525140 128 0.0
lock cyw930739m2evb_01 (read/write) 630214 630342 128 0.0
.app_xip_area 535192 535320 128 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 570838 570966 128 0.0
.app_xip_area 465896 466024 128 0.0
efr32 lighting-app BRD4161A (read only) 914272 914552 280 0.0
.text 914264 914544 280 0.0
BRD4161A+rpc (read only) 948508 948772 264 0.0
.text 948500 948764 264 0.0
BRD4161A+rs911x (read only) 788836 789100 264 0.0
.text 788828 789092 264 0.0
lock-app BRD4161A+wf200 (read only) 954064 954192 128 0.0
.text 954056 954184 128 0.0
window-app BRD4161A (read only) 899216 899496 280 0.0
.text 899208 899488 280 0.0
esp32 all-clusters-app c3devkit (read only) 1004814 1004966 152 0.0
.flash.text 1004814 1004966 152 0.0
m5stack (read only) 1059995 1060147 152 0.0
.flash.text 1054611 1054763 152 0.0
k32w light k32w061+release (read/write) 680676 680804 128 0.0
.text 596764 596892 128 0.0
lock k32w061+release (read/write) 732092 732220 128 0.0
.text 647780 647908 128 0.0
linux all-clusters-app debug (read only) 2766505 2767113 608 0.0
.rodata 243645 243741 96 0.0
.text 2349458 2349970 512 0.0
all-clusters-minimal-app debug (read only) 2640777 2641417 640 0.0
.rodata 245533 245661 128 0.1
.text 2223186 2223698 512 0.0
bridge-app debug+rpc (read only) 2028601 2029209 608 0.0
.rodata 168832 168928 96 0.1
.text 1703778 1704290 512 0.0
chip-tool debug (read only) 9678069 9681797 3728 0.0
.rodata 496349 496445 96 0.0
.text 7789077 7792709 3632 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9422028 9424748 2720 0.0
.text 7434004 7436724 2720 0.0
lighting-app debug+rpc (read only) 2317425 2318097 672 0.0
.rodata 187464 187624 160 0.1
.text 1964738 1965250 512 0.0
lock-app debug (read only) 2257177 2257785 608 0.0
.rodata 200904 201000 96 0.0
.text 1896482 1896994 512 0.0
ota-provider-app debug (read only) 2066785 2067441 656 0.0
.rodata 180248 180376 128 0.1
.text 1727970 1728498 528 0.0
ota-requestor-app debug (read only) 2095889 2096497 608 0.0
.rodata 176320 176416 96 0.1
.text 1759538 1760050 512 0.0
shell debug (read only) 2570801 2571409 608 0.0
.rodata 223762 223858 96 0.0
.text 2188146 2188658 512 0.0
thermostat-no-ble arm64 (read only) 2365900 2366452 552 0.0
.rodata 148156 148164 8 0.0
.text 1988624 1989168 544 0.0
tv-app debug (read only) 2878233 2878985 752 0.0
.rodata 222368 222464 96 0.0
.text 2473618 2474274 656 0.0
tv-casting-app debug (read only) 5432505 5435977 3472 0.1
.rodata 339648 339776 128 0.0
.text 4734130 4737474 3344 0.1
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2424480 2424608 128 0.0
.text 1387124 1387252 128 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1185703 1185815 112 0.0
text 814036 814152 116 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1133579 1133691 112 0.0
text 786264 786380 116 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1150531 1150659 128 0.0
text 807972 808088 116 0.0
nrf52840dk_nrf52840+rpc (read/write) 1114763 1114891 128 0.0
text 780380 780496 116 0.0
nrf52840dongle_nrf52840 (read/write) 1058199 1058311 112 0.0
text 736320 736436 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1052906 1053034 128 0.0
text 718060 718180 120 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1099747 1099859 112 0.0
text 751812 751928 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1002458 1002570 112 0.0
text 662044 662164 120 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1076107 1076219 112 0.0
text 746784 746900 116 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1055791 1055919 128 0.0
text 731208 731324 116 0.0
p6 all-clusters-app default (read/write) 2539952 2540232 280 0.0
.text 1498216 1498496 280 0.0
all-clusters-minimal-app default (read/write) 2484712 2484976 264 0.0
.text 1442976 1443240 264 0.0
light-app default (read/write) 2420192 2420448 256 0.0
.text 1378456 1378712 256 0.0
lock-app default (read/write) 2438216 2438496 280 0.0
.text 1396480 1396760 280 0.0
telink light-switch-app tlsr9518adk80d (read/write) 779464 779616 152 0.0
text 551326 551478 152 0.0
lighting-app tlsr9518adk80d (read/write) 799492 799644 152 0.0
text 568060 568212 152 0.0
Decreases (3 builds for cc13x2_26x2)
platform target config section f188fd9 4c13a6e change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read/write) 163296 163168 -128 -0.1
pump-app LP_CC2652R7 (read/write) 168052 167940 -112 -0.1
pump-controller-app LP_CC2652R7 (read/write) 189972 189860 -112 -0.1
Full report (49 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section f188fd9 4c13a6e change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 647575 647703 128 0.0
(read/write) 158928 158928 0 0.0
.bss 74612 74612 0 0.0
.data 3400 3400 0 0.0
.rodata 84159 84159 0 0.0
.text 563180 563308 128 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 613591 613719 128 0.0
(read/write) 158156 158156 0 0.0
.bss 73900 73900 0 0.0
.data 3340 3340 0 0.0
.rodata 73471 73471 0 0.0
.text 539884 540012 128 0.0
lock-ftd LP_CC2652R7 (read only) 679559 679687 128 0.0
(read/write) 163296 163168 -128 -0.1
.bss 72636 72636 0 0.0
.data 3264 3264 0 0.0
.rodata 96135 96135 0 0.0
.text 582940 583068 128 0.0
lock-mtd LP_CC2652R7 (read only) 628967 629095 128 0.0
(read/write) 145752 145752 0 0.0
.bss 68372 68372 0 0.0
.data 3264 3264 0 0.0
.rodata 96015 96015 0 0.0
.text 532460 532588 128 0.0
pump-app LP_CC2652R7 (read only) 675971 676083 112 0.0
(read/write) 168052 167940 -112 -0.1
.bss 73036 73036 0 0.0
.data 3300 3300 0 0.0
.rodata 88611 88611 0 0.0
.text 586876 586988 112 0.0
pump-controller-app LP_CC2652R7 (read only) 653907 654019 112 0.0
(read/write) 189972 189860 -112 -0.1
.bss 72892 72892 0 0.0
.data 3260 3260 0 0.0
.rodata 83347 83347 0 0.0
.text 570080 570192 112 0.0
shell LP_CC2652R7 (read only) 640606 640734 128 0.0
(read/write) 154484 154484 0 0.0
.bss 76964 76964 0 0.0
.data 3404 3404 0 0.0
.rodata 81142 81142 0 0.0
.text 559232 559360 128 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 621506 621634 128 0.0
.app_xip_area 525012 525140 128 0.0
.bss 79136 79136 0 0.0
.data 704 704 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 630214 630342 128 0.0
.app_xip_area 535192 535320 128 0.0
.bss 77696 77696 0 0.0
.data 672 672 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 570838 570966 128 0.0
.app_xip_area 465896 466024 128 0.0
.bss 87296 87296 0 0.0
.data 612 612 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 914272 914552 280 0.0
(read/write) 133216 133216 0 0.0
.bss 131120 131120 0 0.0
.data 2092 2092 0 0.0
.text 914264 914544 280 0.0
BRD4161A+rpc (read only) 948508 948772 264 0.0
(read/write) 149904 149904 0 0.0
.bss 147608 147608 0 0.0
.data 2296 2296 0 0.0
.text 948500 948764 264 0.0
BRD4161A+rs911x (read only) 788836 789100 264 0.0
(read/write) 129488 129488 0 0.0
.bss 127388 127388 0 0.0
.data 2100 2100 0 0.0
.text 788828 789092 264 0.0
lock-app BRD4161A+wf200 (read only) 954064 954192 128 0.0
(read/write) 128268 128268 0 0.0
.bss 126204 126204 0 0.0
.data 2064 2064 0 0.0
.text 954056 954184 128 0.0
window-app BRD4161A (read only) 899216 899496 280 0.0
(read/write) 133280 133280 0 0.0
.bss 131192 131192 0 0.0
.data 2088 2088 0 0.0
.text 899208 899488 280 0.0
esp32 all-clusters-app c3devkit (read only) 1004814 1004966 152 0.0
(read/write) 1479522 1479522 0 0.0
.dram0.bss 69176 69176 0 0.0
.dram0.data 14648 14648 0 0.0
.flash.rodata 210256 210256 0 0.0
.flash.text 1004814 1004966 152 0.0
.iram0.text 62954 62954 0 0.0
m5stack (read only) 1059995 1060147 152 0.0
(read/write) 481744 481744 0 0.0
.dram0.bss 74696 74696 0 0.0
.dram0.data 34208 34208 0 0.0
.flash.rodata 240844 240844 0 0.0
.flash.text 1054611 1054763 152 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 680676 680804 128 0.0
.bss 80200 80200 0 0.0
.data 2008 2008 0 0.0
.text 596764 596892 128 0.0
lock k32w061+release (read/write) 732092 732220 128 0.0
.bss 80632 80632 0 0.0
.data 1976 1976 0 0.0
.text 647780 647908 128 0.0
linux all-clusters-app debug (read only) 2766505 2767113 608 0.0
(read/write) 178080 178080 0 0.0
.bss 86272 86272 0 0.0
.data 2032 2032 0 0.0
.data.rel.ro 83624 83624 0 0.0
.dynamic 608 608 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 1016 1016 0 0.0
.rodata 243645 243741 96 0.0
.text 2349458 2349970 512 0.0
all-clusters-minimal-app debug (read only) 2640777 2641417 640 0.0
(read/write) 170176 170176 0 0.0
.bss 85600 85600 0 0.0
.data 1904 1904 0 0.0
.data.rel.ro 76504 76504 0 0.0
.dynamic 608 608 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 1016 1016 0 0.0
.rodata 245533 245661 128 0.1
.text 2223186 2223698 512 0.0
bridge-app debug+rpc (read only) 2028601 2029209 608 0.0
(read/write) 147768 147768 0 0.0
.bss 72928 72928 0 0.0
.data 3936 3936 0 0.0
.data.rel.ro 65320 65320 0 0.0
.dynamic 592 592 0 0.0
.got 4272 4272 0 0.0
.init 27 27 0 0.0
.init_array 688 688 0 0.0
.rodata 168832 168928 96 0.1
.text 1703778 1704290 512 0.0
chip-tool debug (read only) 9678069 9681797 3728 0.0
(read/write) 602512 602512 0 0.0
.bss 23968 23968 0 0.0
.data 1120 1120 0 0.0
.data.rel.ro 571136 571136 0 0.0
.dynamic 624 624 0 0.0
.got 5008 5008 0 0.0
.init 27 27 0 0.0
.init_array 648 648 0 0.0
.rodata 496349 496445 96 0.0
.text 7789077 7792709 3632 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9422028 9424748 2720 0.0
(read/write) 668785 668785 0 0.0
.bss 42257 42257 0 0.0
.data 1176 1176 0 0.0
.data.rel.ro 606528 606528 0 0.0
.dynamic 528 528 0 0.0
.got 15016 15016 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 459956 459956 0 0.0
.text 7434004 7436724 2720 0.0
lighting-app debug+rpc (read only) 2317425 2318097 672 0.0
(read/write) 153408 153408 0 0.0
.bss 74784 74784 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 70824 70824 0 0.0
.dynamic 608 608 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 187464 187624 160 0.1
.text 1964738 1965250 512 0.0
lock-app debug (read only) 2257177 2257785 608 0.0
(read/write) 148504 148504 0 0.0
.bss 73472 73472 0 0.0
.data 1568 1568 0 0.0
.data.rel.ro 67752 67752 0 0.0
.dynamic 592 592 0 0.0
.got 4336 4336 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 200904 201000 96 0.0
.text 1896482 1896994 512 0.0
ota-provider-app debug (read only) 2066785 2067441 656 0.0
(read/write) 141456 141456 0 0.0
.bss 73056 73056 0 0.0
.data 1768 1768 0 0.0
.data.rel.ro 60824 60824 0 0.0
.dynamic 608 608 0 0.0
.got 4504 4504 0 0.0
.init 27 27 0 0.0
.init_array 648 648 0 0.0
.rodata 180248 180376 128 0.1
.text 1727970 1728498 528 0.0
ota-requestor-app debug (read only) 2095889 2096497 608 0.0
(read/write) 144296 144296 0 0.0
.bss 73760 73760 0 0.0
.data 1960 1960 0 0.0
.data.rel.ro 62920 62920 0 0.0
.dynamic 592 592 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 176320 176416 96 0.1
.text 1759538 1760050 512 0.0
shell debug (read only) 2570801 2571409 608 0.0
(read/write) 201584 201584 0 0.0
.bss 117192 117192 0 0.0
.data 1376 1376 0 0.0
.data.rel.ro 77256 77256 0 0.0
.dynamic 608 608 0 0.0
.got 4192 4192 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 223762 223858 96 0.0
.text 2188146 2188658 512 0.0
thermostat-no-ble arm64 (read only) 2365900 2366452 552 0.0
(read/write) 177313 177313 0 0.0
.bss 87969 87969 0 0.0
.data 1520 1520 0 0.0
.data.rel.ro 80016 80016 0 0.0
.dynamic 528 528 0 0.0
.got 4800 4800 0 0.0
.init 24 24 0 0.0
.init_array 376 376 0 0.0
.rodata 148156 148164 8 0.0
.text 1988624 1989168 544 0.0
tv-app debug (read only) 2878233 2878985 752 0.0
(read/write) 280208 280208 0 0.0
.bss 191112 191112 0 0.0
.data 4672 4672 0 0.0
.data.rel.ro 78152 78152 0 0.0
.dynamic 592 592 0 0.0
.got 4728 4728 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 222368 222464 96 0.0
.text 2473618 2474274 656 0.0
tv-casting-app debug (read only) 5432505 5435977 3472 0.1
(read/write) 225904 225904 0 0.0
.bss 78696 78696 0 0.0
.data 2400 2400 0 0.0
.data.rel.ro 138576 138576 0 0.0
.dynamic 608 608 0 0.0
.got 4728 4728 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 339648 339776 128 0.0
.text 4734130 4737474 3344 0.1
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2424480 2424608 128 0.0
.bss 202652 202652 0 0.0
.data 5872 5872 0 0.0
.text 1387124 1387252 128 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1185703 1185815 112 0.0
bss 139308 139308 0 0.0
rodata 153488 153488 0 0.0
text 814036 814152 116 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1133579 1133691 112 0.0
bss 138600 138600 0 0.0
rodata 129972 129972 0 0.0
text 786264 786380 116 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1150531 1150659 128 0.0
bss 141904 141904 0 0.0
rodata 121868 121868 0 0.0
text 807972 808088 116 0.0
nrf52840dk_nrf52840+rpc (read/write) 1114763 1114891 128 0.0
bss 142140 142140 0 0.0
rodata 112988 112988 0 0.0
text 780380 780496 116 0.0
nrf52840dongle_nrf52840 (read/write) 1058199 1058311 112 0.0
bss 149132 149132 0 0.0
rodata 91680 91680 0 0.0
text 736320 736436 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1052906 1053034 128 0.0
bss 138104 138104 0 0.0
rodata 114624 114624 0 0.0
text 718060 718180 120 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1099747 1099859 112 0.0
bss 131824 131824 0 0.0
rodata 137428 137428 0 0.0
text 751812 751928 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1002458 1002570 112 0.0
bss 128060 128060 0 0.0
rodata 130232 130232 0 0.0
text 662044 662164 120 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1076107 1076219 112 0.0
bss 132068 132068 0 0.0
rodata 118484 118484 0 0.0
text 746784 746900 116 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1055791 1055919 128 0.0
bss 131592 131592 0 0.0
rodata 114168 114168 0 0.0
text 731208 731324 116 0.0
p6 all-clusters-app default (read/write) 2539952 2540232 280 0.0
.bss 137136 137136 0 0.0
.data 2800 2800 0 0.0
.text 1498216 1498496 280 0.0
all-clusters-minimal-app default (read/write) 2484712 2484976 264 0.0
.bss 136424 136424 0 0.0
.data 2744 2744 0 0.0
.text 1442976 1443240 264 0.0
light-app default (read/write) 2420192 2420448 256 0.0
.bss 129464 129464 0 0.0
.data 2600 2600 0 0.0
.text 1378456 1378712 256 0.0
lock-app default (read/write) 2438216 2438496 280 0.0
.bss 129280 129280 0 0.0
.data 2568 2568 0 0.0
.text 1396480 1396760 280 0.0
telink light-switch-app tlsr9518adk80d (read/write) 779464 779616 152 0.0
bss 70596 70596 0 0.0
noinit 40416 40416 0 0.0
text 551326 551478 152 0.0
lighting-app tlsr9518adk80d (read/write) 799492 799644 152 0.0
bss 70856 70856 0 0.0
noinit 40416 40416 0 0.0
text 568060 568212 152 0.0

@github-actions
Copy link

github-actions bot commented Jun 2, 2022

PR #18744: Size comparison from 131b13c to ab6facf

Increases (44 builds for cc13x2_26x2, cyw30739, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 131b13c ab6facf change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 648547 648675 128 0.0
.text 563780 563908 128 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 615379 615507 128 0.0
.text 541228 541356 128 0.0
lock-ftd LP_CC2652R7 (read only) 680611 680739 128 0.0
.text 583500 583628 128 0.0
lock-mtd LP_CC2652R7 (read only) 630019 630147 128 0.0
.text 533020 533148 128 0.0
pump-app LP_CC2652R7 (read only) 677019 677131 112 0.0
.text 587428 587540 112 0.0
pump-controller-app LP_CC2652R7 (read only) 654963 655075 112 0.0
.text 570648 570760 112 0.0
shell LP_CC2652R7 (read only) 641578 641706 128 0.0
.text 559824 559952 128 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 602014 602142 128 0.0
.app_xip_area 461040 461168 128 0.0
lock cyw930739m2evb_01 (read/write) 598154 598282 128 0.0
.app_xip_area 457052 457180 128 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 596666 596778 112 0.0
.app_xip_area 456688 456800 112 0.0
esp32 all-clusters-app c3devkit (read only) 1005722 1005874 152 0.0
.flash.text 1005722 1005874 152 0.0
m5stack (read only) 1060843 1060963 120 0.0
.flash.text 1055459 1055579 120 0.0
k32w light k32w061+release (read/write) 681284 681412 128 0.0
.text 597400 597528 128 0.0
lock k32w061+release (read/write) 733316 733444 128 0.0
.text 649032 649160 128 0.0
linux all-clusters-app debug (read only) 2770337 2770945 608 0.0
.rodata 244413 244509 96 0.0
.text 2351970 2352482 512 0.0
all-clusters-minimal-app debug (read only) 2647457 2648097 640 0.0
.rodata 246333 246461 128 0.1
.text 2228562 2229074 512 0.0
bridge-app debug+rpc (read only) 2032801 2033409 608 0.0
.rodata 169664 169760 96 0.1
.text 1706594 1707106 512 0.0
chip-tool debug (read only) 9683197 9686909 3712 0.0
.rodata 497885 497981 96 0.0
.text 7796725 7800341 3616 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9424012 9426716 2704 0.0
.text 7438788 7441492 2704 0.0
lighting-app debug+rpc (read only) 2322601 2323241 640 0.0
.rodata 188552 188680 128 0.1
.text 1968274 1968786 512 0.0
lock-app debug (read only) 2261249 2261857 608 0.0
.rodata 201608 201704 96 0.0
.text 1899298 1899810 512 0.0
ota-provider-app debug (read only) 2069089 2069729 640 0.0
.rodata 180984 181112 128 0.1
.text 1729010 1729522 512 0.0
ota-requestor-app debug (read only) 2097121 2097729 608 0.0
.rodata 176992 177088 96 0.1
.text 1759570 1760082 512 0.0
shell debug (read only) 2574441 2575081 640 0.0
.rodata 224530 224658 128 0.1
.text 2190466 2190978 512 0.0
thermostat-no-ble arm64 (read only) 2369564 2370116 552 0.0
.rodata 148748 148756 8 0.0
.text 1991088 1991632 544 0.0
tv-app debug (read only) 2880441 2881273 832 0.0
.rodata 222880 223040 160 0.1
.text 2474930 2475602 672 0.0
tv-casting-app debug (read only) 5432705 5436209 3504 0.1
.rodata 340384 340544 160 0.0
.text 4733042 4736386 3344 0.1
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2425624 2425752 128 0.0
.text 1388268 1388396 128 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1188051 1188179 128 0.0
text 815116 815232 116 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1136783 1136911 128 0.0
text 788124 788240 116 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1152739 1152851 112 0.0
text 808824 808940 116 0.0
nrf52840dk_nrf52840+rpc (read/write) 1120111 1120223 112 0.0
text 783988 784104 116 0.0
nrf52840dongle_nrf52840 (read/write) 1059147 1059259 112 0.0
text 736664 736780 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1056510 1056622 112 0.0
text 721552 721672 120 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1102411 1102539 128 0.0
text 753008 753124 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1006338 1006450 112 0.0
text 665796 665916 120 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1078827 1078955 128 0.0
text 748100 748216 116 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1058403 1058515 112 0.0
text 732532 732648 116 0.0
p6 all-clusters-app default (read/write) 2541584 2541856 272 0.0
.text 1499848 1500120 272 0.0
all-clusters-minimal-app default (read/write) 2487520 2487792 272 0.0
.text 1445784 1446056 272 0.0
light-app default (read/write) 2421960 2422240 280 0.0
.text 1380224 1380504 280 0.0
lock-app default (read/write) 2440008 2440280 272 0.0
.text 1398272 1398544 272 0.0
telink light-switch-app tlsr9518adk80d (read/write) 780740 780892 152 0.0
text 552084 552236 152 0.0
lighting-app tlsr9518adk80d (read/write) 800784 800936 152 0.0
text 568826 568978 152 0.0
Decreases (3 builds for cc13x2_26x2)
platform target config section 131b13c ab6facf change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read/write) 162212 162084 -128 -0.1
pump-app LP_CC2652R7 (read/write) 166972 166860 -112 -0.1
pump-controller-app LP_CC2652R7 (read/write) 188884 188772 -112 -0.1
Full report (44 builds for cc13x2_26x2, cyw30739, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 131b13c ab6facf change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 648547 648675 128 0.0
(read/write) 158900 158900 0 0.0
.bss 74580 74580 0 0.0
.data 3404 3404 0 0.0
.rodata 84531 84531 0 0.0
.text 563780 563908 128 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 615379 615507 128 0.0
(read/write) 158072 158072 0 0.0
.bss 73812 73812 0 0.0
.data 3344 3344 0 0.0
.rodata 73915 73915 0 0.0
.text 541228 541356 128 0.0
lock-ftd LP_CC2652R7 (read only) 680611 680739 128 0.0
(read/write) 162212 162084 -128 -0.1
.bss 72604 72604 0 0.0
.data 3268 3268 0 0.0
.rodata 96627 96627 0 0.0
.text 583500 583628 128 0.0
lock-mtd LP_CC2652R7 (read only) 630019 630147 128 0.0
(read/write) 145724 145724 0 0.0
.bss 68340 68340 0 0.0
.data 3268 3268 0 0.0
.rodata 96507 96507 0 0.0
.text 533020 533148 128 0.0
pump-app LP_CC2652R7 (read only) 677019 677131 112 0.0
(read/write) 166972 166860 -112 -0.1
.bss 73004 73004 0 0.0
.data 3304 3304 0 0.0
.rodata 89107 89107 0 0.0
.text 587428 587540 112 0.0
pump-controller-app LP_CC2652R7 (read only) 654963 655075 112 0.0
(read/write) 188884 188772 -112 -0.1
.bss 72860 72860 0 0.0
.data 3264 3264 0 0.0
.rodata 83835 83835 0 0.0
.text 570648 570760 112 0.0
shell LP_CC2652R7 (read only) 641578 641706 128 0.0
(read/write) 154456 154456 0 0.0
.bss 76932 76932 0 0.0
.data 3408 3408 0 0.0
.rodata 81522 81522 0 0.0
.text 559824 559952 128 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 602014 602142 128 0.0
.app_xip_area 461040 461168 128 0.0
.bss 83912 83912 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 598154 598282 128 0.0
.app_xip_area 457052 457180 128 0.0
.bss 84072 84072 0 0.0
.data 712 712 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 596666 596778 112 0.0
.app_xip_area 456688 456800 112 0.0
.bss 83044 83044 0 0.0
.data 620 620 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
esp32 all-clusters-app c3devkit (read only) 1005722 1005874 152 0.0
(read/write) 1480042 1480042 0 0.0
.dram0.bss 69144 69144 0 0.0
.dram0.data 14656 14656 0 0.0
.flash.rodata 210808 210808 0 0.0
.flash.text 1005722 1005874 152 0.0
.iram0.text 62954 62954 0 0.0
m5stack (read only) 1060843 1060963 120 0.0
(read/write) 482256 482256 0 0.0
.dram0.bss 74664 74664 0 0.0
.dram0.data 34208 34208 0 0.0
.flash.rodata 241388 241388 0 0.0
.flash.text 1055459 1055579 120 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 681284 681412 128 0.0
.bss 80168 80168 0 0.0
.data 2012 2012 0 0.0
.text 597400 597528 128 0.0
lock k32w061+release (read/write) 733316 733444 128 0.0
.bss 80600 80600 0 0.0
.data 1980 1980 0 0.0
.text 649032 649160 128 0.0
linux all-clusters-app debug (read only) 2770337 2770945 608 0.0
(read/write) 178272 178272 0 0.0
.bss 86240 86240 0 0.0
.data 2032 2032 0 0.0
.data.rel.ro 83848 83848 0 0.0
.dynamic 608 608 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 1016 1016 0 0.0
.rodata 244413 244509 96 0.0
.text 2351970 2352482 512 0.0
all-clusters-minimal-app debug (read only) 2647457 2648097 640 0.0
(read/write) 170304 170304 0 0.0
.bss 85504 85504 0 0.0
.data 1904 1904 0 0.0
.data.rel.ro 76728 76728 0 0.0
.dynamic 608 608 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 1016 1016 0 0.0
.rodata 246333 246461 128 0.1
.text 2228562 2229074 512 0.0
bridge-app debug+rpc (read only) 2032801 2033409 608 0.0
(read/write) 147928 147928 0 0.0
.bss 72896 72896 0 0.0
.data 3936 3936 0 0.0
.data.rel.ro 65528 65528 0 0.0
.dynamic 592 592 0 0.0
.got 4272 4272 0 0.0
.init 27 27 0 0.0
.init_array 688 688 0 0.0
.rodata 169664 169760 96 0.1
.text 1706594 1707106 512 0.0
chip-tool debug (read only) 9683197 9686909 3712 0.0
(read/write) 600688 600688 0 0.0
.bss 23968 23968 0 0.0
.data 1120 1120 0 0.0
.data.rel.ro 569296 569296 0 0.0
.dynamic 624 624 0 0.0
.got 5008 5008 0 0.0
.init 27 27 0 0.0
.init_array 648 648 0 0.0
.rodata 497885 497981 96 0.0
.text 7796725 7800341 3616 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9424012 9426716 2704 0.0
(read/write) 666929 666929 0 0.0
.bss 42257 42257 0 0.0
.data 1176 1176 0 0.0
.data.rel.ro 604696 604696 0 0.0
.dynamic 528 528 0 0.0
.got 14984 14984 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 461364 461364 0 0.0
.text 7438788 7441492 2704 0.0
lighting-app debug+rpc (read only) 2322601 2323241 640 0.0
(read/write) 153568 153568 0 0.0
.bss 74752 74752 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 71016 71016 0 0.0
.dynamic 608 608 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 188552 188680 128 0.1
.text 1968274 1968786 512 0.0
lock-app debug (read only) 2261249 2261857 608 0.0
(read/write) 148664 148664 0 0.0
.bss 73440 73440 0 0.0
.data 1568 1568 0 0.0
.data.rel.ro 67944 67944 0 0.0
.dynamic 592 592 0 0.0
.got 4336 4336 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 201608 201704 96 0.0
.text 1899298 1899810 512 0.0
ota-provider-app debug (read only) 2069089 2069729 640 0.0
(read/write) 141584 141584 0 0.0
.bss 73024 73024 0 0.0
.data 1768 1768 0 0.0
.data.rel.ro 61000 61000 0 0.0
.dynamic 608 608 0 0.0
.got 4504 4504 0 0.0
.init 27 27 0 0.0
.init_array 648 648 0 0.0
.rodata 180984 181112 128 0.1
.text 1729010 1729522 512 0.0
ota-requestor-app debug (read only) 2097121 2097729 608 0.0
(read/write) 144424 144424 0 0.0
.bss 73728 73728 0 0.0
.data 1960 1960 0 0.0
.data.rel.ro 63096 63096 0 0.0
.dynamic 592 592 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 176992 177088 96 0.1
.text 1759570 1760082 512 0.0
shell debug (read only) 2574441 2575081 640 0.0
(read/write) 201680 201680 0 0.0
.bss 117096 117096 0 0.0
.data 1376 1376 0 0.0
.data.rel.ro 77464 77464 0 0.0
.dynamic 608 608 0 0.0
.got 4192 4192 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 224530 224658 128 0.1
.text 2190466 2190978 512 0.0
thermostat-no-ble arm64 (read only) 2369564 2370116 552 0.0
(read/write) 177537 177537 0 0.0
.bss 87921 87921 0 0.0
.data 1528 1528 0 0.0
.data.rel.ro 80288 80288 0 0.0
.dynamic 528 528 0 0.0
.got 4792 4792 0 0.0
.init 24 24 0 0.0
.init_array 376 376 0 0.0
.rodata 148748 148756 8 0.0
.text 1991088 1991632 544 0.0
tv-app debug (read only) 2880441 2881273 832 0.0
(read/write) 280208 280208 0 0.0
.bss 191048 191048 0 0.0
.data 4672 4672 0 0.0
.data.rel.ro 78224 78224 0 0.0
.dynamic 592 592 0 0.0
.got 4728 4728 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 222880 223040 160 0.1
.text 2474930 2475602 672 0.0
tv-casting-app debug (read only) 5432705 5436209 3504 0.1
(read/write) 226032 226032 0 0.0
.bss 78632 78632 0 0.0
.data 2400 2400 0 0.0
.data.rel.ro 138792 138792 0 0.0
.dynamic 608 608 0 0.0
.got 4728 4728 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 340384 340544 160 0.0
.text 4733042 4736386 3344 0.1
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2425624 2425752 128 0.0
.bss 202620 202620 0 0.0
.data 5872 5872 0 0.0
.text 1388268 1388396 128 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1188051 1188179 128 0.0
bss 141277 141277 0 0.0
rodata 152780 152780 0 0.0
text 815116 815232 116 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1136783 1136911 128 0.0
bss 140506 140506 0 0.0
rodata 129344 129344 0 0.0
text 788124 788240 116 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1152739 1152851 112 0.0
bss 143871 143871 0 0.0
rodata 121228 121228 0 0.0
text 808824 808940 116 0.0
nrf52840dk_nrf52840+rpc (read/write) 1120111 1120223 112 0.0
bss 144112 144112 0 0.0
rodata 112744 112744 0 0.0
text 783988 784104 116 0.0
nrf52840dongle_nrf52840 (read/write) 1059147 1059259 112 0.0
bss 151102 151102 0 0.0
rodata 90300 90300 0 0.0
text 736664 736780 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1056510 1056622 112 0.0
bss 140242 140242 0 0.0
rodata 113652 113652 0 0.0
text 721552 721672 120 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1102411 1102539 128 0.0
bss 133792 133792 0 0.0
rodata 136796 136796 0 0.0
text 753008 753124 116 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1006338 1006450 112 0.0
bss 130195 130195 0 0.0
rodata 129280 129280 0 0.0
text 665796 665916 120 0.0
pump-app nrf52840dk_nrf52840 (read/write) 1078827 1078955 128 0.0
bss 134035 134035 0 0.0
rodata 117780 117780 0 0.0
text 748100 748216 116 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1058403 1058515 112 0.0
bss 133559 133559 0 0.0
rodata 113468 113468 0 0.0
text 732532 732648 116 0.0
p6 all-clusters-app default (read/write) 2541584 2541856 272 0.0
.bss 137104 137104 0 0.0
.data 2808 2808 0 0.0
.text 1499848 1500120 272 0.0
all-clusters-minimal-app default (read/write) 2487520 2487792 272 0.0
.bss 136328 136328 0 0.0
.data 2744 2744 0 0.0
.text 1445784 1446056 272 0.0
light-app default (read/write) 2421960 2422240 280 0.0
.bss 129432 129432 0 0.0
.data 2600 2600 0 0.0
.text 1380224 1380504 280 0.0
lock-app default (read/write) 2440008 2440280 272 0.0
.bss 129248 129248 0 0.0
.data 2568 2568 0 0.0
.text 1398272 1398544 272 0.0
telink light-switch-app tlsr9518adk80d (read/write) 780740 780892 152 0.0
bss 70564 70564 0 0.0
noinit 40416 40416 0 0.0
text 552084 552236 152 0.0
lighting-app tlsr9518adk80d (read/write) 800784 800936 152 0.0
bss 70824 70824 0 0.0
noinit 40416 40416 0 0.0
text 568826 568978 152 0.0

@erjiaqing erjiaqing merged commit 2f6de7b into project-chip:master Jun 2, 2022
@erjiaqing erjiaqing deleted the im/issue16797 branch June 2, 2022 07:34
static constexpr System::Clock::Timeout kImMessageTimeout = System::Clock::Seconds16(12);
// This is an expected upper bound of time-to-first-byte for IM transactions, the actual processing time should never exceed this
// value unless specified elsewhere (e.g. async command handling for some clusters).
static constexpr System::Clock::Timeout kExpectedIMProcessingTime = System::Clock::Seconds16(2);
Copy link
Contributor

Choose a reason for hiding this comment

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

Is 2 seconds long enough for crypto-heavy commands like AddNOC/UpdateNOC?

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.

Fix IM timeout computation to accommodate sleepy devices
6 participants