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

TCP: Use RunOnTCPIP() for the LwIP TCP EndPoint and Fix memory leak in PacketBufferHandle::New() #36962

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

wqx6
Copy link
Contributor

@wqx6 wqx6 commented Jan 6, 2025

Changes

  • Use RunOnTCPIP() in TCPEndPointImplLwIP instead of LOCK_TCPIP_CORE()/UNLOCK_TCPIP_CORE().
  • The LwIP callback with call function NewEndPoint() which is required to be called in Matter context. And the new endpoint will be used immediately after it is created. so we cannot use ScheduleLambda(). This PR creates a new function RunOnMatterContext() for it.
  • The LwIP pbuf_alloc() might return a pbuf with chained pbufs, but we will set the new allocated pbuf->next to nullptr which might result memory leak. This PR fixes it.

Testing

  • Build ESP32 example after enable chip_inet_config_enable_tcp_endpoint.
  • Test send Large Payload command over TCP, which works well with no memory leak.

Copy link

Review changes with  SemanticDiff

@wqx6 wqx6 changed the title TCP: Use RunOnTCPIP() for the LwIP TCP EndPoint and Fix memory in PacketBufferHandle::New() TCP: Use RunOnTCPIP() for the LwIP TCP EndPoint and Fix memory leak in PacketBufferHandle::New() Jan 6, 2025
Copy link

github-actions bot commented Jan 6, 2025

PR #36962: Size comparison from 1b4c56c to 5256657

Increases above 0.2%:

platform target config section 1b4c56c 5256657 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840208 842144 1936 0.2
lock-ftd LP_EM_CC1354P10_6 FLASH 825748 827684 1936 0.2
pump-app LP_EM_CC1354P10_6 FLASH 772568 774512 1944 0.3
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 758692 1944 0.3
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 542073 2024 0.4
lock CC3235SF_LAUNCHXL FLASH 574217 576233 2016 0.4
Full report (14 builds for cc13x4_26x4, cc32xx, nrfconnect, qpg, stm32, tizen)
platform target config section 1b4c56c 5256657 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840208 842144 1936 0.2
RAM 123696 123696 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825748 827684 1936 0.2
RAM 125584 125584 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772568 774512 1944 0.3
RAM 114060 114060 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 758692 1944 0.3
RAM 114260 114260 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 542073 2024 0.4
RAM 205800 205800 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574217 576233 2016 0.4
RAM 205944 205944 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918100 918132 32 0.0
RAM 143332 143332 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890592 890620 28 0.0
RAM 141519 141519 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852164 852196 32 0.0
RAM 142244 142244 0 0.0
qpg lighting-app qpg6105+debug FLASH 664328 664360 32 0.0
RAM 105456 105456 0 0.0
lock-app qpg6105+debug FLASH 622156 622188 32 0.0
RAM 99908 99908 0 0.0
stm32 light STM32WB5MM-DK FLASH 485080 485112 32 0.0
RAM 144912 144912 0 0.0
tizen all-clusters-app arm unknown 5160 5160 0 0.0
FLASH 1780984 1781068 84 0.0
RAM 93684 93684 0 0.0
chip-tool-ubsan arm unknown 10848 10848 0 0.0
FLASH 18003494 18003742 248 0.0
RAM 7858000 7858016 16 0.0

Copy link

github-actions bot commented Jan 6, 2025

PR #36962: Size comparison from 1b4c56c to 267b09d

Increases above 0.2%:

