概述
Qualcomm® Linux 平台的性能能力使开发人员能够提高系统效率。
监控性能指标可确保系统资源的最佳利用。例如,性能指标可以用来评估功耗效率,并提高热管理能力。本指南提供了在 Linux 平台(目前以QCS6490和QCS5430为例子)上测量、微调和增强软件性能的说明。
它包括以下与系统性能相关的信息:
- 影响性能的特性
- 用于分析影响性能的热点(应用程序和系统软件的一部分)的分析工具
- 配置和定制 Linux 特性的基本参数以增强性能
- 性能问题的故障排除方法
- 供参考的 QCS6490 和 QCS5430 的性能说明表及测量程序
子系统依赖性
软件性能受 CPU 子系统、GPU 和 DDR 的影响。Qualcomm Linux 系统由 Qualcomm® Kryo™ CPU 提供支持,该 CPU 包含以下集群:
- 用于高性能 CPU 核心的 Prime 集群
- 提供平衡功耗和性能的 Gold 集群
- 适合轻量级应用的低功耗 CPU 核心的 Silver 集群
缓存内存分为三个级别:L1、L2 和 L3:
- L1 是最小和最快的缓存级别,存储指令(L1 I)和数据(L1 D)。
- L2 和 L3 是更大但速度较慢的缓存级别,仅用于数据存储。
注:Qualcomm Linux 平台允许您开发 QCS6490 和 QCS5430 的应用程序。
下表列出了 QCS6490 和 QCS5430 子系统的规格:
开始
这段信息解释了如何使用 Qualcomm Linux 平台开始开发软件。
在开始之前,请按照《Qualcomm Linux 构建指南》中描述的步骤来设置您的基础设施。本指南还提供了有关常见构建工作流程的信息。
您必须使用性能构建来测量系统性能。此外,您可以编译调试工具来分析和有效解决任何性能问题。
下图展示了实现预期系统性能的标准性能工作流程:
准备性能构建
默认情况下,Qualcomm Linux 构建是性能构建。对于性能测量或调试,建议使用此构建。
性能构建使用以下内核配置片段:
kernel_platform/kernel/arch/arm64/configs/qcom_defconfig
kernel_platform/kernel/arch/arm64/configs/qcom_addons.config
这些内核配置在源代码内核配方中定义,位于:
layer/meta-qcom-hwe/recipes-kernel/linux/linux-kernel-qcom_6.6.bb
配置如下:
makefile
KERNEL_DEFCONFIG = "${S}/arch/arm64/configs/qcom_defconfig"
KERNEL_CONFIG_FRAGMENTS:append = " ${S}/arch/arm64/configs/qcom_addons.config"
编译性能工具
用于调试性能问题的工具包括:LTTng、GCC、G++、htop、perf 工具、iotop 和 lmbench。
要编译调试工具,请将它们添加到源代码中 /layers/meta-qcom-distro/recipes-products/images/ 目录下的 qcom-multimedia-image.bb 分发映像中。
以下是添加工具的差异文件:
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 \
"
在增加了这些patch之后就可以开始编译出带有工具的镜像了.