You can access performance dashboards for boot time, system benchmarks, memory map, and product segment key performance indicators (KPIs) on the Qualcomm® Linux® reference devices. The following subsections describe the performance dashboards and measurement procedures for QCS6490, QCS5430, and Qualcomm Dragonwing™ IQ-615.For Qualcomm Dragonwing™ IQ-9075 and Qualcomm Dragonwing™ IQ-8275 performance dashboards and measurement procedures, see the corresponding addendum. The following guides provide supplementary information and these guides are available to licensed users with authorized access:
The following boot time KPIs indicate system readiness at different stages:
Init/systemd process : The time elapsed from power-on until the system’s first user-space process (PID 1, typically systemd) starts executing. This includes the time taken by Firmware, Loader and Kernel+InitramFS.
Camera driver init finish : Indicates that the camera hardware has completed initialization and is ready for use.
Sysinit.target: The time from power-on until sysinit.target is reached — the point where all essential system initialization services (file systems mounted, kernel modules loaded, basic hardware configured) have completed.
The following table lists the measured boot time (values in seconds) on QCS6490 (flashed with UEFI firmware).
Use case
Score
Boot time till Init/systemd process
3.98
Boot time till Camera driver init finish
7.20
Boot time till Sysinit.target
8.12
A lower boot time score is better.
Configuration 1 (qcom-multimedia-image)
Configuration 1 represents the upstream package set, which includes open-source and baseline multimedia components provided as part of the standard Qualcomm multimedia image.Configuration 2 (qcom-multimedia-proprietary-image)
Configuration 2 represents the downstream package set, which includes proprietary multimedia components, enhancements, and vendor-specific additions layered on top of the upstream image.For information about the measurement procedure, see Measure boot time.
This section outlines how system performance is measured using a set of standard benchmarks. The following tables list the CPU, memory, storage, and graphics benchmark scores on QCS6490.Geekbench
The following table lists the memory consumption (values in MB) for each partition, such as non-Linux, kernel static, and applications. It also lists the total free memory available to the system after device boot and during use cases such as 4k resolution encoding at 30 fps.
Memory partitions
After boot
Total RAM
6144
Non-Linux
624
Kernel static
214
Applications + framework
509
Total free memory
4797
For information about the measurement procedure, see Measure memory map.
A higher total free memory value is better for the system performance.
The following boot time KPIs indicate system readiness at different stages:
Init/systemd process : The time elapsed from power-on until the system’s first user-space process (PID 1, typically systemd) starts executing. This includes the time taken by Firmware, Loader and Kernel+InitramFS.
Sysinit.target : The time from power-on until sysinit.target is reached — the point where all essential system initialization services (file systems mounted, kernel modules loaded, basic hardware configured) have completed.
The following table lists the measured boot time (values in seconds) on QCS5430 (flashed with UEFI firmware).
Use case
Score
Boot time till Init/systemd process
6.45
Boot time till Sysinit.target
10.68
A lower boot time score is better.
Configuration 1 (qcom-multimedia-image)
Configuration 1 represents the upstream package set, which includes open-source and baseline multimedia components provided as part of the standard Qualcomm multimedia image.Configuration 2 (qcom-multimedia-proprietary-image)
Configuration 2 represents the downstream package set, which includes proprietary multimedia components, enhancements, and vendor-specific additions layered on top of the upstream image.For information about the measurement procedure, see Measure boot time.
This section outlines how system performance is measured using a set of standard benchmarks. The following tables list the CPU, memory, storage, and graphics benchmark scores on QCS5430.Geekbench
The following table lists the memory consumption (values in MB) for each partition such as non-Linux, kernel static, and applications. It also lists the total free memory available to the system after device boot and during use cases such as 4k resolution encoding at 30 fps.
Memory partitions
After boot
Total RAM
6144
Non-Linux
594
Kernel static
214
Applications + framework
520
Total free memory
4814
For information about the measurement procedure, see Measure memory map.
A higher total free memory value is better for the system performance.
The KPIs for camera latency measurement data across various QCS5430 camera use cases will be provided in a future release.For information about the measurement procedure, see Measure camera recording/snapshot latency.
The following boot time KPIs indicate system readiness at different stages:
Init/systemd process : The time elapsed from power-on until the system’s first user-space process (PID 1, typically systemd) starts executing. This includes the time taken by Firmware, Loader and Kernel+InitramFS.
Camera driver init finish : Indicates that the camera hardware has completed initialization and is ready for use.
Sysinit.target : The time from power-on until sysinit.target is reached — the point where all essential system initialization services (file systems mounted, kernel modules loaded, basic hardware configured) have completed.
The following table lists the measured boot time (values in seconds) on Dragonwing IQ-615 (flashed with UEFI firmware).
Use case
Score
Boot time till Init/systemd process
3.89
Boot time till Camera driver init finish
6.32
Boot time till Sysinit.target
6.86
A lower boot time score is better.
Configuration 1 (qcom-multimedia-image)
Configuration 1 represents the upstream package set, which includes open-source and baseline multimedia components provided as part of the standard Qualcomm multimedia image.Configuration 2 (qcom-multimedia-proprietary-image)
Configuration 2 represents the downstream package set, which includes proprietary multimedia components, enhancements, and vendor-specific additions layered on top of the upstream image.For information about the measurement procedure, see Measure boot time.
This section outlines how system performance is measured using a set of standard benchmarks. The following tables list the CPU, memory, storage, and graphics benchmark scores on Dragonwing IQ-615.Geekbench
The following table lists the memory consumption (values in MB) for each partition, such as non-Linux, kernel static, and applications. It also lists the total free memory available to the system after device boot and during use cases such as 4k resolution encoding at 30 fps.
Memory partitions
After boot
Total RAM
4096
Non-Linux
377
Kernel static
174
Applications + framework
619
Total free memory
2926
For information about the measurement procedure, see Measure memory map.
A higher total free memory value is better for the system performance.
Connect to the device console using a serial cable.a. Connect a serial cable between the device and the Linux host PC.b. Connect to the UART terminal using credentials ( user: root, password: oelinux123 ). See Connect to a UART shell.c. Power-off and on the device.
Boot time KPIs can be measured by capturing systemd-analyze and journalctl logs after the device boots up and stabilized.
grep "Reached target System Initialization." /var/lib/journalctl.txt
Expected output: [ 4.757850] iq-615-evk systemd[1]: Reached target System Initialization.
Boot time till Init/systemd process = Firmware + Loader + Kernel = 1.697 + 0.402 + 1.693 = __3.892s__
Boot time till Camera driver init finish = Firmware + Loader + journalctl timestamp of "camera driver initialized" = 1.697 + 0.402 + 4.220 = __6.319s__
Boot time till Sysinit.target = Firmware + Loader + journalctl timestamp of "Reached target System Initialization" = 1.697 + 0.402 + 4.757 = __6.856s__
The Firmware and Loader times are taken from systemd-analyze output (1.697s + 0.402s). The kernel timestamps in journalctl are relative to kernel start, so Firmware + Loader time is added to get the absolute boot time from power-on.
These benchmarks measure the performance of subsystems such as CPU throughput, memory bandwidth, memory latency, and I/O performance.PrerequisitesBefore running any benchmark, complete the following setup:
ADB isn’t enabled by default on the device. To enable ADB before running these benchmarks, see Enable ADB.
Flash the build.
Run the following command to get root access:
adb root
Open a shell on the device:
adb shell
Navigate to the directory where the binary is pushed:
cd /usr/bin
Set execute permissions on the binary:
chmod 777 <binary>
GeekbenchGeekbench is a tool used to measure system performance against the established benchmarks.To measure system performance using Geekbench, do the following:
To download Geekbench from the Linux/ARM section from upstream, see Geekbench.
The Geekbench 6 for Linux/AArch64 is a preview build. The Geekbench versions may change and the steps mentioned in this section are for your reference. The preview builds require an active Internet connection and automatically upload benchmark results to the Geekbench browser.
To measure a CPU benchmark using Geekbench, do the following:
Unzip the Geekbench file and push it from the host using adb tool. The following are the example commands:
A memory map provides information on how memory is allocated for different processes. A memory map measurement allows you to monitor a mapped process and troubleshoot any memory issues.To calculate the memory map, boot the device and stabilize it. Then, run the following commands to collect logs from the device:
cat /proc/meminfo
cat /proc/iomem
cat /proc/vmstat
Non-Linux memoryUse the following formula to calculate the non-Linux memory:Non-Linux = Total RAM size − Total LinuxRun the following command to calculate the total RAM size:
cat /proc/meminfo | grep -i "MemTotal"
To calculate the total Linux memory from iomem, run the following command:
cat /proc/iomem | grep System
Kernel staticUse the following formula to calculate the kernel static:Kernel static = Total Linux − MemTotalApplication + framework memory calculationUse the following formula to calculate the memory used by the applications and framework:Application + framework = MemTotal − Free memoryFree memory calculationUse the following formula to calculate the free memory:Free memory = MemFree + (Cached − shmem) + buffer + ION cacheTo obtain the free memory details, run the following command:
cat /proc/meminfo
To check the vmstat logs for ION cache, run the following command:
This topic describes the camera recording/snapshot latency measurement procedure.To complete the prerequisites on every reboot, run the following commands on the device:
mount -t debugfs none /sys/kernel/debug
setprop persist.qmmf.kpi.debug 2
First record latencyTo capture the logs, follow these steps:
Connect to Start Camera = StartCamera − Connect StartCamera to CreateVideoTrack = CreateVideoTrack − StartCamera CreateVideoTrack to StartVideoTrack = StartVideoTrack − CreateVideoTrack StartVideoTrack to FirstVidFrame = FirstVidFrame − StartVideoTrack Rec latency = sum of above all