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

[OpenThread Platform] Update the dnssd code to dispatch browse and re… #13370

Merged

Conversation

vivien-apple
Copy link
Contributor

…solve results onto the chip thread

Problem

From #13258

In the current implementation of Matter node running over Thread a successful DNS-SD resolution
results in CASE session establishment code being executed in the Thread task context.
This is problematic as the Tread task is not generally expected to have sufficient stack to handle Matter processing.
Another issue is that this may result in a semaphore block during an attempt to send a Thread message from the context of receiving a Thread message.

Change overview

  • Dispatch the dns resolution onto the chip thread

fixes #13258

@github-actions
Copy link

github-actions bot commented Jan 7, 2022

PR #13370: Size comparison from 16bdace to 42db1af

Increases (5 builds for efr32, k32w)
platform target config section 16bdace 42db1af change % change
efr32 lighting-app BRD4161A (read only) 830528 830768 240 0.0
.text 830520 830760 240 0.0
BRD4161A+rpc (read only) 817692 817948 256 0.0
.text 817684 817940 256 0.0
window-app BRD4161A (read only) 803960 804216 256 0.0
.text 803952 804208 256 0.0
k32w light k32w061+release (read/write) 649248 649440 192 0.0
.text 565312 565504 192 0.0
lock k32w061+release (read/write) 634064 634256 192 0.0
.text 550468 550660 192 0.0
Full report (19 builds for efr32, k32w, linux, mbed, p6, qpg, telink)
platform target config section 16bdace 42db1af change % change
efr32 lighting-app BRD4161A (read only) 830528 830768 240 0.0
(read/write) 127088 127088 0 0.0
.bss 125208 125208 0 0.0
.data 1876 1876 0 0.0
.text 830520 830760 240 0.0
BRD4161A+rpc (read only) 817692 817948 256 0.0
(read/write) 143744 143744 0 0.0
.bss 141768 141768 0 0.0
.data 1976 1976 0 0.0
.text 817684 817940 256 0.0
window-app BRD4161A (read only) 803960 804216 256 0.0
(read/write) 126024 126024 0 0.0
.bss 124192 124192 0 0.0
.data 1832 1832 0 0.0
.text 803952 804208 256 0.0
k32w light k32w061+release (read/write) 649248 649440 192 0.0
.bss 76232 76232 0 0.0
.data 1904 1904 0 0.0
.text 565312 565504 192 0.0
lock k32w061+release (read/write) 634064 634256 192 0.0
.bss 75936 75936 0 0.0
.data 1860 1860 0 0.0
.text 550468 550660 192 0.0
linux chip-tool-ipv6only arm64 (read only) 7033996 7033996 0 0.0
(read/write) 325073 325073 0 0.0
.bss 54241 54241 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 209064 209064 0 0.0
.dynamic 560 560 0 0.0
.got 56992 56992 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 384292 384292 0 0.0
.text 5956932 5956932 0 0.0
thermostat-no-ble arm64 (read only) 2026876 2026876 0 0.0
(read/write) 144193 144193 0 0.0
.bss 64033 64033 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72392 72392 0 0.0
.dynamic 560 560 0 0.0
.got 3952 3952 0 0.0
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 128844 128844 0 0.0
.text 1685120 1685120 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348264 2348264 0 0.0
.bss 188812 188812 0 0.0
.data 5312 5312 0 0.0
.text 1310840 1310840 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330088 2330088 0 0.0
.bss 180632 180632 0 0.0
.data 5552 5552 0 0.0
.text 1292688 1292688 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2303248 2303248 0 0.0
.bss 179680 179680 0 0.0
.data 5544 5544 0 0.0
.text 1265848 1265848 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053888 2053888 0 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016488 1016488 0 0.0
p6 all-clusters-app default (read/write) 2403672 2403672 0 0.0
.bss 117020 117020 0 0.0
.data 2592 2592 0 0.0
.text 1361936 1361936 0 0.0
light-app default (read/write) 2325640 2325640 0 0.0
.bss 105888 105888 0 0.0
.data 2384 2384 0 0.0
.text 1283904 1283904 0 0.0
lock-app default (read/write) 2297840 2297840 0 0.0
.bss 104768 104768 0 0.0
.data 2336 2336 0 0.0
.text 1256104 1256104 0 0.0
qpg lighting-app qpg6105+debug (read only) 532424 532424 0 0.0
(read/write) 146936 146936 0 0.0
.bss 86688 86688 0 0.0
.data 1004 1004 0 0.0
.text 527104 527104 0 0.0
lock-app qpg6105+debug (read only) 504204 504204 0 0.0
(read/write) 146940 146940 0 0.0
.bss 85824 85824 0 0.0
.data 952 952 0 0.0
.text 498884 498884 0 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 833298 833298 0 0.0
bss 86864 86864 0 0.0
noinit 37160 37160 0 0.0
text 581554 581554 0 0.0

@andy31415 andy31415 merged commit 36a759d into project-chip:master Jan 7, 2022
step0035 pushed a commit to hank820/connectedhomeip that referenced this pull request Feb 8, 2022
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.

The DNS-SD Resolve callback logic must be executed in the Matter task context
4 participants