Skip to main content
You can use the performance build to measure system performance. Additionally, you can compile the debug tools to analyze and resolve any performance issues.

Prerequisites

To start developing your software using Qualcomm® Linux®, set up your infrastructure as described in the Build Qualcomm Linux using Yocto. The build guide also explains the common build workflows.

Performance analysis and tuning process workflow

The following figure shows a workflow to achieve the expected system performance:
Figure : Workflow to measure the Qualcomm Linux system performance

Figure : Workflow to measure the Qualcomm Linux system performance

The workflow diagram summarizes the performance analysis and tuning process in six steps:
  1. Prepare a performance build using analysis tools.
  2. Measure key performance indicators (KPIs) such as system benchmarks and boot time.
  3. Troubleshoot performance issues including CPU workload and memory usage.
  4. Apply tuning and customizations to address identified issues.
  5. Evaluate KPI targets to determine if performance goals are met. If performance goals aren’t met, troubleshoot and tune according to system requirements. This forms an iterative loop for continuous performance improvement.
  6. Report unresolved issues at Qualcomm support.

Prepare performance build

It’s recommended to use the performance build for performance measurement or debugging. To prepare a performance build use the following command:
kas build meta-qcom/ci/<machine>.yml:meta-qcom/ci/qcom-distro.yml:meta-qcom/ci/performance.yml
For more information, see Build Qualcomm Linux using Yocto. The performance build uses the following kernel configuration fragments from the source code: meta-qcom/recipes-kernel/linux/linux-qcom-6.18/configs/bsp-additions.cfg These kernel configurations are defined in the source code kernel recipe at meta-qcom/recipes-kernel/linux/linux-qcom_6.18.bb

Compile performance tools

The tools to debug performance issues include LTTng, GCC, G++, htop, perf utility, iotop, and lmbench. To compile the debug tools, add them to the qcom-multimedia-image.bb distribution image in the source code in the following path: meta-qcom-distro/recipes-products/images/
diff --git a/recipes-products/images/qcom-multimedia-image.bb b/recipes-products/images/qcom-multimedia-image.bb
index 23a2f40..5295bf9 100644
--- a/recipes-products/images/qcom-multimedia-image.bb
+++ b/recipes-products/images/qcom-multimedia-image.bb
@@ -10,4 +10,20 @@ REQUIRED_DISTRO_FEATURES += "wayland"
CORE_IMAGE_BASE_INSTALL += " \
      packagegroup-qcom-multimedia \
      packagegroup-qcom-iot-base-utils \
+     lttng-tools \
+     lttng-tools-dev \
+     lttng-modules \
+     lttng-modules-dev \
+     lttng-ust \
+     lttng-ust-dev \
+     liburcu-dev \
+     gcc \
+     g++ \
+     iotop \
+     htop \
+     perf \
+     lmbench \
"

Next steps