platform target config section 1b4c56c 267b09d change % change
cc13x4_26x4 pump-app LP_EM_CC1354P10_6 FLASH 772568 774512 1944 0.3
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 758692 1944 0.3
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 542073 2024 0.4
lock CC3235SF_LAUNCHXL FLASH 574217 576233 2016 0.4
Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 1b4c56c 267b09d change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1354914 1354954 40 0.0
RAM 104160 104160 0 0.0
bl702 lighting-app bl702+eth FLASH 652136 652172 36 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829740 829776 36 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1058212 1058264 52 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979330 979382 52 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840208 842144 1936 0.2
RAM 123696 123696 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825748 827684 1936 0.2
RAM 125584 125584 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772568 774512 1944 0.3
RAM 114060 114060 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 758692 1944 0.3
RAM 114260 114260 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 542073 2024 0.4
RAM 205800 205800 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574217 576233 2016 0.4
RAM 205944 205944 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681745 681777 32 0.0
RAM 78756 78756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701597 701629 32 0.0
RAM 81396 81396 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701597 701629 32 0.0
RAM 81396 81396 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658525 658557 32 0.0
RAM 73824 73824 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618369 618393 24 0.0
RAM 71748 71748 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637997 638021 24 0.0
RAM 74292 74292 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637997 638021 24 0.0
RAM 74292 74292 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637769 637801 32 0.0
RAM 74756 74756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657477 657509 32 0.0
RAM 77300 77300 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657477 657509 32 0.0
RAM 77300 77300 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614389 614421 32 0.0
RAM 68844 68844 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634241 634273 32 0.0
RAM 71476 71476 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634241 634273 32 0.0
RAM 71476 71476 0 0.0
efr32 lock-app BRD4187C FLASH 932676 932708 32 0.0
RAM 160228 160228 0 0.0
BRD4338a FLASH 747160 747200 40 0.0
RAM 233356 233356 0 0.0
window-app BRD4187C FLASH 1025592 1025624 32 0.0
RAM 128332 128332 0 0.0
esp32 all-clusters-app c3devkit DRAM 95352 95352 0 0.0
FLASH 1541940 1541976 36 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116332 116332 0 0.0
FLASH 1548142 1548178 36 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2730137 2730259 122 0.0
RAM 133096 133096 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6018726 6018844 118 0.0
RAM 524024 524024 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5355204 5355324 120 0.0
RAM 243008 243008 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4703618 4703738 120 0.0
RAM 221760 221760 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12868552 12868672 120 0.0
RAM 582650 582650 0 0.0
chip-tool-ipv6only arm64 unknown 21408 21408 0 0.0
FLASH 10997296 10997472 176 0.0
RAM 633664 633664 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11274263 11274383 120 0.0
RAM 582994 582994 0 0.0
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4528852 4528970 118 0.0
RAM 208880 208880 0 0.0
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5639429 5639557 128 0.0
RAM 475912 475912 0 0.0
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5639409 5639521 112 0.0
RAM 232008 232008 0 0.0
lock-app debug unknown 5408 5408 0 0.0
FLASH 4751986 4752104 118 0.0
RAM 208008 208008 0 0.0
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4378612 4378732 120 0.0
RAM 201696 201696 0 0.0
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4517520 4517642 122 0.0
RAM 206280 206280 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3036685 3036813 128 0.0
RAM 160736 160736 0 0.0
thermostat-no-ble arm64 unknown 9584 9584 0 0.0
FLASH 4118968 4119144 176 0.0
RAM 246296 246296 0 0.0
tv-app debug unknown 5736 5736 0 0.0
FLASH 5988693 5988805 112 0.0
RAM 599344 599344 0 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11094621 11094733 112 0.0
RAM 695608 695608 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918100 918136 36 0.0
RAM 143332 143332 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890592 890624 32 0.0
RAM 141519 141519 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852164 852200 36 0.0
RAM 142244 142244 0 0.0
nxp contact k32w0+release FLASH 585952 585984 32 0.0
RAM 71112 71112 0 0.0
mcxw71+release FLASH 600512 600544 32 0.0
RAM 63208 63208 0 0.0
light k32w0+release FLASH 612716 612748 32 0.0
RAM 70504 70504 0 0.0
k32w1+release FLASH 686920 686952 32 0.0
RAM 48840 48840 0 0.0
lock mcxw71+release FLASH 763264 763296 32 0.0
RAM 70876 70876 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1647500 1650236 2736 0.2
RAM 212128 212128 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1555132 1557884 2752 0.2
RAM 208944 208944 0 0.0
light cy8ckit_062s2_43012 FLASH 1470236 1472988 2752 0.2
RAM 200912 200912 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467956 1470708 2752 0.2
RAM 225272 225272 0 0.0
qpg lighting-app qpg6105+debug FLASH 664328 664368 40 0.0
RAM 105456 105456 0 0.0
lock-app qpg6105+debug FLASH 622156 622188 32 0.0
RAM 99908 99908 0 0.0
stm32 light STM32WB5MM-DK FLASH 485080 485112 32 0.0
RAM 144912 144912 0 0.0
telink bridge-app tlsr9258a FLASH 683636 683684 48 0.0
RAM 91248 91248 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623876 623918 42 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772786 772828 42 0.0
RAM 49348 49348 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711318 711360 42 0.0
RAM 73544 73544 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628322 628370 48 0.0
RAM 142180 142180 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814340 814388 48 0.0
RAM 99724 99724 0 0.0
tizen all-clusters-app arm unknown 5160 5160 0 0.0
FLASH 1780984 1781068 84 0.0
RAM 93684 93684 0 0.0
chip-tool-ubsan arm unknown 10848 10848 0 0.0
FLASH 18003494 18003742 248 0.0
RAM 7858000 7858016 16 0.0

@andy31415
Copy link
Contributor

@wqx6 please fix build errors and add a ###Testing section to describe how things were tested.

CHIP_ERROR Layer::RunOnMatterContext(std::function<CHIP_ERROR()> func)
{
CHIP_ERROR err = CHIP_NO_ERROR;
PlatformEventing::LockMatterStack(*this);
Copy link
Contributor

Choose a reason for hiding this comment

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

LockMatterStack as implemented in this PR can be a no-op on some platforms, so cannot be used for anything that actually happens cross-platform.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have moved it to LayerFreeRTOS.

Copy link

github-actions bot commented Jan 7, 2025

PR #36962: Size comparison from f8d457a to cca01f2

Increases above 0.2%:

platform target config section f8d457a4 cca01f2 change % change
cc13x4_26x4 pump-app LP_EM_CC1354P10_6 FLASH 772568 774512 1944 0.3
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 758692 1944 0.3
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 542073 2024 0.4
lock CC3235SF_LAUNCHXL FLASH 574217 576241 2024 0.4
Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f8d457a4 cca01f2 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1354914 1354956 42 0.0
RAM 104160 104160 0 0.0
bl702 lighting-app bl702+eth FLASH 652136 652176 40 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829740 829780 40 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1058212 1058256 44 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979330 979374 44 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840208 842152 1944 0.2
RAM 123696 123696 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825748 827692 1944 0.2
RAM 125584 125584 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772568 774512 1944 0.3
RAM 114060 114060 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 758692 1944 0.3
RAM 114260 114260 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 542073 2024 0.4
RAM 205800 205800 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574217 576241 2024 0.4
RAM 205944 205944 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681745 681785 40 0.0
RAM 78756 78756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701597 701629 32 0.0
RAM 81396 81396 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701597 701629 32 0.0
RAM 81396 81396 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658525 658565 40 0.0
RAM 73824 73824 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618369 618401 32 0.0
RAM 71748 71748 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637997 638029 32 0.0
RAM 74292 74292 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637997 638029 32 0.0
RAM 74292 74292 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637769 637801 32 0.0
RAM 74756 74756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657477 657517 40 0.0
RAM 77300 77300 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657477 657517 40 0.0
RAM 77300 77300 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614389 614421 32 0.0
RAM 68844 68844 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634241 634281 40 0.0
RAM 71476 71476 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634241 634281 40 0.0
RAM 71476 71476 0 0.0
efr32 lock-app BRD4187C FLASH 932676 932708 32 0.0
RAM 160228 160228 0 0.0
BRD4338a FLASH 747160 747200 40 0.0
RAM 233356 233356 0 0.0
window-app BRD4187C FLASH 1025592 1025656 64 0.0
RAM 128332 128332 0 0.0
esp32 all-clusters-app c3devkit DRAM 95352 95352 0 0.0
FLASH 1541956 1541996 40 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116332 116332 0 0.0
FLASH 1548162 1548194 32 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2730137 2730275 138 0.0
RAM 133096 133096 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6018726 6018860 134 0.0
RAM 524024 524024 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5355204 5355340 136 0.0
RAM 243008 243008 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4703618 4703754 136 0.0
RAM 221760 221760 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12868552 12868688 136 0.0
RAM 582650 582650 0 0.0
chip-tool-ipv6only arm64 unknown 21408 21408 0 0.0
FLASH 10997296 10997520 224 0.0
RAM 633664 633664 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11274263 11274399 136 0.0
RAM 582994 582994 0 0.0
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4528852 4528986 134 0.0
RAM 208880 208880 0 0.0
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5639429 5639573 144 0.0
RAM 475912 475912 0 0.0
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5639409 5639537 128 0.0
RAM 232008 232008 0 0.0
lock-app debug unknown 5408 5408 0 0.0
FLASH 4751986 4752120 134 0.0
RAM 208008 208008 0 0.0
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4378612 4378748 136 0.0
RAM 201696 201696 0 0.0
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4517520 4517658 138 0.0
RAM 206280 206280 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3036685 3036829 144 0.0
RAM 160736 160736 0 0.0
thermostat-no-ble arm64 unknown 9584 9584 0 0.0
FLASH 4118968 4119192 224 0.0
RAM 246296 246296 0 0.0
tv-app debug unknown 5736 5736 0 0.0
FLASH 5988693 5988821 128 0.0
RAM 599344 599344 0 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11094621 11094749 128 0.0
RAM 695608 695608 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918100 918128 28 0.0
RAM 143332 143332 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890592 890620 28 0.0
RAM 141519 141519 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852164 852192 28 0.0
RAM 142244 142244 0 0.0
nxp contact k32w0+release FLASH 585952 586000 48 0.0
RAM 71112 71112 0 0.0
mcxw71+release FLASH 600512 600544 32 0.0
RAM 63208 63208 0 0.0
light k32w0+release FLASH 612716 612748 32 0.0
RAM 70504 70504 0 0.0
k32w1+release FLASH 686920 686952 32 0.0
RAM 48840 48840 0 0.0
lock mcxw71+release FLASH 763264 763296 32 0.0
RAM 70876 70876 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1647500 1650236 2736 0.2
RAM 212128 212128 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1555132 1557884 2752 0.2
RAM 208944 208944 0 0.0
light cy8ckit_062s2_43012 FLASH 1470236 1472988 2752 0.2
RAM 200912 200912 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467956 1470708 2752 0.2
RAM 225272 225272 0 0.0
qpg lighting-app qpg6105+debug FLASH 664328 664368 40 0.0
RAM 105456 105456 0 0.0
lock-app qpg6105+debug FLASH 622156 622188 32 0.0
RAM 99908 99908 0 0.0
stm32 light STM32WB5MM-DK FLASH 485080 485104 24 0.0
RAM 144912 144912 0 0.0
telink bridge-app tlsr9258a FLASH 683636 683686 50 0.0
RAM 91248 91248 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623876 623926 50 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772786 772836 50 0.0
RAM 49348 49348 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711318 711368 50 0.0
RAM 73544 73544 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628322 628372 50 0.0
RAM 142180 142180 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814340 814390 50 0.0
RAM 99724 99724 0 0.0
tizen all-clusters-app arm unknown 5160 5160 0 0.0
FLASH 1780980 1781076 96 0.0
RAM 93684 93684 0 0.0
chip-tool-ubsan arm unknown 10848 10848 0 0.0
FLASH 18003494 18003670 176 0.0
RAM 7858000 7858040 40 0.0

#else
buffer.mBuffer->tot_len = aDataSize;
#endif
PacketBuffer * currentBuffer = buffer.mBuffer;
Copy link
Contributor

Choose a reason for hiding this comment

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

Please give a detailed comment above this logic explaining the copying of the pbuf chain for easy future context.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

System::Layer & lSystemLayer = listenEP->GetSystemLayer();
TCPEndPointImplLwIP * listenEP = static_cast<TCPEndPointImplLwIP *>(arg);
TCPEndPointImplLwIP * conEP = nullptr;
System::LayerFreeRTOS & lSystemLayer = static_cast<System::LayerFreeRTOS &>(listenEP->GetSystemLayer());
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is this cast OK? Is it really the case that any time we are using LwIP we are using LayerFreeRTOS?

It really seems like the right thing to do is for any work that needs to happen on the Matter queue to actually happen on the Matter queue, async. If we need to snapshot some data for that, we snapshot that data....

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There is a declared argument in system.gni

chip_system_config_use_lwip = chip_with_lwip && current_os == "freertos"

And we have no such scenario on which we are using LwIP for other OSs. This cast seems OK for now.

It really seems like the right thing to do is for any work that needs to happen on the Matter queue to actually happen on the Matter queue, async. If we need to snapshot some data for that, we snapshot that data....

Yes, I have tried to use ScheduleLamba to post the EndPoint allocating to Matter queue, but ScheduleLamba is a async function and we have to use the allocated endpoint immediately after the ScheduleLamba. Also I have tried to post all the following actions in the LwIPHandleIncomingConnection to Matter queue but encountered another issue. --- If we use ScheduleLamba for the whole LwIPHandleIncomingConnection, the function will ends immediately and the LwIP will finish three-way handshake and start receives TCP packets, the peer will also start sending TCP packets, but the arg and recv function is not set at that time(as the set process is post to Matter queue). This will result the timeout for TCP.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have moved the function back to System::Layer but added a macro for the RunWithMatterContextLock() function so that it will only be available when the system has lock. And also change here to System::Layer.

Copy link

github-actions bot commented Jan 9, 2025

PR #36962: Size comparison from f8d457a to a331147

Increases above 0.2%:

platform target config section f8d457a4 a331147 change % change
bl702 lighting-app bl702+eth FLASH 652136 726294 74158 11.4
bl702+wifi FLASH 829740 913164 83424 10.1
bl706+mfd+rpc+littlefs FLASH 1058212 1174002 115790 10.9
bl702l lighting-app bl702l+mfd+littlefs FLASH 979330 1083070 103740 10.6
cc13x4_26x4 pump-app LP_EM_CC1354P10_6 FLASH 772568 774512 1944 0.3
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 758692 1944 0.3
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 542073 2024 0.4
lock CC3235SF_LAUNCHXL FLASH 574217 576241 2024 0.4
Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f8d457a4 a331147 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1354914 1354998 84 0.0
RAM 104160 104152 -8 -0.0
bl702 lighting-app bl702+eth FLASH 652136 726294 74158 11.4
RAM 25353 25361 8 0.0
bl702+wifi FLASH 829740 913164 83424 10.1
RAM 14093 14101 8 0.1
bl706+mfd+rpc+littlefs FLASH 1058212 1174002 115790 10.9
RAM 23933 23941 8 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979330 1083070 103740 10.6
RAM 16596 16612 16 0.1
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840208 842152 1944 0.2
RAM 123696 123696 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825748 827692 1944 0.2
RAM 125584 125584 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772568 774512 1944 0.3
RAM 114060 114060 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 758692 1944 0.3
RAM 114260 114260 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 542073 2024 0.4
RAM 205800 205800 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574217 576241 2024 0.4
RAM 205944 205944 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681745 681785 40 0.0
RAM 78756 78756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701597 701629 32 0.0
RAM 81396 81396 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701597 701629 32 0.0
RAM 81396 81396 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658525 658565 40 0.0
RAM 73824 73824 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618369 618401 32 0.0
RAM 71748 71748 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637997 638029 32 0.0
RAM 74292 74292 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637997 638029 32 0.0
RAM 74292 74292 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637769 637801 32 0.0
RAM 74756 74756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657477 657517 40 0.0
RAM 77300 77300 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657477 657517 40 0.0
RAM 77300 77300 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614389 614421 32 0.0
RAM 68844 68844 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634241 634281 40 0.0
RAM 71476 71476 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634241 634281 40 0.0
RAM 71476 71476 0 0.0
efr32 lock-app BRD4187C FLASH 932676 932708 32 0.0
RAM 160228 160228 0 0.0
BRD4338a FLASH 747160 747200 40 0.0
RAM 233356 233356 0 0.0
window-app BRD4187C FLASH 1025592 1025656 64 0.0
RAM 128332 128332 0 0.0
esp32 all-clusters-app c3devkit DRAM 95352 95352 0 0.0
FLASH 1541956 1541996 40 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116332 116332 0 0.0
FLASH 1548162 1548186 24 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2730137 2730275 138 0.0
RAM 133096 133096 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6018726 6018860 134 0.0
RAM 524024 523992 -32 -0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5355204 5355340 136 0.0
RAM 243008 243008 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4703618 4703754 136 0.0
RAM 221760 221760 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12868552 12866924 -1628 -0.0
RAM 582650 582586 -64 -0.0
chip-tool-ipv6only arm64 unknown 21408 21400 -8 -0.0
FLASH 10997296 10995952 -1344 -0.0
RAM 633664 633584 -80 -0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11274263 11272409 -1854 -0.0
RAM 582994 582930 -64 -0.0
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4528852 4528986 134 0.0
RAM 208880 208880 0 0.0
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5639429 5639573 144 0.0
RAM 475912 475880 -32 -0.0
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5639409 5639537 128 0.0
RAM 232008 232008 0 0.0
lock-app debug unknown 5408 5408 0 0.0
FLASH 4751986 4752120 134 0.0
RAM 208008 208008 0 0.0
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4378612 4378748 136 0.0
RAM 201696 201696 0 0.0
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4517520 4517658 138 0.0
RAM 206280 206280 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3036685 3036829 144 0.0
RAM 160736 160736 0 0.0
thermostat-no-ble arm64 unknown 9584 9584 0 0.0
FLASH 4118968 4119192 224 0.0
RAM 246296 246296 0 0.0
tv-app debug unknown 5736 5736 0 0.0
FLASH 5988693 5988821 128 0.0
RAM 599344 599312 -32 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11094621 11092829 -1792 -0.0
RAM 695608 695496 -112 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918100 918128 28 0.0
RAM 143332 143332 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890592 890620 28 0.0
RAM 141519 141519 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852164 852192 28 0.0
RAM 142244 142244 0 0.0
nxp contact k32w0+release FLASH 585952 586096 144 0.0
RAM 71112 71112 0 0.0
mcxw71+release FLASH 600512 601608 1096 0.2
RAM 63208 63328 120 0.2
light k32w0+release FLASH 612716 612732 16 0.0
RAM 70504 70504 0 0.0
k32w1+release FLASH 686920 687352 432 0.1
RAM 48840 48920 80 0.2
lock mcxw71+release FLASH 763264 763680 416 0.1
RAM 70876 70956 80 0.1
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1647500 1650236 2736 0.2
RAM 212128 212128 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1555132 1557884 2752 0.2
RAM 208944 208944 0 0.0
light cy8ckit_062s2_43012 FLASH 1470236 1472988 2752 0.2
RAM 200912 200912 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467956 1470708 2752 0.2
RAM 225272 225272 0 0.0
qpg lighting-app qpg6105+debug FLASH 664328 664368 40 0.0
RAM 105456 105456 0 0.0
lock-app qpg6105+debug FLASH 622156 622188 32 0.0
RAM 99908 99908 0 0.0
stm32 light STM32WB5MM-DK FLASH 485080 485104 24 0.0
RAM 144912 144912 0 0.0
telink bridge-app tlsr9258a FLASH 683636 683684 48 0.0
RAM 91248 91248 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623876 623924 48 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772786 772758 -28 -0.0
RAM 49348 49348 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711318 711366 48 0.0
RAM 73544 73544 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628322 628370 48 0.0
RAM 142180 142180 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814340 814384 44 0.0
RAM 99724 99724 0 0.0
tizen all-clusters-app arm unknown 5160 5160 0 0.0
FLASH 1780980 1781076 96 0.0
RAM 93684 93684 0 0.0
chip-tool-ubsan arm unknown 10848 10844 -4 -0.0
FLASH 18003494 17999262 -4232 -0.0
RAM 7858000 7855872 -2128 -0.0

@@ -31,6 +31,10 @@ class PlatformEventing
public:
static CHIP_ERROR ScheduleLambdaBridge(System::Layer & aLayer, LambdaBridge && bridge);
static CHIP_ERROR StartTimer(System::Layer & aLayer, System::Clock::Timeout aTimeout);
#if CHIP_SYSTEM_CONFIG_USE_LWIP || CHIP_SYSTEM_CONFIG_USE_OPEN_THREAD_ENDPOINT
static void LockMatterStack(System::Layer & aLayer);
Copy link
Contributor

Choose a reason for hiding this comment

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

what is the use of aLayer here? Can we guarantee that chip stack locking actually exists/is usable before making these available?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed the aLayer.

Can we guarantee that chip stack locking actually exists/is usable before making these available?

Yes, added #if !CHIP_SYSTEM_CONFIG_NO_LOCKING for it.

@@ -31,5 +31,16 @@ CHIP_ERROR Layer::ScheduleLambdaBridge(LambdaBridge && bridge)
return lReturn;
}

