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

Darwin: PlatformManagerImpl improvements #32904

Merged

Conversation

ksperling-apple
Copy link
Contributor

Make PlatformMgrImpl thread-safe by using an AtomicGlobal
Make GetWorkQueue() thread-safe by creating the queue in the constructor
Make {Start,Stop}EventLoopTask thread-safe using an atomic for state
Signal the sempahore only if non-null, no matter where stop is called from
Other minor tweaks

Add AtomicGlobal as a thread-safe variant of Global
Small improvements to TestPlatformMgr.cpp

Use NL_TEST_ASSERT_SUCCESS when checking errors
Add a few more assertions
It is simply an alias for the same type if CHIP_CONFIG_GLOBALS_LAZY_INIT is not
enabled, as the eager implementation of Global<T> is thread-safe anyway.

Use "friend" instead of "friend class" where the type might be an alias.
Make PlatformMgr[Impl]() thread-safe by using an AtomicGlobal
Make GetWorkQueue() thread-safe by creating the queue in the constructor
Make {Start,Stop}EventLoopTask thread-safe using an atomic for state
Signal the sempahore only if non-null, no matter where stop is called from
Other minor tweaks
@ksperling-apple ksperling-apple force-pushed the darwin-platformmgr-improvements branch from 13e50ae to 3a85c44 Compare April 9, 2024 01:42
Copy link

github-actions bot commented Apr 9, 2024

PR #32904: Size comparison from f29ccbe to 3a85c44

Decreases (1 build for efr32)
platform target config section f29ccbe 3a85c44 change % change
efr32 lock-app BRD4338a (read/write) 960152 960144 -8 -0.0
.text 700308 700300 -8 -0.0
Full report (61 builds for cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
platform target config section f29ccbe 3a85c44 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 (read only) 782140 782140 0 0.0
(read/write) 168824 168824 0 0.0
.bss 90780 90780 0 0.0
.data 3584 3584 0 0.0
.rodata 82596 82596 0 0.0
.text 699276 699276 0 0.0
lock-ftd LP_EM_CC1354P10_6 (read only) 798188 798188 0 0.0
(read/write) 178976 178976 0 0.0
.bss 100948 100948 0 0.0
.data 3576 3576 0 0.0
.rodata 76684 76684 0 0.0
.text 721236 721236 0 0.0
lock-mtd LP_EM_CC1354P10_6 (read only) 786948 786948 0 0.0
(read/write) 173416 173416 0 0.0
.bss 95388 95388 0 0.0
.data 3576 3576 0 0.0
.rodata 103500 103500 0 0.0
.text 683180 683180 0 0.0
pump-app LP_EM_CC1354P10_6 (read only) 739244 739244 0 0.0
(read/write) 167784 167784 0 0.0
.bss 89520 89520 0 0.0
.data 3568 3568 0 0.0
.rodata 78260 78260 0 0.0
.text 660716 660716 0 0.0
pump-controller-app LP_EM_CC1354P10_6 (read only) 724884 724884 0 0.0
(read/write) 168000 168000 0 0.0
.bss 89736 89736 0 0.0
.data 3568 3568 0 0.0
.rodata 74036 74036 0 0.0
.text 650580 650580 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL (read only) 586338 586338 0 0.0
(read/write) 208080 208080 0 0.0
.bss 201308 201308 0 0.0
.data 1648 1648 0 0.0
.rodata 87482 87482 0 0.0
.text 496732 496732 0 0.0
lock CC3235SF_LAUNCHXL (read only) 631138 631138 0 0.0
(read/write) 208336 208336 0 0.0
.bss 201712 201712 0 0.0
.data 1504 1504 0 0.0
.rodata 107826 107826 0 0.0
.text 521188 521188 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 569303 569303 0 0.0
.app_xip_area 459221 459221 0 0.0
.bss 64908 64908 0 0.0
.data 752 752 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 551559 551559 0 0.0
.app_xip_area 436805 436805 0 0.0
.bss 69572 69572 0 0.0
.data 760 760 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 572519 572519 0 0.0
.app_xip_area 463941 463941 0 0.0
.bss 63444 63444 0 0.0
.data 712 712 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
switch cyw930739m2evb_01 (read/write) 564591 564591 0 0.0
.app_xip_area 452821 452821 0 0.0
.bss 66556 66556 0 0.0
.data 792 792 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4187C (read/write) 1113680 1113680 0 0.0
.bss 195272 195272 0 0.0
.data 3432 3432 0 0.0
.text 914956 914956 0 0.0
lock-app BRD4338a (read/write) 960152 960144 -8 -0.0
.bss 210204 210204 0 0.0
.data 30272 30272 0 0.0
.text 700308 700300 -8 -0.0
window-app BRD4187C (read/write) 1160904 1160904 0 0.0
.bss 167600 167600 0 0.0
.data 3336 3336 0 0.0
.text 989948 989948 0 0.0
esp32 all-clusters-app c3devkit (read only) 1213360 1213360 0 0.0
(read/write) 1750312 1750312 0 0.0
.dram0.bss 74384 74384 0 0.0
.dram0.data 13628 13628 0 0.0
.flash.rodata 252776 252776 0 0.0
.flash.text 1213360 1213360 0 0.0
.iram0.text 75530 75530 0 0.0
m5stack (read only) 1255167 1255167 0 0.0
(read/write) 536460 536460 0 0.0
.dram0.bss 81064 81064 0 0.0
.dram0.data 35180 35180 0 0.0
.flash.rodata 284296 284296 0 0.0
.flash.text 1249003 1249003 0 0.0
.iram0.text 125403 125403 0 0.0
linux air-purifier-app debug (read only) 2644685 2644685 0 0.0
(read/write) 130032 130032 0 0.0
.bss 46736 46736 0 0.0
.data 2272 2272 0 0.0
.data.rel.ro 75080 75080 0 0.0
.dynamic 608 608 0 0.0
.got 4520 4520 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 184848 184848 0 0.0
.text 2280821 2280821 0 0.0
all-clusters-app debug (read only) 5953177 5953177 0 0.0
(read/write) 481536 481536 0 0.0
.bss 135072 135072 0 0.0
.data 4560 4560 0 0.0
.data.rel.ro 334472 334472 0 0.0
.dynamic 624 624 0 0.0
.got 5328 5328 0 0.0
.init 27 27 0 0.0
.init_array 1432 1432 0 0.0
.rodata 350384 350384 0 0.0
.text 5167987 5167987 0 0.0
all-clusters-minimal-app debug (read only) 5233393 5233393 0 0.0
(read/write) 237488 237488 0 0.0
.bss 127904 127904 0 0.0
.data 4464 4464 0 0.0
.data.rel.ro 98056 98056 0 0.0
.dynamic 624 624 0 0.0
.got 5248 5248 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 289322 289322 0 0.0
.text 4707923 4707923 0 0.0
bridge-app debug (read only) 4626889 4626889 0 0.0
(read/write) 218336 218336 0 0.0
.bss 118400 118400 0 0.0
.data 6240 6240 0 0.0
.data.rel.ro 86976 86976 0 0.0
.dynamic 624 624 0 0.0
.got 5216 5216 0 0.0
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 230186 230186 0 0.0
.text 4174979 4174979 0 0.0
chip-tool debug (read only) 12081817 12081817 0 0.0
(read/write) 523032 523032 0 0.0
.bss 94680 94680 0 0.0
.data 5122 5122 0 0.0
.data.rel.ro 416000 416000 0 0.0
.dynamic 624 624 0 0.0
.got 5736 5736 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 451225 451225 0 0.0
.text 10922211 10922211 0 0.0
chip-tool-ipv6only arm64 (read only) 11401204 11401204 0 0.0
(read/write) 590032 590032 0 0.0
.bss 103736 103736 0 0.0
.data 4512 4512 0 0.0
.data.rel.ro 455952 455952 0 0.0
.dynamic 512 512 0 0.0
.got 17112 17112 0 0.0
.init 24 24 0 0.0
.init_array 280 280 0 0.0
.rodata 355908 355908 0 0.0
.text 10163560 10163560 0 0.0
lighting-app debug+rpc+ui (read only) 5549753 5549753 0 0.0
(read/write) 227096 227096 0 0.0
.bss 119336 119336 0 0.0
.data 4864 4864 0 0.0
.data.rel.ro 95376 95376 0 0.0
.dynamic 672 672 0 0.0
.got 5856 5856 0 0.0
.init 27 27 0 0.0
.init_array 968 968 0 0.0
.rodata 354004 354004 0 0.0
.text 4947635 4947635 0 0.0
lock-app debug (read only) 4691857 4691857 0 0.0
(read/write) 205552 205552 0 0.0
.bss 113696 113696 0 0.0
.data 4160 4160 0 0.0
.data.rel.ro 81016 81016 0 0.0
.dynamic 624 624 0 0.0
.got 5168 5168 0 0.0
.init 27 27 0 0.0
.init_array 872 872 0 0.0
.rodata 255882 255882 0 0.0
.text 4223315 4223315 0 0.0
ota-provider-app debug (read only) 4308121 4308121 0 0.0
(read/write) 194224 194224 0 0.0
.bss 113472 113472 0 0.0
.data 4368 4368 0 0.0
.data.rel.ro 70448 70448 0 0.0
.dynamic 624 624 0 0.0
.got 4536 4536 0 0.0
.init 27 27 0 0.0
.init_array 744 744 0 0.0
.rodata 209098 209098 0 0.0
.text 3904515 3904515 0 0.0
ota-requestor-app debug (read only) 4437785 4437785 0 0.0
(read/write) 198592 198592 0 0.0
.bss 114368 114368 0 0.0
.data 4768 4768 0 0.0
.data.rel.ro 73552 73552 0 0.0
.dynamic 624 624 0 0.0
.got 4472 4472 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 215338 215338 0 0.0
.text 4023395 4023395 0 0.0
shell debug (read only) 2919153 2919153 0 0.0
(read/write) 156936 156936 0 0.0
.bss 62544 62544 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 87168 87168 0 0.0
.dynamic 592 592 0 0.0
.got 4056 4056 0 0.0
.init 27 27 0 0.0
.init_array 1104 1104 0 0.0
.rodata 186208 186208 0 0.0
.text 2558242 2558242 0 0.0
thermostat-no-ble arm64 (read only) 4426844 4426844 0 0.0
(read/write) 244432 244432 0 0.0
.bss 121976 121976 0 0.0
.data 3392 3392 0 0.0
.data.rel.ro 104312 104312 0 0.0
.dynamic 512 512 0 0.0
.got 8712 8712 0 0.0
.init 24 24 0 0.0
.init_array 448 448 0 0.0
.rodata 160052 160052 0 0.0
.text 3930200 3930200 0 0.0
tv-app debug (read only) 5762225 5762225 0 0.0
(read/write) 353200 353200 0 0.0
.bss 244240 244240 0 0.0
.data 6560 6560 0 0.0
.data.rel.ro 95128 95128 0 0.0
.dynamic 624 624 0 0.0
.got 5464 5464 0 0.0
.init 27 27 0 0.0
.init_array 1176 1176 0 0.0
.rodata 293162 293162 0 0.0
.text 5225811 5225811 0 0.0
tv-casting-app debug (read only) 9892209 9892209 0 0.0
(read/write) 342608 342608 0 0.0
.bss 157904 157904 0 0.0
.data 3008 3008 0 0.0
.data.rel.ro 174816 174816 0 0.0
.dynamic 624 624 0 0.0
.got 5040 5040 0 0.0
.init 27 27 0 0.0
.init_array 1208 1208 0 0.0
.rodata 383576 383576 0 0.0
.text 9041923 9041923 0 0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2534472 2534472 0 0.0
.bss 220472 220472 0 0.0
.data 5216 5216 0 0.0
.text 1497156 1497156 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1064428 1064428 0 0.0
bss 133107 133107 0 0.0
rodata 103020 103020 0 0.0
text 781088 781088 0 0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1225420 1225420 0 0.0
bss 127163 127163 0 0.0
rodata 151304 151304 0 0.0
text 796932 796932 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1011908 1011908 0 0.0
bss 131965 131965 0 0.0
rodata 90284 90284 0 0.0
text 742456 742456 0 0.0
nxp contact k32w0+release (read only) 574540 574540 0 0.0
(read/write) 79988 79988 0 0.0
.bss 67824 67824 0 0.0
.data 2180 2180 0 0.0
.text 574004 574004 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 701612 701612 0 0.0
.bss 71176 71176 0 0.0
.data 2856 2856 0 0.0
.text 588200 588200 0 0.0
light k32w0+release (read only) 608616 608616 0 0.0
(read/write) 79464 79464 0 0.0
.bss 67280 67280 0 0.0
.data 2200 2200 0 0.0
.text 608080 608080 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 793520 793520 0 0.0
.bss 80728 80728 0 0.0
.data 2056 2056 0 0.0
.text 671368 671368 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 832280 832280 0 0.0
(read/write) 1802740 1802740 0 0.0
.bss 198372 198372 0 0.0
.data 2688 2688 0 0.0
.text 1593292 1593292 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 835432 835432 0 0.0
(read/write) 1724628 1724628 0 0.0
.bss 195252 195252 0 0.0
.data 2656 2656 0 0.0
.text 1518332 1518332 0 0.0
light cy8ckit_062s2_43012 (read only) 842160 842160 0 0.0
(read/write) 1643364 1643364 0 0.0
.bss 188716 188716 0 0.0
.data 2464 2464 0 0.0
.text 1443796 1443796 0 0.0
lock cy8ckit_062s2_43012 (read only) 815096 815096 0 0.0
(read/write) 1672132 1672132 0 0.0
.bss 215788 215788 0 0.0
.data 2456 2456 0 0.0
.text 1445500 1445500 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1131888 1131888 0 0.0
.bss 102572 102572 0 0.0
.data 844 844 0 0.0
.text 644272 644272 0 0.0
lock-app qpg6105+debug (read/write) 1091704 1091704 0 0.0
.bss 97236 97236 0 0.0
.data 856 856 0 0.0
.text 604084 604084 0 0.0
stm32 light STM32WB5MM-DK (read/write) 603445 603445 0 0.0
.bss 128436 128436 0 0.0
.data 676 676 0 0.0
.rodata 80180 80180 0 0.0
.text 384408 384408 0 0.0
telink air-quality-sensor-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 832374 832374 0 0.0
bss 49820 49820 0 0.0
text 623490 623490 0 0.0
all-clusters-app tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 1095840 1095840 0 0.0
bss 101520 101520 0 0.0
text 797224 797224 0 0.0
all-clusters-minimal-app tlsr9528a (read only) 47960 47960 0 0.0
(read/write) 1057304 1057304 0 0.0
bss 109968 109968 0 0.0
text 771586 771586 0 0.0
bridge-app tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 912792 912792 0 0.0
bss 92724 92724 0 0.0
text 655024 655024 0 0.0
contact-sensor-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 834346 834346 0 0.0
bss 49864 49864 0 0.0
text 625536 625536 0 0.0
light-switch-app-ota-shell-factory-data tlsr9528a (read only) 51584 51584 0 0.0
(read/write) 935056 935056 0 0.0
bss 77476 77476 0 0.0
text 702154 702154 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d (read only) 29122 29122 0 0.0
(read/write) 1089208 1089208 0 0.0
bss 99816 99816 0 0.0
text 793034 793034 0 0.0
lock-app-dfu tlsr9528a (read only) 51584 51584 0 0.0
(read/write) 909632 909632 0 0.0
bss 69144 69144 0 0.0
text 659116 659116 0 0.0
ota-requestor-app tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 932484 932484 0 0.0
bss 92428 92428 0 0.0
text 674596 674596 0 0.0
pump-app tlsr9258a_retention (read only) 51774 51774 0 0.0
(read/write) 837090 837090 0 0.0
bss 49968 49968 0 0.0
text 628604 628604 0 0.0
pump-controller-app tlsr9518adk80d (read only) 31872 31872 0 0.0
(read/write) 798176 798176 0 0.0
bss 56036 56036 0 0.0
text 597594 597594 0 0.0
shell tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 675812 675812 0 0.0
bss 73412 73412 0 0.0
text 461586 461586 0 0.0
smoke_co_alarm-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 842086 842086 0 0.0
bss 51500 51500 0 0.0
text 632078 632078 0 0.0
temperature-measurement-app-mars-ota tlsr9518adk80d (read only) 32220 32220 0 0.0
(read/write) 857841 857841 0 0.0
bss 59660 59660 0 0.0
text 641644 641644 0 0.0
thermostat tlsr9518adk80d (read only) 31872 31872 0 0.0
(read/write) 823668 823668 0 0.0
bss 56368 56368 0 0.0
text 617086 617086 0 0.0
window-covering tlsr9258a (read only) 51584 51584 0 0.0
(read/write) 842692 842692 0 0.0
bss 68008 68008 0 0.0
text 633108 633108 0 0.0

Copy link

github-actions bot commented Apr 9, 2024

PR #32904: Size comparison from f29ccbe to c1a2732

Decreases (1 build for efr32)
platform target config section f29ccbe c1a2732 change % change
efr32 lock-app BRD4338a (read/write) 960152 960144 -8 -0.0
.text 700308 700300 -8 -0.0
Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
platform target config section f29ccbe c1a2732 change % change
bl602 lighting-app bl602 (read/write) 1442386 1442386 0 0.0
.bss 85432 85432 0 0.0
.data 9504 9504 0 0.0
.rodata 159044 159044 0 0.0
.text 1107738 1107738 0 0.0
bl602+mfd (read/write) 1456802 1456802 0 0.0
.bss 85600 85600 0 0.0
.data 9480 9480 0 0.0
.rodata 158004 158004 0 0.0
.text 1123056 1123056 0 0.0
bl602+rpc (read/write) 1490026 1490026 0 0.0
.bss 93480 93480 0 0.0
.data 9880 9880 0 0.0
.rodata 166612 166612 0 0.0
.text 1139384 1139384 0 0.0
bl702 lighting-app bl702 (read only) 3478 3478 0 0.0
(read/write) 1207079 1207079 0 0.0
.bss 11217 11217 0 0.0
.data 3688 3688 0 0.0
.rodata 108404 108404 0 0.0
.text 976886 976886 0 0.0
bl702+mfd (read only) 3478 3478 0 0.0
(read/write) 1217891 1217891 0 0.0
.bss 11393 11393 0 0.0
.data 3664 3664 0 0.0
.rodata 107344 107344 0 0.0
.text 988640 988640 0 0.0
bl702+rpc (read only) 3478 3478 0 0.0
(read/write) 1298815 1298815 0 0.0
.bss 19701 19701 0 0.0
.data 4224 4224 0 0.0
.rodata 123776 123776 0 0.0
.text 1051850 1051850 0 0.0
bl706-eth (read/write) 1024513 1024513 0 0.0
.bss 23792 23792 0 0.0
.data 3264 3264 0 0.0
.rodata 101728 101728 0 0.0
.text 767742 767742 0 0.0
bl706-wifi (read/write) 1259190 1259190 0 0.0
.bss 10677 10677 0 0.0
.data 3696 3696 0 0.0
.rodata 122728 122728 0 0.0
.text 999650 999650 0 0.0
bl702l lighting-app bl702l (read only) 512 512 0 0.0
(read/write) 1176420 1176420 0 0.0
.bss 16428 16428 0 0.0
.data 5048 5048 0 0.0
.rodata 102408 102408 0 0.0
.text 969752 969752 0 0.0
bl702l+mfd (read only) 512 512 0 0.0
(read/write) 1187828 1187828 0 0.0
.bss 16604 16604 0 0.0
.data 5032 5032 0 0.0
.rodata 101348 101348 0 0.0
.text 982074 982074 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 (read only) 782140 782140 0 0.0
(read/write) 168824 168824 0 0.0
.bss 90780 90780 0 0.0
.data 3584 3584 0 0.0
.rodata 82596 82596 0 0.0
.text 699276 699276 0 0.0
lock-ftd LP_EM_CC1354P10_6 (read only) 798188 798188 0 0.0
(read/write) 178976 178976 0 0.0
.bss 100948 100948 0 0.0
.data 3576 3576 0 0.0
.rodata 76684 76684 0 0.0
.text 721236 721236 0 0.0
lock-mtd LP_EM_CC1354P10_6 (read only) 786948 786948 0 0.0
(read/write) 173416 173416 0 0.0
.bss 95388 95388 0 0.0
.data 3576 3576 0 0.0
.rodata 103500 103500 0 0.0
.text 683180 683180 0 0.0
pump-app LP_EM_CC1354P10_6 (read only) 739244 739244 0 0.0
(read/write) 167784 167784 0 0.0
.bss 89520 89520 0 0.0
.data 3568 3568 0 0.0
.rodata 78260 78260 0 0.0
.text 660716 660716 0 0.0
pump-controller-app LP_EM_CC1354P10_6 (read only) 724884 724884 0 0.0
(read/write) 168000 168000 0 0.0
.bss 89736 89736 0 0.0
.data 3568 3568 0 0.0
.rodata 74036 74036 0 0.0
.text 650580 650580 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL (read only) 586338 586338 0 0.0
(read/write) 208080 208080 0 0.0
.bss 201308 201308 0 0.0
.data 1648 1648 0 0.0
.rodata 87482 87482 0 0.0
.text 496732 496732 0 0.0
lock CC3235SF_LAUNCHXL (read only) 631138 631138 0 0.0
(read/write) 208336 208336 0 0.0
.bss 201712 201712 0 0.0
.data 1504 1504 0 0.0
.rodata 107826 107826 0 0.0
.text 521188 521188 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 569303 569303 0 0.0
.app_xip_area 459221 459221 0 0.0
.bss 64908 64908 0 0.0
.data 752 752 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 551559 551559 0 0.0
.app_xip_area 436805 436805 0 0.0
.bss 69572 69572 0 0.0
.data 760 760 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 572519 572519 0 0.0
.app_xip_area 463941 463941 0 0.0
.bss 63444 63444 0 0.0
.data 712 712 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
switch cyw930739m2evb_01 (read/write) 564591 564591 0 0.0
.app_xip_area 452821 452821 0 0.0
.bss 66556 66556 0 0.0
.data 792 792 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4187C (read/write) 1113680 1113680 0 0.0
.bss 195272 195272 0 0.0
.data 3432 3432 0 0.0
.text 914956 914956 0 0.0
lock-app BRD4338a (read/write) 960152 960144 -8 -0.0
.bss 210204 210204 0 0.0
.data 30272 30272 0 0.0
.text 700308 700300 -8 -0.0
window-app BRD4187C (read/write) 1160904 1160904 0 0.0
.bss 167600 167600 0 0.0
.data 3336 3336 0 0.0
.text 989948 989948 0 0.0
esp32 all-clusters-app c3devkit (read only) 1213360 1213360 0 0.0
(read/write) 1750312 1750312 0 0.0
.dram0.bss 74384 74384 0 0.0
.dram0.data 13628 13628 0 0.0
.flash.rodata 252776 252776 0 0.0
.flash.text 1213360 1213360 0 0.0
.iram0.text 75530 75530 0 0.0
m5stack (read only) 1255167 1255167 0 0.0
(read/write) 536460 536460 0 0.0
.dram0.bss 81064 81064 0 0.0
.dram0.data 35180 35180 0 0.0
.flash.rodata 284296 284296 0 0.0
.flash.text 1249003 1249003 0 0.0
.iram0.text 125403 125403 0 0.0
linux air-purifier-app debug (read only) 2644685 2644685 0 0.0
(read/write) 130032 130032 0 0.0
.bss 46736 46736 0 0.0
.data 2272 2272 0 0.0
.data.rel.ro 75080 75080 0 0.0
.dynamic 608 608 0 0.0
.got 4520 4520 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 184848 184848 0 0.0
.text 2280821 2280821 0 0.0
all-clusters-app debug (read only) 5953177 5953177 0 0.0
(read/write) 481536 481536 0 0.0
.bss 135072 135072 0 0.0
.data 4560 4560 0 0.0
.data.rel.ro 334472 334472 0 0.0
.dynamic 624 624 0 0.0
.got 5328 5328 0 0.0
.init 27 27 0 0.0
.init_array 1432 1432 0 0.0
.rodata 350384 350384 0 0.0
.text 5167987 5167987 0 0.0
all-clusters-minimal-app debug (read only) 5233393 5233393 0 0.0
(read/write) 237488 237488 0 0.0
.bss 127904 127904 0 0.0
.data 4464 4464 0 0.0
.data.rel.ro 98056 98056 0 0.0
.dynamic 624 624 0 0.0
.got 5248 5248 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 289322 289322 0 0.0
.text 4707923 4707923 0 0.0
bridge-app debug (read only) 4626889 4626889 0 0.0
(read/write) 218336 218336 0 0.0
.bss 118400 118400 0 0.0
.data 6240 6240 0 0.0
.data.rel.ro 86976 86976 0 0.0
.dynamic 624 624 0 0.0
.got 5216 5216 0 0.0
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 230186 230186 0 0.0
.text 4174979 4174979 0 0.0
chip-tool debug (read only) 12081817 12081817 0 0.0
(read/write) 523032 523032 0 0.0
.bss 94680 94680 0 0.0
.data 5122 5122 0 0.0
.data.rel.ro 416000 416000 0 0.0
.dynamic 624 624 0 0.0
.got 5736 5736 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 451225 451225 0 0.0
.text 10922211 10922211 0 0.0
chip-tool-ipv6only arm64 (read only) 11401204 11401204 0 0.0
(read/write) 590032 590032 0 0.0
.bss 103736 103736 0 0.0
.data 4512 4512 0 0.0
.data.rel.ro 455952 455952 0 0.0
.dynamic 512 512 0 0.0
.got 17112 17112 0 0.0
.init 24 24 0 0.0
.init_array 280 280 0 0.0
.rodata 355908 355908 0 0.0
.text 10163560 10163560 0 0.0
lighting-app debug+rpc+ui (read only) 5549753 5549753 0 0.0
(read/write) 227096 227096 0 0.0
.bss 119336 119336 0 0.0
.data 4864 4864 0 0.0
.data.rel.ro 95376 95376 0 0.0
.dynamic 672 672 0 0.0
.got 5856 5856 0 0.0
.init 27 27 0 0.0
.init_array 968 968 0 0.0
.rodata 354004 354004 0 0.0
.text 4947635 4947635 0 0.0
lock-app debug (read only) 4691857 4691857 0 0.0
(read/write) 205552 205552 0 0.0
.bss 113696 113696 0 0.0
.data 4160 4160 0 0.0
.data.rel.ro 81016 81016 0 0.0
.dynamic 624 624 0 0.0
.got 5168 5168 0 0.0
.init 27 27 0 0.0
.init_array 872 872 0 0.0
.rodata 255882 255882 0 0.0
.text 4223315 4223315 0 0.0
ota-provider-app debug (read only) 4308121 4308121 0 0.0
(read/write) 194224 194224 0 0.0
.bss 113472 113472 0 0.0
.data 4368 4368 0 0.0
.data.rel.ro 70448 70448 0 0.0
.dynamic 624 624 0 0.0
.got 4536 4536 0 0.0
.init 27 27 0 0.0
.init_array 744 744 0 0.0
.rodata 209098 209098 0 0.0
.text 3904515 3904515 0 0.0
ota-requestor-app debug (read only) 4437785 4437785 0 0.0
(read/write) 198592 198592 0 0.0
.bss 114368 114368 0 0.0
.data 4768 4768 0 0.0
.data.rel.ro 73552 73552 0 0.0
.dynamic 624 624 0 0.0
.got 4472 4472 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 215338 215338 0 0.0
.text 4023395 4023395 0 0.0
shell debug (read only) 2919153 2919153 0 0.0
(read/write) 156936 156936 0 0.0
.bss 62544 62544 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 87168 87168 0 0.0
.dynamic 592 592 0 0.0
.got 4056 4056 0 0.0
.init 27 27 0 0.0
.init_array 1104 1104 0 0.0
.rodata 186208 186208 0 0.0
.text 2558242 2558242 0 0.0
thermostat-no-ble arm64 (read only) 4426844 4426844 0 0.0
(read/write) 244432 244432 0 0.0
.bss 121976 121976 0 0.0
.data 3392 3392 0 0.0
.data.rel.ro 104312 104312 0 0.0
.dynamic 512 512 0 0.0
.got 8712 8712 0 0.0
.init 24 24 0 0.0
.init_array 448 448 0 0.0
.rodata 160052 160052 0 0.0
.text 3930200 3930200 0 0.0
tv-app debug (read only) 5762225 5762225 0 0.0
(read/write) 353200 353200 0 0.0
.bss 244240 244240 0 0.0
.data 6560 6560 0 0.0
.data.rel.ro 95128 95128 0 0.0
.dynamic 624 624 0 0.0
.got 5464 5464 0 0.0
.init 27 27 0 0.0
.init_array 1176 1176 0 0.0
.rodata 293162 293162 0 0.0
.text 5225811 5225811 0 0.0
tv-casting-app debug (read only) 9892209 9892209 0 0.0
(read/write) 342608 342608 0 0.0
.bss 157904 157904 0 0.0
.data 3008 3008 0 0.0
.data.rel.ro 174816 174816 0 0.0
.dynamic 624 624 0 0.0
.got 5040 5040 0 0.0
.init 27 27 0 0.0
.init_array 1208 1208 0 0.0
.rodata 383576 383576 0 0.0
.text 9041923 9041923 0 0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2534472 2534472 0 0.0
.bss 220472 220472 0 0.0
.data 5216 5216 0 0.0
.text 1497156 1497156 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1064428 1064428 0 0.0
bss 133107 133107 0 0.0
rodata 103020 103020 0 0.0
text 781088 781088 0 0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1225420 1225420 0 0.0
bss 127163 127163 0 0.0
rodata 151304 151304 0 0.0
text 796932 796932 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1011908 1011908 0 0.0
bss 131965 131965 0 0.0
rodata 90284 90284 0 0.0
text 742456 742456 0 0.0
nxp contact k32w0+release (read only) 574540 574540 0 0.0
(read/write) 79988 79988 0 0.0
.bss 67824 67824 0 0.0
.data 2180 2180 0 0.0
.text 574004 574004 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 701612 701612 0 0.0
.bss 71176 71176 0 0.0
.data 2856 2856 0 0.0
.text 588200 588200 0 0.0
light k32w0+release (read only) 608616 608616 0 0.0
(read/write) 79464 79464 0 0.0
.bss 67280 67280 0 0.0
.data 2200 2200 0 0.0
.text 608080 608080 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 793520 793520 0 0.0
.bss 80728 80728 0 0.0
.data 2056 2056 0 0.0
.text 671368 671368 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 832280 832280 0 0.0
(read/write) 1802740 1802740 0 0.0
.bss 198372 198372 0 0.0
.data 2688 2688 0 0.0
.text 1593292 1593292 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 835432 835432 0 0.0
(read/write) 1724628 1724628 0 0.0
.bss 195252 195252 0 0.0
.data 2656 2656 0 0.0
.text 1518332 1518332 0 0.0
light cy8ckit_062s2_43012 (read only) 842160 842160 0 0.0
(read/write) 1643364 1643364 0 0.0
.bss 188716 188716 0 0.0
.data 2464 2464 0 0.0
.text 1443796 1443796 0 0.0
lock cy8ckit_062s2_43012 (read only) 815096 815096 0 0.0
(read/write) 1672132 1672132 0 0.0
.bss 215788 215788 0 0.0
.data 2456 2456 0 0.0
.text 1445500 1445500 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1131888 1131888 0 0.0
.bss 102572 102572 0 0.0
.data 844 844 0 0.0
.text 644272 644272 0 0.0
lock-app qpg6105+debug (read/write) 1091704 1091704 0 0.0
.bss 97236 97236 0 0.0
.data 856 856 0 0.0
.text 604084 604084 0 0.0
stm32 light STM32WB5MM-DK (read/write) 603445 603445 0 0.0
.bss 128436 128436 0 0.0
.data 676 676 0 0.0
.rodata 80180 80180 0 0.0
.text 384408 384408 0 0.0
telink air-quality-sensor-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 832374 832374 0 0.0
bss 49820 49820 0 0.0
text 623490 623490 0 0.0
all-clusters-app tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 1095840 1095840 0 0.0
bss 101520 101520 0 0.0
text 797224 797224 0 0.0
all-clusters-minimal-app tlsr9528a (read only) 47960 47960 0 0.0
(read/write) 1057304 1057304 0 0.0
bss 109968 109968 0 0.0
text 771586 771586 0 0.0
bridge-app tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 912792 912792 0 0.0
bss 92724 92724 0 0.0
text 655024 655024 0 0.0
contact-sensor-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 834346 834346 0 0.0
bss 49864 49864 0 0.0
text 625536 625536 0 0.0
light-switch-app-ota-shell-factory-data tlsr9528a (read only) 51584 51584 0 0.0
(read/write) 935056 935056 0 0.0
bss 77476 77476 0 0.0
text 702154 702154 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d (read only) 29122 29122 0 0.0
(read/write) 1089208 1089208 0 0.0
bss 99816 99816 0 0.0
text 793034 793034 0 0.0
lock-app-dfu tlsr9528a (read only) 51584 51584 0 0.0
(read/write) 909632 909632 0 0.0
bss 69144 69144 0 0.0
text 659116 659116 0 0.0
ota-requestor-app tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 932484 932484 0 0.0
bss 92428 92428 0 0.0
text 674596 674596 0 0.0
pump-app tlsr9258a_retention (read only) 51774 51774 0 0.0
(read/write) 837090 837090 0 0.0
bss 49968 49968 0 0.0
text 628604 628604 0 0.0
pump-controller-app tlsr9518adk80d (read only) 31872 31872 0 0.0
(read/write) 798176 798176 0 0.0
bss 56036 56036 0 0.0
text 597594 597594 0 0.0
shell tlsr9518adk80d (read only) 29042 29042 0 0.0
(read/write) 675812 675812 0 0.0
bss 73412 73412 0 0.0
text 461586 461586 0 0.0
smoke_co_alarm-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 842086 842086 0 0.0
bss 51500 51500 0 0.0
text 632078 632078 0 0.0
temperature-measurement-app-mars-ota tlsr9518adk80d (read only) 32220 32220 0 0.0
(read/write) 857841 857841 0 0.0
bss 59660 59660 0 0.0
text 641644 641644 0 0.0
thermostat tlsr9518adk80d (read only) 31872 31872 0 0.0
(read/write) 823668 823668 0 0.0
bss 56368 56368 0 0.0
text 617086 617086 0 0.0
window-covering tlsr9258a (read only) 51584 51584 0 0.0
(read/write) 842692 842692 0 0.0
bss 68008 68008 0 0.0
text 633108 633108 0 0.0

@mergify mergify bot merged commit 7aa7748 into project-chip:master Apr 10, 2024
66 checks passed
@ksperling-apple ksperling-apple deleted the darwin-platformmgr-improvements branch April 10, 2024 17:03
shaoltan-amazon pushed a commit to shaoltan-amazon/connectedhomeip that referenced this pull request Apr 10, 2024
* Small improvements to TestPlatformMgr.cpp

Use NL_TEST_ASSERT_SUCCESS when checking errors
Add a few more assertions

* Add AtomicGlobal<T> as a thread-safe variant of Global<T>

It is simply an alias for the same type if CHIP_CONFIG_GLOBALS_LAZY_INIT is not
enabled, as the eager implementation of Global<T> is thread-safe anyway.

Use "friend" instead of "friend class" where the type might be an alias.

* Darwin: PlatformManagerImpl improvements

Make PlatformMgr[Impl]() thread-safe by using an AtomicGlobal
Make GetWorkQueue() thread-safe by creating the queue in the constructor
Make {Start,Stop}EventLoopTask thread-safe using an atomic for state
Signal the sempahore only if non-null, no matter where stop is called from
Other minor tweaks

* Don't reference std::call_once unless CHIP_CONFIG_GLOBALS_LAZY_INIT=1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants