Skip to main content
Values measured on QLI 2.1.1, on two configurations: and . Each table says which one it shows.For more information, see Use overlay configurations to derive image recipes.

Boot time

MethodBoot markers from systemd journalSee procedure
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.

Measured on the . The is within 5%. Lower is better.

System benchmarks

Standard benchmarks for CPU, memory, storage, and graphics. Higher is better, except for CPU total time, thread total time, and mutex total time, where lower is better.

Geekbench

CoreMark

Tiotest

GLmark2

Sysbench

MethodGeekbench 6.5.0 · CoreMark · Tiotest · GLmark2 · SysbenchSee procedure

Memory map

Memory used by each partition and total free memory after boot, in MB. Higher free memory is better.
Method/proc/meminfo, /proc/iomem and /proc/vmstat after bootSee procedure

Camera recording and snapshot latency

Camera latency for QCS6490 camera use cases, in seconds. Lower is better.
MethodTrace log markers (trace_pipe)See procedure

Measurement procedures

The measurement procedures include KPIs, such as boot time, system benchmark, record latency, and snapshot latency.
To measure boot time, do the following:
1

Flash a build.

See Flash software images to boot the device.
2

After the device is up, reboot it.

3

Connect to the device console using a serial cable.

  1. Connect a serial cable between the device and the Linux host PC.
  2. Connect to the UART terminal using credentials ( user: root, password: oelinux123 ). See Connect to a UART shell.
  3. 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.
Expected output:
Expected output:
Expected output:
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.

Prerequisites

Before 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.
1

Flash the build.

2

Run the following command to get root access:

3

Open a shell on the device:

4

Navigate to the directory where the binary is pushed:

5

Set execute permissions on the binary:

Geekbench

Geekbench is a tool used to measure system performance against the established benchmarks.To measure system performance using Geekbench, do the following:
1

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.
2

To measure a CPU benchmark using Geekbench, do the following: Unzip the Geekbench file and push it to the device from the host using ADB or SCP. The following are example commands:

Using ADB:
Using SCP:
To run Geekbench, run the following commands on the device:

Sysbench

Sysbench measures CPU, memory, thread, mutex, and file I/O performance.To run Sysbench tests, run the following commands on the device:
To run with taskset:

Tiotest

Tiotest measures storage I/O performance.To run Tiotest, do the following:
1

Run the sequential I/O test:

2

Run the random I/O test:

3

Drop the cache between iterations:

CoreMark

CoreMark measures embedded processor performance.To run CoreMark, run the following command on the device:
The following is an example output:

Glmark2

Glmark2 measures GPU rendering and graphics performance.To run Glmark2, do the following:
1

Configure the Wayland runtime environment:

2

Run the off-screen test at default resolution:

3

Run the off-screen test at 1920x1080 resolution:

4

Run the on-screen test at default resolution:

5

Run the on-screen test at 1920x1080 resolution:

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:

Non-Linux memory

Use 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:
To calculate the total Linux memory from iomem, run the following command:

Kernel static

Use the following formula to calculate the kernel static:Kernel static = Total Linux − MemTotal

Application + framework memory calculation

Use the following formula to calculate the memory used by the applications and framework:Application + framework = MemTotal − Free memory

Free memory calculation

Use 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:
To check the vmstat logs for ION cache, run the following command:
This topic describes the camera recording and snapshot latency measurement procedure.To complete the prerequisites on every reboot, run the following commands on the device:

First record latency

To capture the logs, follow these steps:
1

Boot the device and wait for it to stabilize.

2

In one shell, run the following command:

3

In another shell, run the use case.

4

Stop the trace log.

5

See the reference table below to measure the record latency.

First snapshot latency

1

Boot the device.

2

After the device stabilizes, in one shell, run the following command:

3

In another shell, run the use case.

4

Stop the trace log.

5

See the reference table below to measure snapshot latency.

Reference table for measurement