Runtime Instrumentation Testing - N1SDP ======================================= For this test we used the N1 System Development Platform (`N1SDP`_), which contains an SoC consisting of two dual-core Arm N1 clusters. The following source trees were used: - `TF-A v2.13-rc0`_ - `TFTF v2.13-rc0`_ Please see the Runtime Instrumentation :ref:`Testing Methodology ` page for more details. The tests were ran using the `tf-psci-lava-instr/n1sdp-runtime-instrumentation,n1sdp-runtime-instrumentation:n1sdp-fip.tftf-firmware` configuration in CI. Results ------- ``CPU_SUSPEND`` to deepest power level ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in parallel (v2.13) +---------+------+----------------+-----------------+----------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+----------------+-----------------+----------------+ | 0 | 0 | 3.32 | 13.42 (-45.40%) | 0.28 (-69.57%) | +---------+------+----------------+-----------------+----------------+ | 0 | 0 | 4.02 (-35.78%) | 18.14 (-52.88%) | 0.28 | +---------+------+----------------+-----------------+----------------+ | 1 | 0 | 2.7 (-27.42%) | 17.38 (-49.36%) | 0.26 | +---------+------+----------------+-----------------+----------------+ | 1 | 0 | 2.96 | 10.86 (-73.64%) | 0.26 | +---------+------+----------------+-----------------+----------------+ .. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in parallel (v2.12) +---------+------+----------------+--------+----------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+----------------+--------+----------------+ | 0 | 0 | 2.58 | 24.14 | 0.28 (-69.57%) | +---------+------+----------------+--------+----------------+ | 0 | 0 | 4.24 (-32.27%) | 40.1 | 0.3 | +---------+------+----------------+--------+----------------+ | 1 | 0 | 3.58 | 35.54 | 0.28 | +---------+------+----------------+--------+----------------+ | 1 | 0 | 3.28 | 42.36 | 0.3 | +---------+------+----------------+--------+----------------+ .. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in serial (v2.13) +---------+------+-----------+-----------------+----------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+-----------+-----------------+----------------+ | 0 | 0 | 1.62 | 10.14 (-58.10%) | 0.3 | +---------+------+-----------+-----------------+----------------+ | 0 | 0 | 1.86 | 10.62 (-56.44%) | 0.28 (-26.32%) | +---------+------+-----------+-----------------+----------------+ | 1 | 0 | 1.8 | 10.16 (-57.84%) | 0.32 | +---------+------+-----------+-----------------+----------------+ | 1 | 0 | 2.16 | 10.6 (-56.84%) | 0.5 (+56.25%) | +---------+------+-----------+-----------------+----------------+ .. table:: ``CPU_SUSPEND`` latencies (µs) to deepest power level in serial (v2.12) +---------+------+-----------+--------+-------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+-----------+--------+-------------+ | 0 | 0 | 1.9 | 23.8 | 0.36 | +---------+------+-----------+--------+-------------+ | 0 | 0 | 2.26 | 23.86 | 0.34 | +---------+------+-----------+--------+-------------+ | 1 | 0 | 2.02 | 23.4 | 0.36 | +---------+------+-----------+--------+-------------+ | 1 | 0 | 2.24 | 23.84 | 0.36 | +---------+------+-----------+--------+-------------+ ``CPU_SUSPEND`` to power level 0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in parallel (v2.13) +---------+------+----------------+-----------------+---------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+----------------+-----------------+---------------+ | 0 | 0 | 0.8 (-57.45%) | 11.98 (-61.75%) | 0.26 | +---------+------+----------------+-----------------+---------------+ | 0 | 0 | 1.54 (-30.63%) | 16.44 (-53.74%) | 0.26 | +---------+------+----------------+-----------------+---------------+ | 1 | 0 | 1.62 (-30.77%) | 16.1 (-53.92%) | 0.3 | +---------+------+----------------+-----------------+---------------+ | 1 | 0 | 1.8 | 10.54 (-55.30%) | 0.2 (-33.33%) | +---------+------+----------------+-----------------+---------------+ .. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in parallel (v2.12) +---------+------+-----------+--------+----------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+-----------+--------+----------------+ | 0 | 0 | 1.46 | 31.7 | 0.32 | +---------+------+-----------+--------+----------------+ | 0 | 0 | 2.06 | 35.5 | 0.48 (+60.00%) | +---------+------+-----------+--------+----------------+ | 1 | 0 | 1.96 | 35.7 | 0.32 | +---------+------+-----------+--------+----------------+ | 1 | 0 | 2.08 | 23.38 | 0.28 | +---------+------+-----------+--------+----------------+ .. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in serial (v2.13) +---------+------+----------------+-----------------+----------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+----------------+-----------------+----------------+ | 0 | 0 | 1.44 | 9.9 (-58.05%) | 0.3 | +---------+------+----------------+-----------------+----------------+ | 0 | 0 | 1.74 (-25.64%) | 10.4 (-56.23%) | 0.28 (-33.33%) | +---------+------+----------------+-----------------+----------------+ | 1 | 0 | 1.8 | 10.04 (-57.71%) | 0.34 | +---------+------+----------------+-----------------+----------------+ | 1 | 0 | 1.96 | 10.46 (-56.23%) | 0.44 | +---------+------+----------------+-----------------+----------------+ .. table:: ``CPU_SUSPEND`` latencies (µs) to power level 0 in serial (v2.12) +---------+------+-----------+--------+----------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+-----------+--------+----------------+ | 0 | 0 | 1.66 | 23.22 | 0.36 | +---------+------+-----------+--------+----------------+ | 0 | 0 | 2.58 | 23.72 | 0.78 (+85.71%) | +---------+------+-----------+--------+----------------+ | 1 | 0 | 2.02 | 23.84 | 0.38 | +---------+------+-----------+--------+----------------+ | 1 | 0 | 2.16 | 23.92 | 0.34 | +---------+------+-----------+--------+----------------+ ``CPU_OFF`` on all non-lead CPUs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``CPU_OFF`` on all non-lead CPUs in sequence then, ``CPU_SUSPEND`` on the lead core to the deepest power level. .. table:: ``CPU_OFF`` latencies (µs) on all non-lead CPUs (v2.13) +---------+------+-----------+-----------------+---------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+-----------+-----------------+---------------+ | 0 | 0 | 1.64 | 10.24 (-57.72%) | 0.3 | +---------+------+-----------+-----------------+---------------+ | 0 | 0 | 13.92 | 17.7 (-43.74%) | 0.3 | +---------+------+-----------+-----------------+---------------+ | 1 | 0 | 13.54 | 16.74 (-44.90%) | 0.3 (-37.50%) | +---------+------+-----------+-----------------+---------------+ | 1 | 0 | 14.12 | 18.28 (-41.93%) | 0.3 (-44.44%) | +---------+------+-----------+-----------------+---------------+ .. table:: ``CPU_OFF`` latencies (µs) on all non-lead CPUs (v2.12) +---------+------+-----------+--------+----------------+ | Cluster | Core | Powerdown | Wakeup | Cache Flush | +---------+------+-----------+--------+----------------+ | 0 | 0 | 1.84 | 23.82 | 0.36 | +---------+------+-----------+--------+----------------+ | 0 | 0 | 14.18 | 31.78 | 0.56 (+86.67%) | +---------+------+-----------+--------+----------------+ | 1 | 0 | 13.64 | 30.54 | 0.36 | +---------+------+-----------+--------+----------------+ | 1 | 0 | 14.18 | 31.82 | 0.68 | +---------+------+-----------+--------+----------------+ ``CPU_VERSION`` in parallel ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. table:: ``CPU_VERSION`` latency (µs) in parallel on all cores (v2.13) +----------+------+-------------------+ | Cluster | Core | Latency | +----------+------+-------------------+ | 0 | 0 | 0.12 | +----------+------+-------------------+ | 0 | 0 | 0.2 (-28.57%) | +----------+------+-------------------+ | 1 | 0 | 0.2 | +----------+------+-------------------+ | 1 | 0 | 0.24 (-25.00%) | +----------+------+-------------------+ .. table:: ``CPU_VERSION`` latency (µs) in parallel on all cores (v2.12) +----------+------+-------------------+ | Cluster | Core | Latency | +----------+------+-------------------+ | 0 | 0 | 0.14 | +----------+------+-------------------+ | 0 | 0 | 0.2 (-28.57%) | +----------+------+-------------------+ | 1 | 0 | 0.2 | +----------+------+-------------------+ | 1 | 0 | 0.26 | +----------+------+-------------------+ -------------- *Copyright (c) 2023-2025, Arm Limited. All rights reserved.* .. _TF-A v2.13-rc0: https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.13-rc0 .. _TFTF v2.13-rc0: https://review.trustedfirmware.org/plugins/gitiles/TF-A/tf-a-tests/+/refs/tags/v2.13-rc0 .. _user guide: https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/master/docs/n1sdp/user-guide.rst .. _N1SDP: https://developer.arm.com/documentation/101489/latest