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

Add cpu_load module from Zephyr and align it with existing cpu_load module #21098

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

nordic-krch
Copy link
Contributor

Fetching cpu_load module from Zephyr upstream. This module is generic and does not require PPI or POWER->SLEEPENTER/SLEEPEXIT events so it can be used on nrf54h20 (app/rad) and nrf54l (app, flpr). Upstream module uses the same Kconfig name so Kconfig options for existing NCS cpu_load module got NRF_ prefix. API name is not modified.

@nordic-krch nordic-krch requested review from a team as code owners March 21, 2025 12:26
@github-actions github-actions bot added doc-required PR must not be merged without tech writer approval. manifest changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Mar 21, 2025
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Mar 21, 2025

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
zephyr nrfconnect/sdk-zephyr@c9113a8 (main) nrfconnect/sdk-zephyr#2657 nrfconnect/sdk-zephyr#2657/files

DNM label due to: 1 project with PR revision

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@NordicBuilder
Copy link
Contributor

NordicBuilder commented Mar 21, 2025

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 4

Inputs:

Sources:

sdk-nrf: PR head: 8e99030e143d312c588a894384dabd6ad28a2fb3
zephyr: PR head: a29d0b67bc1c6b6887f5267ad68b00efd80f8609

more details

sdk-nrf:

PR head: 8e99030e143d312c588a894384dabd6ad28a2fb3
merge base: d0c3d7f02a4f3260a048a5310b43c5c43e136a7c
target head (main): b78c12eae7055ee230811503eb90ff7bd09d896d
Diff

zephyr:

PR head: a29d0b67bc1c6b6887f5267ad68b00efd80f8609
merge base: c9113a87822e123bd287568c957d92b35502e5d1
target head (main): c9113a87822e123bd287568c957d92b35502e5d1
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (40)
applications
│  ├── nrf_desktop
│  │  ├── doc
│  │  │  │ cpu_meas.rst
│  │  ├── src
│  │  │  ├── modules
│  │  │  │  ├── Kconfig.cpu_meas
│  │  │  │  │ cpu_meas.c
doc
│  ├── nrf
│  │  ├── libraries
│  │  │  ├── debug
│  │  │  │  │ cpu_load.rst
│  │  ├── releases_and_maturity
│  │  │  ├── releases
│  │  │  │  │ release-notes-3.0.0-preview1.rst
samples
│  ├── cellular
│  │  ├── modem_trace_backend
│  │  │  ├── Kconfig.trace_print_stats
│  │  │  │ prj.conf
subsys
│  ├── debug
│  │  ├── CMakeLists.txt
│  │  ├── cpu_load
│  │  │  ├── Kconfig
│  │  │  │ cpu_load.c
tests
│  ├── subsys
│  │  ├── debug
│  │  │  ├── cpu_load
│  │  │  │  ├── prj.conf
│  │  │  │  ├── src
│  │  │  │  │  │ test_cpu_load.c
│  │  │  │  │ testcase.yaml
west.yml
zephyr
│  ├── arch
│  │  ├── arm
│  │  │  ├── core
│  │  │  │  ├── cortex_m
│  │  │  │  │  │ cpu_idle.c
│  │  ├── riscv
│  │  │  ├── core
│  │  │  │  │ cpu_idle.c
│  ├── doc
│  │  ├── services
│  │  │  ├── debugging
│  │  │  │  ├── cpu_load.rst
│  │  │  │  │ index.rst
│  ├── include
│  │  ├── zephyr
│  │  │  ├── debug
│  │  │  │  │ cpu_load.h
│  │  │  ├── tracing
│  │  │  │  │ tracing.h
│  ├── soc
│  │  ├── nordic
│  │  │  ├── nrf54h
│  │  │  │  │ power.c
│  ├── subsys
│  │  ├── debug
│  │  │  ├── CMakeLists.txt
│  │  │  ├── Kconfig
│  │  │  │ cpu_load.c
│  │  ├── tracing
│  │  │  ├── CMakeLists.txt
│  │  │  ├── ctf
│  │  │  │  ├── ctf_top.c
│  │  │  │  │ tracing_ctf.h
│  │  │  ├── sysview
│  │  │  │  ├── sysview.c
│  │  │  │  │ tracing_sysview.h
│  │  │  ├── test
│  │  │  │  ├── tracing_string_format_test.c
│  │  │  │  │ tracing_test.h
│  │  │  ├── tracing_none.c
│  │  │  ├── user
│  │  │  │  ├── tracing_user.c
│  │  │  │  │ tracing_user.h
│  ├── tests
│  │  ├── subsys
│  │  │  ├── debug
│  │  │  │  ├── cpu_load
│  │  │  │  │  ├── CMakeLists.txt
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── nrf52840dk_nrf52840.overlay
│  │  │  │  │  │  │ nrf54h20dk_nrf54h20_cpuapp.overlay
│  │  │  │  │  ├── prj.conf
│  │  │  │  │  ├── src
│  │  │  │  │  │  │ main.c
│  │  │  │  │  │ testcase.yaml

Outputs:

Toolchain

Version: 4ffa2202d5
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:4ffa2202d5_e579f9fbe6

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ❌ Build twister
    • sdk-nrf test count: 1305
    • sdk-zephyr test count: 1815
  • ❌ Integration tests
    • ❌ test-sdk-audio
    • ❌ desktop52_verification
    • ❌ test-fw-nrfconnect-chip
    • ❌ test-fw-nrfconnect-nfc
    • ❌ test-fw-nrfconnect-nrf-iot_cloud
    • ❌ test-fw-nrfconnect-nrf-iot_samples
    • ❌ test-fw-nrfconnect-nrf-iot_thingy91
    • ❌ test-fw-nrfconnect-rs
    • ❌ test-fw-nrfconnect-fem
    • ❌ test-fw-nrfconnect-thread
    • ❌ test-sdk-find-my
    • ❌ test-low-level
    • ❌ test-sdk-dfu
Disabled integration tests
    • doc-internal
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-boot
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_mosh
    • test-fw-nrfconnect-nrf-iot_positioning
    • test-fw-nrfconnect-nrf-iot_serial_lte_modem
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-proprietary_esb
    • test-fw-nrfconnect-ps
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-zigbee
    • test-sdk-mcuboot
    • test-sdk-pmic-samples
    • test-sdk-wifi
    • test-secdom-samples-public

Note: This message is automatically posted and updated by the CI

Zephyr is getting generic CPU load module and it is using
same Kconfig name. NCS CPU load module is Nordic specific
because it is using POWER SLEEPENTER,SLEEPEXIT events to track
idle state and CPU load. It is also not support on all targets
(nrf54h20, nRF54L Series).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Improve PPI handling to use GPPI where possible and DPPI directly
only in case of sharing DPPI channels.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add note about added prefix to cpu_load Kconfig options.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add cpu_load module from upstream.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
@@ -625,7 +625,9 @@ Common Application Framework
Debug libraries
---------------

|no_changes_yet_note|
* :ref:`cpu_load` library:
Copy link
Contributor

Choose a reason for hiding this comment

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. DNM doc-required PR must not be merged without tech writer approval. manifest manifest-zephyr
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants