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] MTRDeviceController accessor for in-memory devices #37770

Conversation

jtung-apple
Copy link
Contributor

This change adds a way for a MTRDeviceController delegate to monitor when MTRDevice objects get loaded into memory. An optional delegate callback is added for monitoring, and a property is added to retrieve the list of in-memory MTRDevice objects.

This change also adds verification of this into existing testMTRDeviceDealloc test.

Testing

Ran the improved unit test. Will be doing sanity / regression testing on real devices.

@jtung-apple jtung-apple requested a review from a team as a code owner February 25, 2025 20:21
Copy link

Review changes with  SemanticDiff

Co-authored-by: Justin Wood <woody@apple.com>
Copy link

github-actions bot commented Feb 25, 2025

PR #37770: Size comparison from 2f5ee86 to bf9e72c

Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 2f5ee86 bf9e72c change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1096628 1096628 0 0.0
RAM 94842 94842 0 0.0
bl702 lighting-app bl702+eth FLASH 651606 651606 0 0.0
RAM 33509 33509 0 0.0
bl702+wifi FLASH 828878 828878 0 0.0
RAM 22233 22233 0 0.0
bl706+mfd+rpc+littlefs FLASH 1061274 1061274 0 0.0
RAM 32157 32157 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 892118 892118 0 0.0
RAM 26896 26896 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 975014 975014 0 0.0
RAM 24644 24644 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 815300 815300 0 0.0
RAM 120256 120256 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 824220 824220 0 0.0
RAM 125352 125352 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 771080 771080 0 0.0
RAM 113724 113724 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755364 755364 0 0.0
RAM 113932 113932 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538842 538842 0 0.0
RAM 205112 205112 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572998 572998 0 0.0
RAM 205360 205360 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 656429 656429 0 0.0
RAM 75324 75324 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 676289 676289 0 0.0
RAM 77964 77964 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 676289 676289 0 0.0
RAM 77964 77964 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 633213 633213 0 0.0
RAM 70392 70392 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616293 616293 0 0.0
RAM 71532 71532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635929 635929 0 0.0
RAM 74076 74076 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635929 635929 0 0.0
RAM 74076 74076 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635789 635789 0 0.0
RAM 74540 74540 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655513 655513 0 0.0
RAM 77084 77084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655513 655513 0 0.0
RAM 77084 77084 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 612137 612137 0 0.0
RAM 68628 68628 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631997 631997 0 0.0
RAM 71268 71268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631997 631997 0 0.0
RAM 71268 71268 0 0.0
efr32 lock-app BRD4187C FLASH 939536 939536 0 0.0
RAM 159920 159920 0 0.0
BRD4338a FLASH 732536 732536 0 0.0
RAM 234828 234828 0 0.0
window-app BRD4187C FLASH 1032000 1032000 0 0.0
RAM 128024 128024 0 0.0
esp32 all-clusters-app c3devkit DRAM 97312 97312 0 0.0
FLASH 1582004 1582004 0 0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116108 116108 0 0.0
FLASH 1550014 1550014 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2649887 2649887 0 0.0
RAM 111088 111088 0 0.0
all-clusters-app debug unknown 5528 5528 0 0.0
FLASH 5921360 5921360 0 0.0
RAM 513712 513712 0 0.0
all-clusters-minimal-app debug unknown 5424 5424 0 0.0
FLASH 5266394 5266394 0 0.0
RAM 221112 221112 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4625036 4625036 0 0.0
RAM 199816 199816 0 0.0
camera-app debug unknown 5424 5424 0 0.0
FLASH 4671816 4671816 0 0.0
RAM 194592 194592 0 0.0
chip-tool debug unknown 6096 6096 0 0.0
FLASH 13302351 13302351 0 0.0
RAM 603392 603392 0 0.0
chip-tool-ipv6only arm64 unknown 21976 21976 0 0.0
FLASH 11495416 11495416 0 0.0
RAM 656112 656112 0 0.0
fabric-admin debug unknown 5784 5784 0 0.0
FLASH 11567249 11567249 0 0.0
RAM 603176 603176 0 0.0
fabric-bridge-app debug unknown 4688 4688 0 0.0
FLASH 4452254 4452254 0 0.0
RAM 187016 187016 0 0.0
fabric-sync debug unknown 4944 4944 0 0.0
FLASH 5569205 5569205 0 0.0
RAM 470400 470400 0 0.0
lighting-app debug+rpc+ui unknown 6152 6152 0 0.0
FLASH 5515489 5515489 0 0.0
RAM 203952 203952 0 0.0
lock-app debug unknown 5392 5392 0 0.0
FLASH 4688504 4688504 0 0.0
RAM 191144 191144 0 0.0
ota-provider-app debug unknown 4728 4728 0 0.0
FLASH 4310684 4310684 0 0.0
RAM 179832 179832 0 0.0
ota-requestor-app debug unknown 4680 4680 0 0.0
FLASH 4440810 4440810 0 0.0
RAM 184320 184320 0 0.0
shell debug unknown 4216 4216 0 0.0
FLASH 2949196 2949196 0 0.0
RAM 143672 143672 0 0.0
thermostat-no-ble arm64 unknown 9448 9448 0 0.0
FLASH 4138392 4138392 0 0.0
RAM 229016 229016 0 0.0
tv-app debug unknown 5720 5720 0 0.0
FLASH 5908117 5908117 0 0.0
RAM 593832 593832 0 0.0
tv-casting-app debug unknown 5296 5296 0 0.0
FLASH 11472829 11472829 0 0.0
RAM 718656 718656 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907708 907708 0 0.0
RAM 142323 142323 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901788 901788 0 0.0
RAM 124663 124663 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 846312 846312 0 0.0
RAM 141251 141251 0 0.0
nxp contact k32w0+release FLASH 585256 585256 0 0.0
RAM 70876 70876 0 0.0
mcxw71+release FLASH 600712 600712 0 0.0
RAM 63096 63096 0 0.0
light k32w0+release FLASH 611196 611196 0 0.0
RAM 70164 70164 0 0.0
k32w1+release FLASH 685680 685680 0 0.0
RAM 48584 48584 0 0.0
lock mcxw71+release FLASH 749536 749536 0 0.0
RAM 67500 67500 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646188 1646188 0 0.0
RAM 211472 211472 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1552956 1552956 0 0.0
RAM 208288 208288 0 0.0
light cy8ckit_062s2_43012 FLASH 1438644 1438644 0 0.0
RAM 197040 197040 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467516 1467516 0 0.0
RAM 224704 224704 0 0.0
qpg lighting-app qpg6105+debug FLASH 662188 662188 0 0.0
RAM 105116 105116 0 0.0
lock-app qpg6105+debug FLASH 620304 620304 0 0.0
RAM 99664 99664 0 0.0
stm32 light STM32WB5MM-DK FLASH 459832 459832 0 0.0
RAM 141472 141472 0 0.0
telink bridge-app tl7218x FLASH 665034 665034 0 0.0
RAM 90728 90728 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622078 622078 0 0.0
RAM 31488 31488 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 745218 745218 0 0.0
RAM 40396 40396 0 0.0
tl7218x FLASH 753780 753780 0 0.0
RAM 97540 97540 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680850 680850 0 0.0
RAM 52192 52192 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709412 709412 0 0.0
RAM 73400 73400 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 600592 600592 0 0.0
RAM 138812 138812 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 788820 788820 0 0.0
RAM 96388 96388 0 0.0
tizen all-clusters-app arm unknown 5076 5076 0 0.0
FLASH 1750852 1750852 0 0.0
RAM 93260 93260 0 0.0
chip-tool-ubsan arm unknown 11492 11492 0 0.0
FLASH 18983694 18983694 0 0.0
RAM 8306240 8306240 0 0.0

@woody-apple woody-apple merged commit 7817fee into project-chip:master Feb 25, 2025
70 checks passed
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