#if CHIP_SYSTEM_CONFIG_USE_LWIP || CHIP_SYSTEM_CONFIG_USE_OPEN_THREAD_ENDPOINT
CHIP_ERROR LayerFreeRTOS::RunOnMatterContext(std::function<CHIP_ERROR()> func)
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe RunWithMatterContextLock or similar, since RunOn seems to imply thread loop transfer and this is not doing that.

Some description on why this is safe/does not deadlock would be useful.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed the name of the function and added some comments on the function of using non-blocking function as the input to avoid dead lock.

@andy31415
Copy link
Contributor

@wqx6 do we know why this costs 2K of flash? that is a lot

@wqx6
Copy link
Contributor Author

wqx6 commented Jan 10, 2025

@wqx6 do we know why this costs 2K of flash? that is a lot

I am not sure why it increases. I guess the reason might be those examples enable TCP endpoint and this PR changes the TCP codes from Locking to RunOnTCPIP.

Copy link

github-actions bot commented Jan 10, 2025

PR #36962: Size comparison from 3f62505 to 410e158

Increases above 0.2%:

platform target config section 3f62505 410e158 change % change
cc13x4_26x4 pump-app LP_EM_CC1354P10_6 FLASH 772836 774780 1944 0.3
pump-controller-app LP_EM_CC1354P10_6 FLASH 757016 758960 1944 0.3
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540285 542309 2024 0.4
lock CC3235SF_LAUNCHXL FLASH 574453 576469 2016 0.4
Full report (70 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 3f62505 410e158 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1354946 1354988 42 0.0
RAM 104152 104152 0 0.0
bl702 lighting-app bl702+eth FLASH 726512 726550 38 0.0
RAM 25361 25361 0 0.0
bl702+wifi FLASH 913126 913164 38 0.0
RAM 14101 14101 0 0.0
bl706+mfd+rpc+littlefs FLASH 1173960 1174002 42 0.0
RAM 23941 23941 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 1083028 1083070 42 0.0
RAM 16612 16612 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840400 842344 1944 0.2
RAM 123712 123712 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825932 827868 1936 0.2
RAM 125600 125600 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772836 774780 1944 0.3
RAM 114076 114076 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 757016 758960 1944 0.3
RAM 114276 114276 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540285 542309 2024 0.4
RAM 205816 205816 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574453 576469 2016 0.4
RAM 205960 205960 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681809 681841 32 0.0
RAM 78756 78756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701653 701693 40 0.0
RAM 81396 81396 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701653 701693 40 0.0
RAM 81396 81396 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658589 658621 32 0.0
RAM 73824 73824 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618425 618457 32 0.0
RAM 71748 71748 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638053 638085 32 0.0
RAM 74292 74292 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638053 638085 32 0.0
RAM 74292 74292 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637825 637857 32 0.0
RAM 74756 74756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657533 657573 40 0.0
RAM 77300 77300 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657533 657573 40 0.0
RAM 77300 77300 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614445 614477 32 0.0
RAM 68844 68844 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634297 634337 40 0.0
RAM 71476 71476 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634297 634337 40 0.0
RAM 71476 71476 0 0.0
efr32 lock-app BRD4187C FLASH 932740 932772 32 0.0
RAM 160228 160228 0 0.0
BRD4338a FLASH 747208 747232 24 0.0
RAM 233356 233356 0 0.0
window-app BRD4187C FLASH 1025656 1025688 32 0.0
RAM 128332 128332 0 0.0
esp32 all-clusters-app c3devkit DRAM 95352 95352 0 0.0
FLASH 1541996 1542036 40 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116332 116332 0 0.0
FLASH 1548246 1548278 32 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2731685 2731823 138 0.0
RAM 133160 133160 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6020306 6020440 134 0.0
RAM 526008 526008 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5356400 5356536 136 0.0
RAM 243072 243072 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4704816 4704952 136 0.0
RAM 221824 221824 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12938676 12938812 136 0.0
RAM 587002 587002 0 0.0
chip-tool-ipv6only arm64 unknown 21560 21560 0 0.0
FLASH 11053856 11054080 224 0.0
RAM 638064 638064 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11334801 11334937 136 0.0
RAM 587346 587346 0 0.0
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4529968 4530102 134 0.0
RAM 208928 208928 0 0.0
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5641333 5641477 144 0.0
RAM 477880 477880 0 0.0
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5640945 5641089 144 0.0
RAM 232072 232072 0 0.0
lock-app debug unknown 5408 5408 0 0.0
FLASH 4753184 4753318 134 0.0
RAM 208072 208072 0 0.0
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4379730 4379866 136 0.0
RAM 201744 201744 0 0.0
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4518638 4518776 138 0.0
RAM 206312 206312 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3037885 3038013 128 0.0
RAM 160792 160792 0 0.0
thermostat-no-ble arm64 unknown 9584 9584 0 0.0
FLASH 4120104 4120328 224 0.0
RAM 246384 246384 0 0.0
tv-app debug unknown 5736 5736 0 0.0
FLASH 5990677 5990805 128 0.0
RAM 601312 601312 0 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11167325 11167469 144 0.0
RAM 700496 700496 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918156 918184 28 0.0
RAM 143332 143332 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890664 890692 28 0.0
RAM 141519 141519 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852220 852248 28 0.0
RAM 142244 142244 0 0.0
nxp contact k32w0+release FLASH 586112 586144 32 0.0
RAM 71112 71112 0 0.0
mcxw71+release FLASH 601624 601656 32 0.0
RAM 63328 63328 0 0.0
light k32w0+release FLASH 612748 612796 48 0.0
RAM 70504 70504 0 0.0
k32w1+release FLASH 687384 687416 32 0.0
RAM 48920 48920 0 0.0
lock mcxw71+release FLASH 763704 763728 24 0.0
RAM 70956 70956 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1647684 1650420 2736 0.2
RAM 212144 212144 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1555316 1558052 2736 0.2
RAM 208960 208960 0 0.0
light cy8ckit_062s2_43012 FLASH 1470420 1473156 2736 0.2
RAM 200928 200928 0 0.0
lock cy8ckit_062s2_43012 FLASH 1468156 1470892 2736 0.2
RAM 225280 225280 0 0.0
qpg lighting-app qpg6105+debug FLASH 664392 664432 40 0.0
RAM 105456 105456 0 0.0
lock-app qpg6105+debug FLASH 622204 622236 32 0.0
RAM 99908 99908 0 0.0
stm32 light STM32WB5MM-DK FLASH 485136 485168 32 0.0
RAM 144912 144912 0 0.0
telink bridge-app tlsr9258a FLASH 683698 683748 50 0.0
RAM 91248 91248 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623938 623988 50 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772772 772822 50 0.0
RAM 49348 49348 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 777388 777438 50 0.0
RAM 99812 99812 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711380 711430 50 0.0
RAM 73544 73544 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628384 628434 50 0.0
RAM 142180 142180 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814398 814448 50 0.0
RAM 99724 99724 0 0.0
tizen all-clusters-app arm unknown 5160 5160 0 0.0
FLASH 1781748 1781840 92 0.0
RAM 93720 93720 0 0.0
chip-tool-ubsan arm unknown 10924 10924 0 0.0
FLASH 18121646 18121934 288 0.0
RAM 7909212 7909252 40 0.0

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.

5 participants