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

[system] Increase number of timers to 32 #21966

Merged
merged 1 commit into from Aug 17, 2022

Conversation

Damian-Nordic
Copy link
Contributor

Problem

The maximum number of timers is set to 32, but most platforms override this value to 16 (well, for platforms that use heap-allocated pools, such as Darwin or Linux, it doesn't matter).

The problem is that 16 timers is too little to handle the spec-mandated number of active subscriptions and other
scheduled activities.

Change overview

Double the number of timers to pass stress/capacity tests.
Fixes #21965

Testing

I ran TC_SC_3_6.py and observed it passes.

The maximum number of timers is set to 32, but most
platforms override this value to 16 (well, for platforms
that use heap-allocated pools, such as Darwin or Linux,
it doesn't matter).

The problem is that 16 timers is too little to handle
the spec-mandated number of active subscriptions and other
scheduled activities. Double the number of timers to pass
stress/capacity tests.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
@github-actions
Copy link

github-actions bot commented Aug 17, 2022

PR #21966: Size comparison from 65176fa to fa57fa7

Increases above 0.2%:

platform target config section 65176fa fa57fa7 change % change
bl602 lighting-app bl602 .bss 119874 120258 384 0.3
bl602+rpc .bss 127314 127698 384 0.3
efr32 lighting-app BRD4161A .bss 132988 133372 384 0.3
BRD4161A+rpc .bss 149676 150060 384 0.3
lock-app BRD4161A+wf200 .bss 145488 145872 384 0.3
window-app BRD4161A .bss 134428 134812 384 0.3
k32w light k32w0+release .bss 69816 70200 384 0.6
lock k32w0+release .bss 70288 70672 384 0.5
nrfconnect all-clusters-app nrf52840dk_nrf52840 bss 143343 143727 384 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 bss 142580 142964 384 0.3
lighting-app nrf52840dk_nrf52840 bss 144923 145307 384 0.3
nrf52840dk_nrf52840+rpc bss 145336 145720 384 0.3
nrf52840dongle_nrf52840 bss 152114 152498 384 0.3
nrf5340dk_nrf5340_cpuapp bss 141294 141678 384 0.3
lock-app nrf52840dk_nrf52840 bss 135879 136263 384 0.3
nrf5340dk_nrf5340_cpuapp bss 132282 132666 384 0.3
pump-app nrf52840dk_nrf52840 bss 134778 135162 384 0.3
pump-controller-app nrf52840dk_nrf52840 bss 134561 134945 384 0.3
p6 all-clusters-app default .bss 149288 149672 384 0.3
all-clusters-minimal-app default .bss 148568 148952 384 0.3
light-app default .bss 140432 140816 384 0.3
lock-app default .bss 144912 145296 384 0.3
telink light-switch-app tlsr9518adk80d bss 71064 71448 384 0.5
lighting-app tlsr9518adk80d bss 71920 72304 384 0.5
Increases (31 builds for bl602, cc13x2_26x2, efr32, k32w, mbed, nrfconnect, p6, telink)
platform target config section 65176fa fa57fa7 change % change
bl602 lighting-app bl602 (read/write) 1383466 1383850 384 0.0
.bss 119874 120258 384 0.3
bl602+rpc (read/write) 1428970 1429354 384 0.0
.bss 127314 127698 384 0.3
cc13x2_26x2 pump-app LP_CC2652R7 (read/write) 157752 157760 8 0.0
efr32 lighting-app BRD4161A (read/write) 1100580 1100964 384 0.0
.bss 132988 133372 384 0.3
BRD4161A+rpc (read/write) 1154832 1155216 384 0.0
.bss 149676 150060 384 0.3
BRD4161A+rs911x (read/write) 989768 990152 384 0.0
.bss 162312 162696 384 0.2
lock-app BRD4161A+wf200 (read/write) 1139236 1139620 384 0.0
.bss 145488 145872 384 0.3
window-app BRD4161A (read/write) 1092036 1092420 384 0.0
.bss 134428 134812 384 0.3
k32w light k32w0+release (read/write) 645028 645412 384 0.1
.bss 69816 70200 384 0.6
lock k32w0+release (read/write) 702580 702964 384 0.1
.bss 70288 70672 384 0.5
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 222440 222824 384 0.2
all-clusters-minimal-app CY8CPROTO_062_4343W+release .bss 221728 222112 384 0.2
lighting-app CY8CPROTO_062_4343W+release .bss 215804 216188 384 0.2
lock-app CY8CPROTO_062_4343W+release .bss 214660 215044 384 0.2
shell CY8CPROTO_062_4343W+release .bss 214648 215032 384 0.2
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1179539 1179923 384 0.0
bss 143343 143727 384 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1159415 1159799 384 0.0
bss 142580 142964 384 0.3
lighting-app nrf52840dk_nrf52840 (read/write) 1168847 1169231 384 0.0
bss 144923 145307 384 0.3
nrf52840dk_nrf52840+rpc (read/write) 1139339 1139723 384 0.0
bss 145336 145720 384 0.3
text 797744 797748 4 0.0
nrf52840dongle_nrf52840 (read/write) 1075439 1075823 384 0.0
bss 152114 152498 384 0.3
text 748700 748704 4 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1072334 1072718 384 0.0
bss 141294 141678 384 0.3
lock-app nrf52840dk_nrf52840 (read/write) 1128539 1128923 384 0.0
bss 135879 136263 384 0.3
nrf5340dk_nrf5340_cpuapp (read/write) 1032298 1032682 384 0.0
bss 132282 132666 384 0.3
pump-app nrf52840dk_nrf52840 (read/write) 1080371 1080755 384 0.0
bss 134778 135162 384 0.3
pump-controller-app nrf52840dk_nrf52840 (read/write) 1067027 1067411 384 0.0
bss 134561 134945 384 0.3
p6 all-clusters-app default (read/write) 1698868 1699252 384 0.0
.bss 149288 149672 384 0.3
all-clusters-minimal-app default (read/write) 1642876 1643260 384 0.0
.bss 148568 148952 384 0.3
light-app default (read/write) 1560148 1560532 384 0.0
.bss 140432 140816 384 0.3
lock-app default (read/write) 1597428 1597812 384 0.0
.bss 144912 145296 384 0.3
telink light-switch-app tlsr9518adk80d (read/write) 808344 808728 384 0.0
bss 71064 71448 384 0.5
text 571304 571306 2 0.0
lighting-app tlsr9518adk80d (read/write) 830280 830664 384 0.0
bss 71920 72304 384 0.5
text 589394 589396 2 0.0
Decreases (6 builds for cc13x2_26x2, nrfconnect, p6)
platform target config section 65176fa fa57fa7 change % change
cc13x2_26x2 pump-app LP_CC2652R7 (read only) 684751 684743 -8 -0.0
.text 594308 594300 -8 -0.0
nrfconnect lock-app nrf5340dk_nrf5340_cpuapp text 684108 684104 -4 -0.0
p6 all-clusters-app default (read only) 881400 881016 -384 -0.0
all-clusters-minimal-app default (read only) 882120 881736 -384 -0.0
light-app default (read only) 890464 890080 -384 -0.0
lock-app default (read only) 885968 885584 -384 -0.0
Full report (55 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 65176fa fa57fa7 change % change
bl602 lighting-app bl602 (read/write) 1383466 1383850 384 0.0
.bss 119874 120258 384 0.3
.data 4480 4480 0 0.0
.text 1051032 1051032 0 0.0
bl602+rpc (read/write) 1428970 1429354 384 0.0
.bss 127314 127698 384 0.3
.data 4600 4600 0 0.0
.text 1082788 1082788 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 672363 672363 0 0.0
(read/write) 179116 179116 0 0.0
.bss 74372 74372 0 0.0
.data 3372 3372 0 0.0
.rodata 88747 88747 0 0.0
.text 583300 583300 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 637747 637747 0 0.0
(read/write) 157948 157948 0 0.0
.bss 73660 73660 0 0.0
.data 3372 3372 0 0.0
.rodata 77979 77979 0 0.0
.text 559444 559444 0 0.0
lock-ftd LP_CC2652R7 (read only) 674079 674079 0 0.0
(read/write) 167616 167616 0 0.0
.bss 71476 71476 0 0.0
.data 3296 3296 0 0.0
.rodata 76671 76671 0 0.0
.text 596928 596928 0 0.0
lock-mtd LP_CC2652R7 (read only) 656815 656815 0 0.0
(read/write) 180568 180568 0 0.0
.bss 67164 67164 0 0.0
.data 3296 3296 0 0.0
.rodata 101759 101759 0 0.0
.text 554576 554576 0 0.0
pump-app LP_CC2652R7 (read only) 684751 684743 -8 -0.0
(read/write) 157752 157760 8 0.0
.bss 71516 71516 0 0.0
.data 3296 3296 0 0.0
.rodata 89959 89959 0 0.0
.text 594308 594300 -8 -0.0
pump-controller-app LP_CC2652R7 (read only) 669243 669243 0 0.0
(read/write) 173380 173380 0 0.0
.bss 71636 71636 0 0.0
.data 3292 3292 0 0.0
.rodata 85515 85515 0 0.0
.text 583248 583248 0 0.0
shell LP_CC2652R7 (read only) 665046 665046 0 0.0
(read/write) 181952 181952 0 0.0
.bss 76692 76692 0 0.0
.data 3376 3376 0 0.0
.rodata 85694 85694 0 0.0
.text 579036 579036 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586014 586014 0 0.0
.app_xip_area 462680 462680 0 0.0
.bss 65768 65768 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) 591830 591830 0 0.0
.app_xip_area 463712 463712 0 0.0
.bss 70552 70552 0 0.0
.data 748 748 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 598970 598970 0 0.0
.app_xip_area 476356 476356 0 0.0
.bss 65080 65080 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1100580 1100964 384 0.0
.bss 132988 133372 384 0.3
.data 2068 2068 0 0.0
.text 965500 965500 0 0.0
BRD4161A+rpc (read/write) 1154832 1155216 384 0.0
.bss 149676 150060 384 0.3
.data 2280 2280 0 0.0
.text 1002856 1002856 0 0.0
BRD4161A+rs911x (read/write) 989768 990152 384 0.0
.bss 162312 162696 384 0.2
.data 2056 2056 0 0.0
.text 825380 825380 0 0.0
lock-app BRD4161A+wf200 (read/write) 1139236 1139620 384 0.0
.bss 145488 145872 384 0.3
.data 2064 2064 0 0.0
.text 991664 991664 0 0.0
window-app BRD4161A (read/write) 1092036 1092420 384 0.0
.bss 134428 134812 384 0.3
.data 2096 2096 0 0.0
.text 955492 955492 0 0.0
esp32 all-clusters-app c3devkit (read only) 1029946 1029946 0 0.0
(read/write) 1488642 1488642 0 0.0
.dram0.bss 70832 70832 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 217776 217776 0 0.0
.flash.text 1029946 1029946 0 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1083283 1083283 0 0.0
(read/write) 490600 490600 0 0.0
.dram0.bss 76344 76344 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 248116 248116 0 0.0
.flash.text 1077899 1077899 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 645028 645412 384 0.1
.bss 69816 70200 384 0.6
.data 2044 2044 0 0.0
.text 570440 570440 0 0.0
lock k32w0+release (read/write) 702580 702964 384 0.1
.bss 70288 70672 384 0.5
.data 2052 2052 0 0.0
.text 627512 627512 0 0.0
linux all-clusters-app debug (read only) 3034113 3034113 0 0.0
(read/write) 155920 155920 0 0.0
.bss 61888 61888 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85560 85560 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 274443 274443 0 0.0
.text 2580594 2580594 0 0.0
all-clusters-minimal-app debug (read only) 2873969 2873969 0 0.0
(read/write) 147624 147624 0 0.0
.bss 61152 61152 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 78120 78120 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1152 1152 0 0.0
.rodata 274635 274635 0 0.0
.text 2422962 2422962 0 0.0
bridge-app debug+rpc (read only) 2372825 2372825 0 0.0
(read/write) 127584 127584 0 0.0
.bss 50656 50656 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67464 67464 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 203432 203432 0 0.0
.text 2006770 2006770 0 0.0
chip-tool debug (read only) 10771401 10771401 0 0.0
(read/write) 650912 650912 0 0.0
.bss 25240 25240 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 615880 615880 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 558773 558773 0 0.0
.text 8706884 8706884 0 0.0
chip-tool-ipv6only arm64 (read only) 10172764 10172764 0 0.0
(read/write) 698657 698657 0 0.0
.bss 33297 33297 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 643408 643408 0 0.0
.dynamic 560 560 0 0.0
.got 13720 13720 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 489884 489884 0 0.0
.text 8045924 8045924 0 0.0
lighting-app debug+rpc (read only) 2596809 2596809 0 0.0
(read/write) 130176 130176 0 0.0
.bss 49760 49760 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72360 72360 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 220208 220208 0 0.0
.text 2205890 2205890 0 0.0
lock-app debug (read only) 2580721 2580721 0 0.0
(read/write) 125512 125512 0 0.0
.bss 48288 48288 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69512 69512 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 896 896 0 0.0
.rodata 237264 237264 0 0.0
.text 2176802 2176802 0 0.0
ota-provider-app debug (read only) 2357881 2357881 0 0.0
(read/write) 118976 118976 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63336 63336 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 760 760 0 0.0
.rodata 209240 209240 0 0.0
.text 1985170 1985170 0 0.0
ota-requestor-app debug (read only) 2523097 2523097 0 0.0
(read/write) 127320 127320 0 0.0
.bss 50336 50336 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 68728 68728 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 848 848 0 0.0
.rodata 216000 216000 0 0.0
.text 2134530 2134530 0 0.0
shell debug (read only) 2602417 2602417 0 0.0
(read/write) 142040 142040 0 0.0
.bss 57800 57800 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77160 77160 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 234546 234546 0 0.0
.text 2209522 2209522 0 0.0
thermostat-no-ble arm64 (read only) 2356996 2356996 0 0.0
(read/write) 141825 141825 0 0.0
.bss 55345 55345 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75984 75984 0 0.0
.dynamic 560 560 0 0.0
.got 5048 5048 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 140524 140524 0 0.0
.text 1978752 1978752 0 0.0
tv-app debug (read only) 3173769 3173769 0 0.0
(read/write) 257968 257968 0 0.0
.bss 167480 167480 0 0.0
.data 4736 4736 0 0.0
.data.rel.ro 79184 79184 0 0.0
.dynamic 608 608 0 0.0
.got 4856 4856 0 0.0
.init 27 27 0 0.0
.init_array 1072 1072 0 0.0
.rodata 258856 258856 0 0.0
.text 2725170 2725170 0 0.0
tv-casting-app debug (read only) 5416161 5416161 0 0.0
(read/write) 159088 159088 0 0.0
.bss 51448 51448 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 98776 98776 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 342449 342449 0 0.0
.text 4805362 4805362 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2526188 2526188 0 0.0
.bss 222440 222824 384 0.2
.data 5584 5584 0 0.0
.text 1488804 1488804 0 0.0
all-clusters-minimal-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2476272 2476272 0 0.0
.bss 221728 222112 384 0.2
.data 5560 5560 0 0.0
.text 1438868 1438868 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2462876 2462876 0 0.0
.bss 215804 216188 384 0.2
.data 5840 5840 0 0.0
.text 1425492 1425492 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454264 2454264 0 0.0
.bss 214660 215044 384 0.2
.data 5872 5872 0 0.0
.text 1416908 1416908 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2412204 2412204 0 0.0
.bss 214648 215032 384 0.2
.data 5736 5736 0 0.0
.text 1374820 1374820 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1179539 1179923 384 0.0
bss 143343 143727 384 0.3
rodata 143268 143268 0 0.0
text 814076 814076 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1159415 1159799 384 0.0
bss 142580 142964 384 0.3
rodata 134944 134944 0 0.0
text 803064 803064 0 0.0
lighting-app nrf52840dk_nrf52840 (read/write) 1168847 1169231 384 0.0
bss 144923 145307 384 0.3
rodata 124416 124416 0 0.0
text 820584 820584 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 1139339 1139723 384 0.0
bss 145336 145720 384 0.3
rodata 115900 115900 0 0.0
text 797744 797748 4 0.0
nrf52840dongle_nrf52840 (read/write) 1075439 1075823 384 0.0
bss 152114 152498 384 0.3
rodata 93520 93520 0 0.0
text 748700 748704 4 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1072334 1072718 384 0.0
bss 141294 141678 384 0.3
rodata 116828 116828 0 0.0
text 733136 733136 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 1128539 1128923 384 0.0
bss 135879 136263 384 0.3
rodata 142396 142396 0 0.0
text 771500 771500 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1032298 1032682 384 0.0
bss 132282 132666 384 0.3
rodata 134872 134872 0 0.0
text 684108 684104 -4 -0.0
pump-app nrf52840dk_nrf52840 (read/write) 1080371 1080755 384 0.0
bss 134778 135162 384 0.3
rodata 117748 117748 0 0.0
text 749032 749032 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1067027 1067411 384 0.0
bss 134561 134945 384 0.3
rodata 114228 114228 0 0.0
text 739340 739340 0 0.0
p6 all-clusters-app default (read only) 881400 881016 -384 -0.0
(read/write) 1698868 1699252 384 0.0
.bss 149288 149672 384 0.3
.data 2656 2656 0 0.0
.text 1538536 1538536 0 0.0
all-clusters-minimal-app default (read only) 882120 881736 -384 -0.0
(read/write) 1642876 1643260 384 0.0
.bss 148568 148952 384 0.3
.data 2656 2656 0 0.0
.text 1483264 1483264 0 0.0
light-app default (read only) 890464 890080 -384 -0.0
(read/write) 1560148 1560532 384 0.0
.bss 140432 140816 384 0.3
.data 2448 2448 0 0.0
.text 1408880 1408880 0 0.0
lock-app default (read only) 885968 885584 -384 -0.0
(read/write) 1597428 1597812 384 0.0
.bss 144912 145296 384 0.3
.data 2464 2464 0 0.0
.text 1441664 1441664 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808344 808728 384 0.0
bss 71064 71448 384 0.5
noinit 43488 43488 0 0.0
text 571304 571306 2 0.0
lighting-app tlsr9518adk80d (read/write) 830280 830664 384 0.0
bss 71920 72304 384 0.5
noinit 43488 43488 0 0.0
text 589394 589396 2 0.0

Copy link
Member

@jmartinez-silabs jmartinez-silabs left a comment

Choose a reason for hiding this comment

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

32 might be a bit overkill I had succes with 24. It should account for the CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS + slack.

I assume the memory usage between 24 and 32 is rather small and has low impact.

@andy31415 andy31415 enabled auto-merge (squash) August 17, 2022 14:38
@woody-apple woody-apple added spec Mismatch between spec and implementation sve labels Aug 17, 2022
@andy31415 andy31415 merged commit f577005 into project-chip:master Aug 17, 2022
github-actions bot pushed a commit that referenced this pull request Aug 17, 2022
The maximum number of timers is set to 32, but most
platforms override this value to 16 (well, for platforms
that use heap-allocated pools, such as Darwin or Linux,
it doesn't matter).

The problem is that 16 timers is too little to handle
the spec-mandated number of active subscriptions and other
scheduled activities. Double the number of timers to pass
stress/capacity tests.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
woody-apple added a commit that referenced this pull request Aug 17, 2022
The maximum number of timers is set to 32, but most
platforms override this value to 16 (well, for platforms
that use heap-allocated pools, such as Darwin or Linux,
it doesn't matter).

The problem is that 16 timers is too little to handle
the spec-mandated number of active subscriptions and other
scheduled activities. Double the number of timers to pass
stress/capacity tests.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Co-authored-by: Damian Królik <66667989+Damian-Nordic@users.noreply.github.com>
@Damian-Nordic
Copy link
Contributor Author

@jmartinez-silabs We also use timers for each subscription (to handle the minimum interval), OTA requestor or to perform long-running commands (such as LevelControl MoveToLevel). And I'm pretty sure I might have missed some places. That's why I thought 24 could be too little in some very unfortunate scenario.

@Damian-Nordic Damian-Nordic deleted the num-timers branch August 18, 2022 07:08
isiu-apple pushed a commit to isiu-apple/connectedhomeip that referenced this pull request Sep 16, 2022
The maximum number of timers is set to 32, but most
platforms override this value to 16 (well, for platforms
that use heap-allocated pools, such as Darwin or Linux,
it doesn't matter).

The problem is that 16 timers is too little to handle
the spec-mandated number of active subscriptions and other
scheduled activities. Double the number of timers to pass
stress/capacity tests.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
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.

TC_SC_3_6.py fails due to too small number of timers
5 participants