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

Spin up commissioners in chip-tool as needed. #21830

Conversation

bzbarsky-apple
Copy link
Contributor

The basic change is that instead of spinning up commissioners during "stack
startup" for the three default identities plus the command's identity (in case
that's not one of the three defaults) we:

  1. Spin up the commissioner for the command's identity when we're actually
    running the command (on the Matter event loop). This allows commands in
    interactive mode to use an identity that is not one of the three default
    identities and fixes Using different commissioner name other than beta or gamma in chip-tool interactive mode throws segmentation error  #21828

  2. Spin up commissioners as needed when they are requested. This allows YAML
    test steps (which are not distinct commands) to use an identity that is not
    one of the three default identities.

Problem

See #21828

Change overview

See above.

Testing

Checked the steps from #21828. CI should check YAML bits.

The basic change is that instead of spinning up commissioners during "stack
startup" for the three default identities plus the command's identity (in case
that's not one of the three defaults) we:

1) Spin up the commissioner for the command's identity when we're actually
   running the command (on the Matter event loop).  This allows commands in
   interactive mode to use an identity that is not one of the three default
   identities and fixes project-chip#21828

2) Spin up commissioners as needed when they are requested.  This allows YAML
   test steps (which are not distinct commands) to use an identity that is not
   one of the three default identities.
@github-actions
Copy link

github-actions bot commented Aug 11, 2022

PR #21830: Size comparison from f2bbce7 to bb7383f

Increases above 0.2%:

platform target config section f2bbce7 bb7383f change % change
linux chip-tool debug .bss 24856 25240 384 1.5
chip-tool-ipv6only arm64 .bss 32897 33281 384 1.2
Increases (5 builds for bl602, efr32, esp32, linux)
platform target config section f2bbce7 bb7383f change % change
bl602 lighting-app bl602+rpc (read/write) 1425698 1425706 8 0.0
.text 1080132 1080136 4 0.0
efr32 lock-app BRD4161A+wf200 (read/write) 1136876 1136892 16 0.0
.text 989952 989968 16 0.0
esp32 all-clusters-app c3devkit (read only) 1026484 1026486 2 0.0
.flash.text 1026484 1026486 2 0.0
linux chip-tool debug (read/write) 650432 650816 384 0.1
.bss 24856 25240 384 1.5
chip-tool-ipv6only arm64 (read only) 10066860 10066988 128 0.0
(read/write) 698177 698577 400 0.1
.bss 32897 33281 384 1.2
.got 13688 13712 24 0.2
.rodata 482668 482780 112 0.0
Decreases (5 builds for linux, telink)
platform target config section f2bbce7 bb7383f change % change
linux chip-tool debug (read only) 10657297 10656321 -976 -0.0
.rodata 552277 551765 -512 -0.1
.text 8599252 8598788 -464 -0.0
chip-tool-ipv6only arm64 .text 7947348 7947284 -64 -0.0
tv-casting-app debug (read only) 5410729 5410489 -240 -0.0
.text 4800882 4800642 -240 -0.0
telink light-switch-app tlsr9518adk80d text 570178 570176 -2 -0.0
lighting-app tlsr9518adk80d text 588292 588290 -2 -0.0
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section f2bbce7 bb7383f change % change
bl602 lighting-app bl602 (read/write) 1380450 1380450 0 0.0
.bss 119762 119762 0 0.0
.data 4480 4480 0 0.0
.text 1048632 1048632 0 0.0
bl602+rpc (read/write) 1425698 1425706 8 0.0
.bss 127202 127202 0 0.0
.data 4600 4600 0 0.0
.text 1080132 1080136 4 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 671231 671231 0 0.0
(read/write) 180160 180160 0 0.0
.bss 74284 74284 0 0.0
.data 3372 3372 0 0.0
.rodata 88447 88447 0 0.0
.text 582468 582468 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 636623 636623 0 0.0
(read/write) 157860 157860 0 0.0
.bss 73572 73572 0 0.0
.data 3372 3372 0 0.0
.rodata 77703 77703 0 0.0
.text 558596 558596 0 0.0
lock-ftd LP_CC2652R7 (read only) 672939 672939 0 0.0
(read/write) 168644 168644 0 0.0
.bss 71364 71364 0 0.0
.data 3296 3296 0 0.0
.rodata 76387 76387 0 0.0
.text 596072 596072 0 0.0
lock-mtd LP_CC2652R7 (read only) 655547 655547 0 0.0
(read/write) 181724 181724 0 0.0
.bss 67052 67052 0 0.0
.data 3296 3296 0 0.0
.rodata 101339 101339 0 0.0
.text 553728 553728 0 0.0
pump-app LP_CC2652R7 (read only) 683195 683195 0 0.0
(read/write) 159196 159196 0 0.0
.bss 71404 71404 0 0.0
.data 3296 3296 0 0.0
.rodata 89291 89291 0 0.0
.text 593420 593420 0 0.0
pump-controller-app LP_CC2652R7 (read only) 667647 667647 0 0.0
(read/write) 174864 174864 0 0.0
.bss 71524 71524 0 0.0
.data 3292 3292 0 0.0
.rodata 84839 84839 0 0.0
.text 582328 582328 0 0.0
shell LP_CC2652R7 (read only) 663914 663914 0 0.0
(read/write) 182996 182996 0 0.0
.bss 76604 76604 0 0.0
.data 3376 3376 0 0.0
.rodata 85394 85394 0 0.0
.text 578204 578204 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 585118 585118 0 0.0
.app_xip_area 461904 461904 0 0.0
.bss 65656 65656 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) 590918 590918 0 0.0
.app_xip_area 462920 462920 0 0.0
.bss 70440 70440 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) 597466 597466 0 0.0
.app_xip_area 474972 474972 0 0.0
.bss 64968 64968 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) 1097132 1097132 0 0.0
.bss 132860 132860 0 0.0
.data 2068 2068 0 0.0
.text 962180 962180 0 0.0
BRD4161A+rpc (read/write) 1151412 1151412 0 0.0
.bss 149548 149548 0 0.0
.data 2280 2280 0 0.0
.text 999564 999564 0 0.0
BRD4161A+rs911x (read/write) 986540 986540 0 0.0
.bss 162200 162200 0 0.0
.data 2056 2056 0 0.0
.text 822264 822264 0 0.0
lock-app BRD4161A+wf200 (read/write) 1136876 1136892 16 0.0
.bss 144840 144840 0 0.0
.data 2064 2064 0 0.0
.text 989952 989968 16 0.0
window-app BRD4161A (read/write) 1088584 1088584 0 0.0
.bss 134292 134292 0 0.0
.data 2096 2096 0 0.0
.text 952176 952176 0 0.0
esp32 all-clusters-app c3devkit (read only) 1026484 1026486 2 0.0
(read/write) 1487458 1487458 0 0.0
.dram0.bss 70360 70360 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 217056 217056 0 0.0
.flash.text 1026484 1026486 2 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1079799 1079799 0 0.0
(read/write) 489416 489416 0 0.0
.dram0.bss 75864 75864 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 247412 247412 0 0.0
.flash.text 1074415 1074415 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 644076 644076 0 0.0
.bss 69728 69728 0 0.0
.data 2044 2044 0 0.0
.text 569576 569576 0 0.0
lock k32w0+release (read/write) 701364 701364 0 0.0
.bss 70200 70200 0 0.0
.data 2052 2052 0 0.0
.text 626384 626384 0 0.0
linux all-clusters-app debug (read only) 3027977 3027977 0 0.0
(read/write) 155760 155760 0 0.0
.bss 61888 61888 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85416 85416 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 273547 273547 0 0.0
.text 2575474 2575474 0 0.0
all-clusters-minimal-app debug (read only) 2867769 2867769 0 0.0
(read/write) 147496 147496 0 0.0
.bss 61152 61152 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 78008 78008 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 273675 273675 0 0.0
.text 2417842 2417842 0 0.0
bridge-app debug+rpc (read only) 2366929 2366929 0 0.0
(read/write) 127456 127456 0 0.0
.bss 50624 50624 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67368 67368 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 202600 202600 0 0.0
.text 2001826 2001826 0 0.0
chip-tool debug (read only) 10657297 10656321 -976 -0.0
(read/write) 650432 650816 384 0.1
.bss 24856 25240 384 1.5
.data 3266 3266 0 0.0
.data.rel.ro 615784 615784 0 0.0
.dynamic 608 608 0 0.0
.got 5104 5104 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 552277 551765 -512 -0.1
.text 8599252 8598788 -464 -0.0
chip-tool-ipv6only arm64 (read only) 10066860 10066988 128 0.0
(read/write) 698177 698577 400 0.1
.bss 32897 33281 384 1.2
.data 3272 3272 0 0.0
.data.rel.ro 643344 643344 0 0.0
.dynamic 560 560 0 0.0
.got 13688 13712 24 0.2
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 482668 482780 112 0.0
.text 7947348 7947284 -64 -0.0
lighting-app debug+rpc (read only) 2590849 2590849 0 0.0
(read/write) 130048 130048 0 0.0
.bss 49760 49760 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72248 72248 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 219280 219280 0 0.0
.text 2200978 2200978 0 0.0
lock-app debug (read only) 2574793 2574793 0 0.0
(read/write) 125416 125416 0 0.0
.bss 48288 48288 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69416 69416 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 236368 236368 0 0.0
.text 2171890 2171890 0 0.0
ota-provider-app debug (read only) 2352049 2352049 0 0.0
(read/write) 118848 118848 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63224 63224 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 208440 208440 0 0.0
.text 1980258 1980258 0 0.0
ota-requestor-app debug (read only) 2517425 2517425 0 0.0
(read/write) 127192 127192 0 0.0
.bss 50304 50304 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 68632 68632 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 215040 215040 0 0.0
.text 2129938 2129938 0 0.0
shell debug (read only) 2596345 2596345 0 0.0
(read/write) 141912 141912 0 0.0
.bss 57800 57800 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77024 77024 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 233650 233650 0 0.0
.text 2204466 2204466 0 0.0
thermostat-no-ble arm64 (read only) 2351772 2351772 0 0.0
(read/write) 141681 141681 0 0.0
.bss 55313 55313 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75880 75880 0 0.0
.dynamic 560 560 0 0.0
.got 5040 5040 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 139716 139716 0 0.0
.text 1974528 1974528 0 0.0
tv-app debug (read only) 3170041 3170041 0 0.0
(read/write) 257872 257872 0 0.0
.bss 167480 167480 0 0.0
.data 4736 4736 0 0.0
.data.rel.ro 79096 79096 0 0.0
.dynamic 608 608 0 0.0
.got 4864 4864 0 0.0
.init 27 27 0 0.0
.init_array 1072 1072 0 0.0
.rodata 258248 258248 0 0.0
.text 2722002 2722002 0 0.0
tv-casting-app debug (read only) 5410729 5410489 -240 -0.0
(read/write) 158992 158992 0 0.0
.bss 51448 51448 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 98672 98672 0 0.0
.dynamic 608 608 0 0.0
.got 4784 4784 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 341521 341521 0 0.0
.text 4800882 4800642 -240 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2452976 2452976 0 0.0
.bss 214572 214572 0 0.0
.data 5872 5872 0 0.0
.text 1415620 1415620 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1178359 1178359 0 0.0
bss 143230 143230 0 0.0
rodata 142776 142776 0 0.0
text 813520 813520 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1158383 1158383 0 0.0
bss 142468 142468 0 0.0
rodata 134472 134472 0 0.0
text 802508 802508 0 0.0
p6 all-clusters-app default (read only) 881512 881512 0 0.0
(read/write) 1694388 1694388 0 0.0
.bss 149176 149176 0 0.0
.data 2656 2656 0 0.0
.text 1534168 1534168 0 0.0
all-clusters-minimal-app default (read only) 882232 882232 0 0.0
(read/write) 1638428 1638428 0 0.0
.bss 148456 148456 0 0.0
.data 2656 2656 0 0.0
.text 1478928 1478928 0 0.0
light-app default (read only) 890552 890552 0 0.0
(read/write) 1557244 1557244 0 0.0
.bss 140344 140344 0 0.0
.data 2448 2448 0 0.0
.text 1406064 1406064 0 0.0
lock-app default (read only) 886056 886056 0 0.0
(read/write) 1594412 1594412 0 0.0
.bss 144824 144824 0 0.0
.data 2464 2464 0 0.0
.text 1438736 1438736 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 806472 806472 0 0.0
bss 70976 70976 0 0.0
noinit 43488 43488 0 0.0
text 570178 570176 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 828432 828432 0 0.0
bss 71832 71832 0 0.0
noinit 43488 43488 0 0.0
text 588292 588290 -2 -0.0

@bzbarsky-apple bzbarsky-apple merged commit 0d64c0b into project-chip:master Aug 11, 2022
@bzbarsky-apple bzbarsky-apple deleted the spin-up-commissioners-lazily branch August 11, 2022 18:57
isiu-apple pushed a commit to isiu-apple/connectedhomeip that referenced this pull request Sep 16, 2022
The basic change is that instead of spinning up commissioners during "stack
startup" for the three default identities plus the command's identity (in case
that's not one of the three defaults) we:

1) Spin up the commissioner for the command's identity when we're actually
   running the command (on the Matter event loop).  This allows commands in
   interactive mode to use an identity that is not one of the three default
   identities and fixes project-chip#21828

2) Spin up commissioners as needed when they are requested.  This allows YAML
   test steps (which are not distinct commands) to use an identity that is not
   one of the three default identities.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants