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

[Silabs]Rework KVS keymap implementation. #25503

Merged

Conversation

jmartinez-silabs
Copy link
Member

Issues.
TC_RR_1.1 revealed a limitation with our kvs implementation. Testing the maximum number of fabrics and groups per fabric uses a high amount of keys to store. This caused our basic key mapping array, to utilize our nvm driver, to increase to size out of the capabilities of single object storage in our internal driver.

This PR mainly reworks our KVS Key map strategy to minimize the size of the keymap while also improving our total key count capacities.

  • Add a migration for the kvs changes, so older device can maintain their persistent information
  • Implement a migration manager to handle future migrations.
  • Optimize some baseApplication code.

…anager to handle future migrations. Optimize baseApplication code
@github-actions
Copy link

github-actions bot commented Mar 6, 2023

PR #25503: Size comparison from ce07f52 to 3abbbf6

Full report (1 build for cc32xx)
platform target config section ce07f52 3abbbf6e change % change
cc32xx lock CC3235SF_LAUNCHXL 0 0 0 0.0
(read only) 643465 643465 0 0.0
(read/write) 203688 203688 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 197088 197088 0 0.0
.comment 194 194 0 0.0
.data 1480 1480 0 0.0
.debug_abbrev 930213 930213 0 0.0
.debug_aranges 87336 87336 0 0.0
.debug_frame 300024 300024 0 0.0
.debug_info 20262928 20262928 0 0.0
.debug_line 2657822 2657822 0 0.0
.debug_loc 2800026 2800026 0 0.0
.debug_ranges 282240 282240 0 0.0
.debug_str 3023883 3023883 0 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 105929 105929 0 0.0
.shstrtab 232 232 0 0.0
.stab 204 204 0 0.0
.stabstr 441 441 0 0.0
.stack 2048 2048 0 0.0
.strtab 378514 378514 0 0.0
.symtab 256560 256560 0 0.0
.text 535412 535412 0 0.0

@github-actions
Copy link

github-actions bot commented Mar 6, 2023

PR #25503: Size comparison from ce07f52 to 3bea7b3

Full report (1 build for cc32xx)
platform target config section ce07f52 3bea7b3 change % change
cc32xx lock CC3235SF_LAUNCHXL 0 0 0 0.0
(read only) 643465 643465 0 0.0
(read/write) 203688 203688 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 197088 197088 0 0.0
.comment 194 194 0 0.0
.data 1480 1480 0 0.0
.debug_abbrev 930213 930213 0 0.0
.debug_aranges 87336 87336 0 0.0
.debug_frame 300024 300024 0 0.0
.debug_info 20262928 20262928 0 0.0
.debug_line 2657822 2657822 0 0.0
.debug_loc 2800026 2800026 0 0.0
.debug_ranges 282240 282240 0 0.0
.debug_str 3023883 3023883 0 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 105929 105929 0 0.0
.shstrtab 232 232 0 0.0
.stab 204 204 0 0.0
.stabstr 441 441 0 0.0
.stack 2048 2048 0 0.0
.strtab 378514 378514 0 0.0
.symtab 256560 256560 0 0.0
.text 535412 535412 0 0.0

@bzbarsky-apple bzbarsky-apple merged commit 3d4c314 into project-chip:master Mar 7, 2023
@jmartinez-silabs jmartinez-silabs deleted the kvsKeyMap_rework branch March 7, 2023 19:12
lecndav pushed a commit to lecndav/connectedhomeip that referenced this pull request Mar 22, 2023
* Rework KVS keymap. Add a migration for the kvs changes and migrationManager to handle future migrations. Optimize baseApplication code

* Restyled by whitespace

* Restyled by clang-format

* fix build for SED options

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>
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