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

[mrp] Make sure not all packet buffers are used for retransmissions #33334

Merged
merged 1 commit into from
May 7, 2024

Conversation

Damian-Nordic
Copy link
Contributor

On constrained devices, the number of available packet buffers can be very low. During stress testing a device that has 8 buffers available, which is the default on many platforms, it was observed that the device would receive a lot of parallel read requests and then it would use all its buffers for responses. The responses would then be stored in the retransmission table,
awaiting an ACK, but the ACK would never arrive because of lack of available buffers.

Configure the retransmission table size to be less than the number of packet buffers to make sure that not all buffers are held by the retransmission entries, in which case the device is unable to receive an ACK and hence it becomes unavailable until any message times out.

On constrained devices, the number of available packet
buffers can be very low. During stress testing a device
that has 8 buffers available, which is the default on
many platforms, it was observed that the device would
receive a lot of parallel read requests and then it
would use all its buffers for responses. The responses
would then be stored in the retransmission table,
awaiting an ACK, but the ACK would never arrive because
of lack of available buffers.

Configure the retransmission table size to be less than
the number of packet buffers to make sure that not all
buffers are held by the retransmission entries, in which
case the device is unable to receive an ACK and hence it
becomes unavailable until any message times out.

Signed-off-by: Damian Krolik <[email protected]>
Copy link

github-actions bot commented May 7, 2024

PR #33334: Size comparison from 464ddb6 to 401bcf2

Increases (2 builds for bl702, efr32)
platform target config section 464ddb6 401bcf2 change % change
bl702 lighting-app bl702+mfd (read/write) 1220887 1221127 240 0.0
.text 991140 991396 256 0.0
efr32 lighting-app BRD4187C (read/write) 1070820 1070860 40 0.0
.text 887360 887424 64 0.0
Decreases (18 builds for bl702, bl702l, cc32xx, efr32, qpg, stm32, telink)
platform target config section 464ddb6 401bcf2 change % change
bl702 lighting-app bl702 (read/write) 1210075 1210059 -16 -0.0
bl702+rpc (read/write) 1301539 1301523 -16 -0.0
bl702l lighting-app bl702l (read/write) 1179392 1179376 -16 -0.0
bl702l+mfd (read/write) 1190800 1190784 -16 -0.0
cc32xx air-purifier CC3235SF_LAUNCHXL (read/write) 209580 209556 -24 -0.0
.bss 202804 202780 -24 -0.0
lock CC3235SF_LAUNCHXL (read/write) 209836 209812 -24 -0.0
.bss 203200 203176 -24 -0.0
efr32 lighting-app BRD4187C .bss 180008 179984 -24 -0.0
lock-app BRD4338a (read/write) 962084 962076 -8 -0.0
.text 700200 700192 -8 -0.0
window-app BRD4187C (read/write) 1137528 1137496 -32 -0.0
.bss 164608 164584 -24 -0.0
.text 969556 969548 -8 -0.0
qpg lighting-app qpg6105+debug (read/write) 1134172 1134164 -8 -0.0
.bss 102644 102620 -24 -0.0
.text 646552 646544 -8 -0.0
lock-app qpg6105+debug (read/write) 1094020 1093996 -24 -0.0
.bss 97316 97292 -24 -0.0
.text 606404 606380 -24 -0.0
stm32 light STM32WB5MM-DK (read/write) 605817 605777 -40 -0.0
.bss 128492 128468 -24 -0.0
.text 386376 386360 -16 -0.0
telink all-clusters-app tlsr9518adk80d (read/write) 1096480 1096456 -24 -0.0
bss 101544 101520 -24 -0.0
text 797480 797476 -4 -0.0
all-clusters-minimal-app tlsr9528a (read/write) 1058956 1058924 -32 -0.0
bss 110040 110016 -24 -0.0
text 772800 772796 -4 -0.0
bridge-app tlsr9518adk80d (read/write) 914604 914580 -24 -0.0
bss 92796 92772 -24 -0.0
text 656402 656398 -4 -0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d (read/write) 1090804 1090772 -32 -0.0
bss 99868 99844 -24 -0.0
text 794276 794272 -4 -0.0
ota-requestor-app tlsr9518adk80d (read/write) 933408 933384 -24 -0.0
bss 92508 92484 -24 -0.0
text 675388 675384 -4 -0.0
shell tlsr9518adk80d (read/write) 676104 676080 -24 -0.0
bss 73412 73388 -24 -0.0
Full report (77 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
platform target config section 464ddb6 401bcf2 change % change
bl602 lighting-app bl602 (read/write) 1444374 1444374 0 0.0
.bss 85744 85744 0 0.0
.data 9512 9512 0 0.0
.rodata 159200 159200 0 0.0
.text 1109252 1109252 0 0.0
bl602+mfd (read/write) 1458798 1458798 0 0.0
.bss 85920 85920 0 0.0
.data 9488 9488 0 0.0
.rodata 158160 158160 0 0.0
.text 1124570 1124570 0 0.0
bl602+rpc (read/write) 1492022 1492022 0 0.0
.bss 93792 93792 0 0.0
.data 9888 9888 0 0.0
.rodata 166768 166768 0 0.0
.text 1140898 1140898 0 0.0
bl702 lighting-app bl702 (read only) 3478 3478 0 0.0
(read/write) 1210075 1210059 -16 -0.0
.bss 11185 11185 0 0.0
.data 3712 3712 0 0.0
.rodata 108796 108796 0 0.0
.text 979386 979386 0 0.0
bl702+mfd (read only) 3478 3478 0 0.0
(read/write) 1220887 1221127 240 0.0
.bss 11361 11361 0 0.0
.data 3688 3688 0 0.0
.rodata 107736 107736 0 0.0
.text 991140 991396 256 0.0
bl702+rpc (read only) 3478 3478 0 0.0
(read/write) 1301539 1301523 -16 -0.0
.bss 19669 19669 0 0.0
.data 4248 4248 0 0.0
.rodata 124168 124168 0 0.0
.text 1054094 1054094 0 0.0
bl706-eth (read/write) 1026481 1026481 0 0.0
.bss 23760 23760 0 0.0
.data 3256 3256 0 0.0
.rodata 101892 101892 0 0.0
.text 769250 769250 0 0.0
bl706-wifi (read/write) 1261934 1261934 0 0.0
.bss 10645 10645 0 0.0
.data 3704 3704 0 0.0
.rodata 122884 122884 0 0.0
.text 1001928 1001928 0 0.0
bl702l lighting-app bl702l (read only) 512 512 0 0.0
(read/write) 1179392 1179376 -16 -0.0
.bss 16396 16396 0 0.0
.data 5072 5072 0 0.0
.rodata 102800 102800 0 0.0
.text 972244 972244 0 0.0
bl702l+mfd (read only) 512 512 0 0.0
(read/write) 1190800 1190784 -16 -0.0
.bss 16572 16572 0 0.0
.data 5056 5056 0 0.0
.rodata 101740 101740 0 0.0
.text 984566 984566 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 (read only) 798364 798364 0 0.0
(read/write) 177628 177628 0 0.0
.bss 99556 99556 0 0.0
.data 3596 3596 0 0.0
.rodata 84924 84924 0 0.0
.text 713176 713176 0 0.0
lock-ftd LP_EM_CC1354P10_6 (read only) 813656 813656 0 0.0
(read/write) 188100 188100 0 0.0
.bss 110044 110044 0 0.0
.data 3588 3588 0 0.0
.rodata 78552 78552 0 0.0
.text 734840 734840 0 0.0
lock-mtd LP_EM_CC1354P10_6 (read only) 802940 802940 0 0.0
(read/write) 182220 182220 0 0.0
.bss 104164 104164 0 0.0
.data 3588 3588 0 0.0
.rodata 105828 105828 0 0.0
.text 696848 696848 0 0.0
pump-app LP_EM_CC1354P10_6 (read only) 755220 755220 0 0.0
(read/write) 176588 176588 0 0.0
.bss 98296 98296 0 0.0
.data 3580 3580 0 0.0
.rodata 80580 80580 0 0.0
.text 674376 674376 0 0.0
pump-controller-app LP_EM_CC1354P10_6 (read only) 740908 740908 0 0.0
(read/write) 176812 176812 0 0.0
.bss 98520 98520 0 0.0
.data 3580 3580 0 0.0
.rodata 76364 76364 0 0.0
.text 664280 664280 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL (read only) 605438 605438 0 0.0
(read/write) 209580 209556 -24 -0.0
.bss 202804 202780 -24 -0.0
.data 1652 1652 0 0.0
.rodata 89574 89574 0 0.0
.text 513740 513740 0 0.0
lock CC3235SF_LAUNCHXL (read only) 651326 651326 0 0.0
(read/write) 209836 209812 -24 -0.0
.bss 203200 203176 -24 -0.0
.data 1516 1516 0 0.0
.rodata 110334 110334 0 0.0
.text 538872 538872 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 (read/write) 741843 741843 0 0.0
.app_xip_area 660117 660117 0 0.0
.bss 75332 75332 0 0.0
.data 932 932 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
CYW30739B2-P5-EVK-02 (read/write) 757479 757479 0 0.0
.app_xip_area 672553 672553 0 0.0
.bss 77188 77188 0 0.0
.data 2276 2276 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
CYW30739B2-P5-EVK-03 (read/write) 757479 757479 0 0.0
.app_xip_area 672553 672553 0 0.0
.bss 77188 77188 0 0.0
.data 2276 2276 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
CYW930739M2EVB-02 (read/write) 713699 713699 0 0.0
.app_xip_area 636905 636905 0 0.0
.bss 70456 70456 0 0.0
.data 876 876 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
light-switch CYW30739B2-P5-EVK-01 (read/write) 679359 679359 0 0.0
.app_xip_area 601921 601921 0 0.0
.bss 70924 70924 0 0.0
.data 1052 1052 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
CYW30739B2-P5-EVK-02 (read/write) 694691 694691 0 0.0
.app_xip_area 614141 614141 0 0.0
.bss 72780 72780 0 0.0
.data 2308 2308 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
CYW30739B2-P5-EVK-03 (read/write) 694691 694691 0 0.0
.app_xip_area 614141 614141 0 0.0
.bss 72780 72780 0 0.0
.data 2308 2308 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
lock CYW30739B2-P5-EVK-01 (read/write) 697907 697907 0 0.0
.app_xip_area 617453 617453 0 0.0
.bss 73972 73972 0 0.0
.data 1020 1020 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
CYW30739B2-P5-EVK-02 (read/write) 713311 713311 0 0.0
.app_xip_area 629745 629745 0 0.0
.bss 75828 75828 0 0.0
.data 2276 2276 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
CYW30739B2-P5-EVK-03 (read/write) 713311 713311 0 0.0
.app_xip_area 629745 629745 0 0.0
.bss 75828 75828 0 0.0
.data 2276 2276 0 0.0
.rodata 0 0 0 0.0
.text 2040 2040 0 0.0
efr32 lighting-app BRD4187C (read/write) 1070820 1070860 40 0.0
.bss 180008 179984 -24 -0.0
.data 3432 3432 0 0.0
.text 887360 887424 64 0.0
lock-app BRD4338a (read/write) 962084 962076 -8 -0.0
.bss 213068 213068 0 0.0
.data 29448 29448 0 0.0
.text 700200 700192 -8 -0.0
window-app BRD4187C (read/write) 1137528 1137496 -32 -0.0
.bss 164608 164584 -24 -0.0
.data 3344 3344 0 0.0
.text 969556 969548 -8 -0.0
esp32 all-clusters-app c3devkit (read only) 1214962 1214962 0 0.0
(read/write) 1751312 1751312 0 0.0
.dram0.bss 74600 74600 0 0.0
.dram0.data 13652 13652 0 0.0
.flash.rodata 253520 253520 0 0.0
.flash.text 1214962 1214962 0 0.0
.iram0.text 75570 75570 0 0.0
m5stack (read only) 1256667 1256667 0 0.0
(read/write) 537716 537716 0 0.0
.dram0.bss 81352 81352 0 0.0
.dram0.data 35196 35196 0 0.0
.flash.rodata 285248 285248 0 0.0
.flash.text 1250503 1250503 0 0.0
.iram0.text 125403 125403 0 0.0
linux air-purifier-app debug (read only) 2713437 2713437 0 0.0
(read/write) 132432 132432 0 0.0
.bss 47720 47720 0 0.0
.data 2272 2272 0 0.0
.data.rel.ro 76440 76440 0 0.0
.dynamic 608 608 0 0.0
.got 4576 4576 0 0.0
.init 27 27 0 0.0
.init_array 800 800 0 0.0
.rodata 186352 186352 0 0.0
.text 2344149 2344149 0 0.0
all-clusters-app debug (read only) 6026009 6026009 0 0.0
(read/write) 483976 483976 0 0.0
.bss 136000 136000 0 0.0
.data 4560 4560 0 0.0
.data.rel.ro 335960 335960 0 0.0
.dynamic 624 624 0 0.0
.got 5344 5344 0 0.0
.init 27 27 0 0.0
.init_array 1440 1440 0 0.0
.rodata 353072 353072 0 0.0
.text 5234291 5234291 0 0.0
all-clusters-minimal-app debug (read only) 5309545 5309545 0 0.0
(read/write) 239928 239928 0 0.0
.bss 128864 128864 0 0.0
.data 4464 4464 0 0.0
.data.rel.ro 99496 99496 0 0.0
.dynamic 624 624 0 0.0
.got 5264 5264 0 0.0
.init 27 27 0 0.0
.init_array 1168 1168 0 0.0
.rodata 291978 291978 0 0.0
.text 4777731 4777731 0 0.0
bridge-app debug (read only) 4700153 4700153 0 0.0
(read/write) 220840 220840 0 0.0
.bss 119392 119392 0 0.0
.data 6240 6240 0 0.0
.data.rel.ro 88464 88464 0 0.0
.dynamic 624 624 0 0.0
.got 5232 5232 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 232426 232426 0 0.0
.text 4242307 4242307 0 0.0
chip-tool debug (read only) 1214514 1214514 0 0.0
(read/write) 524288 524288 0 0.0
.bss 95032 95032 0 0.0
.data 5122 5122 0 0.0
.data.rel.ro 416904 416904 0 0.0
.dynamic 624 624 0 0.0
.got 5736 5736 0 0.0
.init 27 27 0 0.0
.init_array 832 832 0 0.0
.rodata 453081 453081 0 0.0
.text 10981427 10981427 0 0.0
chip-tool-ipv6only arm64 (read only) 11473620 11473620 0 0.0
(read/write) 591624 591624 0 0.0
.bss 104024 104024 0 0.0
.data 4520 4520 0 0.0
.data.rel.ro 457000 457000 0 0.0
.dynamic 512 512 0 0.0
.got 17240 17240 0 0.0
.init 24 24 0 0.0
.init_array 280 280 0 0.0
.rodata 357476 357476 0 0.0
.text 1023151 1023151 0 0.0
lighting-app debug+rpc+ui (read only) 5623745 5623745 0 0.0
(read/write) 229640 229640 0 0.0
.bss 120336 120336 0 0.0
.data 4896 4896 0 0.0
.data.rel.ro 96880 96880 0 0.0
.dynamic 672 672 0 0.0
.got 5864 5864 0 0.0
.init 27 27 0 0.0
.init_array 976 976 0 0.0
.rodata 356276 356276 0 0.0
.text 5015619 5015619 0 0.0
lock-app debug (read only) 4767193 4767193 0 0.0
(read/write) 208032 208032 0 0.0
.bss 114664 114664 0 0.0
.data 4192 4192 0 0.0
.data.rel.ro 82472 82472 0 0.0
.dynamic 624 624 0 0.0
.got 5184 5184 0 0.0
.init 27 27 0 0.0
.init_array 880 880 0 0.0
.rodata 258346 258346 0 0.0
.text 4292499 4292499 0 0.0
ota-provider-app debug (read only) 4375049 4375049 0 0.0
(read/write) 196536 196536 0 0.0
.bss 114496 114496 0 0.0
.data 4368 4368 0 0.0
.data.rel.ro 71712 71712 0 0.0
.dynamic 624 624 0 0.0
.got 4552 4552 0 0.0
.init 27 27 0 0.0
.init_array 752 752 0 0.0
.rodata 211178 211178 0 0.0
.text 3966179 3966179 0 0.0
ota-requestor-app debug (read only) 4505737 4505737 0 0.0
(read/write) 200904 200904 0 0.0
.bss 115392 115392 0 0.0
.data 4768 4768 0 0.0
.data.rel.ro 74816 74816 0 0.0
.dynamic 624 624 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 800 800 0 0.0
.rodata 217258 217258 0 0.0
.text 4086243 4086243 0 0.0
shell debug (read only) 2997553 2997553 0 0.0
(read/write) 159408 159408 0 0.0
.bss 63504 63504 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 88640 88640 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 1112 1112 0 0.0
.rodata 189984 189984 0 0.0
.text 2628610 2628610 0 0.0
thermostat-no-ble arm64 (read only) 4493980 4493980 0 0.0
(read/write) 248000 248000 0 0.0
.bss 122984 122984 0 0.0
.data 3408 3408 0 0.0
.data.rel.ro 105912 105912 0 0.0
.dynamic 512 512 0 0.0
.got 8968 8968 0 0.0
.init 24 24 0 0.0
.init_array 448 448 0 0.0
.rodata 161876 161876 0 0.0
.text 3990872 3990872 0 0.0
tv-app debug (read only) 5823345 5823345 0 0.0
(read/write) 355224 355224 0 0.0
.bss 245136 245136 0 0.0
.data 6560 6560 0 0.0
.data.rel.ro 96248 96248 0 0.0
.dynamic 624 624 0 0.0
.got 5464 5464 0 0.0
.init 27 27 0 0.0
.init_array 1184 1184 0 0.0
.rodata 296554 296554 0 0.0
.text 5280659 5280659 0 0.0
tv-casting-app debug (read only) 9983769 9983769 0 0.0
(read/write) 345632 345632 0 0.0
.bss 159448 159448 0 0.0
.data 3008 3008 0 0.0
.data.rel.ro 176208 176208 0 0.0
.dynamic 624 624 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 1216 1216 0 0.0
.rodata 386648 386648 0 0.0
.text 9126275 9126275 0 0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2536744 2536744 0 0.0
.bss 220776 220776 0 0.0
.data 5216 5216 0 0.0
.text 1499428 1499428 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1060984 1060984 0 0.0
bss 139129 139129 0 0.0
rodata 101696 101696 0 0.0
text 772932 772932 0 0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1238424 1238424 0 0.0
bss 137485 137485 0 0.0
rodata 151408 151408 0 0.0
text 799504 799504 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1008736 1008736 0 0.0
bss 138035 138035 0 0.0
rodata 88952 88952 0 0.0
text 734460 734460 0 0.0
nxp contact k32w0+release (read only) 576508 576508 0 0.0
(read/write) 83164 83164 0 0.0
.bss 67880 67880 0 0.0
.data 2196 2196 0 0.0
.text 575972 575972 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 704004 704004 0 0.0
.bss 71224 71224 0 0.0
.data 2864 2864 0 0.0
.text 590536 590536 0 0.0
light k32w0+release (read only) 610584 610584 0 0.0
(read/write) 82624 82624 0 0.0
.bss 67320 67320 0 0.0
.data 2216 2216 0 0.0
.text 610048 610048 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 795864 795864 0 0.0
.bss 80760 80760 0 0.0
.data 2072 2072 0 0.0
.text 673664 673664 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 826288 826288 0 0.0
(read/write) 1826852 1826852 0 0.0
.bss 204308 204308 0 0.0
.data 2744 2744 0 0.0
.text 1611412 1611412 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 829384 829384 0 0.0
(read/write) 1748108 1748108 0 0.0
.bss 201236 201236 0 0.0
.data 2720 2720 0 0.0
.text 1535764 1535764 0 0.0
light cy8ckit_062s2_43012 (read only) 836104 836104 0 0.0
(read/write) 1666588 1666588 0 0.0
.bss 194700 194700 0 0.0
.data 2536 2536 0 0.0
.text 1460964 1460964 0 0.0
lock cy8ckit_062s2_43012 (read only) 809040 809040 0 0.0
(read/write) 1695220 1695220 0 0.0
.bss 221780 221780 0 0.0
.data 2520 2520 0 0.0
.text 1462532 1462532 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1134172 1134164 -8 -0.0
.bss 102644 102620 -24 -0.0
.data 856 856 0 0.0
.text 646552 646544 -8 -0.0
lock-app qpg6105+debug (read/write) 1094020 1093996 -24 -0.0
.bss 97316 97292 -24 -0.0
.data 868 868 0 0.0
.text 606404 606380 -24 -0.0
stm32 light STM32WB5MM-DK (read/write) 605817 605777 -40 -0.0
.bss 128492 128468 -24 -0.0
.data 688 688 0 0.0
.rodata 80516 80516 0 0.0
.text 386376 386360 -16 -0.0
telink air-quality-sensor-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 834098 834098 0 0.0
bss 49876 49876 0 0.0
text 624766 624766 0 0.0
all-clusters-app tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 1096480 1096456 -24 -0.0
bss 101544 101520 -24 -0.0
text 797480 797476 -4 -0.0
all-clusters-minimal-app tlsr9528a (read only) 47960 47960 0 0.0
(read/write) 1058956 1058924 -32 -0.0
bss 110040 110016 -24 -0.0
text 772800 772796 -4 -0.0
bridge-app tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 914604 914580 -24 -0.0
bss 92796 92772 -24 -0.0
text 656402 656398 -4 -0.0
contact-sensor-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 836466 836466 0 0.0
bss 49920 49920 0 0.0
text 627186 627186 0 0.0
light-switch-app-ota-shell-factory-data tlsr9528a (read only) 51584 51584 0 0.0
(read/write) 937272 937272 0 0.0
bss 77532 77532 0 0.0
text 703840 703840 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d (read only) 29122 29122 0 0.0
(read/write) 1090804 1090772 -32 -0.0
bss 99868 99844 -24 -0.0
text 794276 794272 -4 -0.0
lock-app-dfu tlsr9528a (read only) 51584 51584 0 0.0
(read/write) 911576 911576 0 0.0
bss 69200 69200 0 0.0
text 660592 660592 0 0.0
ota-requestor-app tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 933408 933384 -24 -0.0
bss 92508 92484 -24 -0.0
text 675388 675384 -4 -0.0
pump-app tlsr9258a (read only) 52568 52568 0 0.0
(read/write) 831064 831064 0 0.0
bss 58164 58164 0 0.0
text 621230 621230 0 0.0
pump-controller-app tlsr9518adk80d (read only) 31872 31872 0 0.0
(read/write) 800160 800160 0 0.0
bss 56100 56100 0 0.0
text 599102 599102 0 0.0
shell tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 676104 676080 -24 -0.0
bss 73412 73388 -24 -0.0
text 461778 461778 0 0.0
smoke_co_alarm-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 844318 844318 0 0.0
bss 51548 51548 0 0.0
text 633854 633854 0 0.0
temperature-measurement-app-mars-ota tlsr9518adk80d (read only) 32220 32220 0 0.0
(read/write) 858985 858985 0 0.0
bss 59716 59716 0 0.0
text 642642 642642 0 0.0
thermostat tlsr9518adk80d (read only) 31872 31872 0 0.0
(read/write) 825708 825708 0 0.0
bss 56424 56424 0 0.0
text 618664 618664 0 0.0
window-covering tlsr9258a (read only) 52568 52568 0 0.0
(read/write) 835752 835752 0 0.0
bss 58380 58380 0 0.0
text 623498 623498 0 0.0

Copy link
Contributor

@LuDuda LuDuda left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@mergify mergify bot merged commit 5078a93 into project-chip:master May 7, 2024
66 checks passed
Damian-Nordic added a commit to Damian-Nordic/connectedhomeip that referenced this pull request May 13, 2024
…roject-chip#33334)

On constrained devices, the number of available packet
buffers can be very low. During stress testing a device
that has 8 buffers available, which is the default on
many platforms, it was observed that the device would
receive a lot of parallel read requests and then it
would use all its buffers for responses. The responses
would then be stored in the retransmission table,
awaiting an ACK, but the ACK would never arrive because
of lack of available buffers.

Configure the retransmission table size to be less than
the number of packet buffers to make sure that not all
buffers are held by the retransmission entries, in which
case the device is unable to receive an ACK and hence it
becomes unavailable until any message times out.

Signed-off-by: Damian Krolik <[email protected]>
(cherry picked from commit 5078a93)
andy31415 pushed a commit that referenced this pull request May 13, 2024
…33334) (#33416)

On constrained devices, the number of available packet
buffers can be very low. During stress testing a device
that has 8 buffers available, which is the default on
many platforms, it was observed that the device would
receive a lot of parallel read requests and then it
would use all its buffers for responses. The responses
would then be stored in the retransmission table,
awaiting an ACK, but the ACK would never arrive because
of lack of available buffers.

Configure the retransmission table size to be less than
the number of packet buffers to make sure that not all
buffers are held by the retransmission entries, in which
case the device is unable to receive an ACK and hence it
becomes unavailable until any message times out.

Signed-off-by: Damian Krolik <[email protected]>
(cherry picked from commit 5078a93)
maciejbaczmanski pushed a commit to maciejbaczmanski/connectedhomeip that referenced this pull request Jul 15, 2024
…transmissions (project-chip#33334)

On constrained devices, the number of available packet
buffers can be very low. During stress testing a device
that has 8 buffers available, which is the default on
many platforms, it was observed that the device would
receive a lot of parallel read requests and then it
would use all its buffers for responses. The responses
would then be stored in the retransmission table,
awaiting an ACK, but the ACK would never arrive because
of lack of available buffers.

Configure the retransmission table size to be less than
the number of packet buffers to make sure that not all
buffers are held by the retransmission entries, in which
case the device is unable to receive an ACK and hence it
becomes unavailable until any message times out.

Signed-off-by: Damian Krolik <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants