Android启动时长优化(kernel部分)

硬件平台:QCS6115

软件平台:Android13 Vendor + Android14 Qssi

  需求:设备从logo到进入Home页面持续时间过长,接近60s,遂需要优化。首先尝试内核部分的配置优化及有关裁剪,具体改动如下:

diff --git a/qcom/bengal-qrd-pmi632.dtsi b/qcom/bengal-qrd-pmi632.dtsi
index 1cb9aa4..0f8034c 100755
--- a/qcom/bengal-qrd-pmi632.dtsi
+++ b/qcom/bengal-qrd-pmi632.dtsi
@@ -129,13 +129,13 @@&usb0 {extcon = <&pmi632_charger>, <&eud>;};
-
+/*&smb1355 {pinctrl-names = "default";pinctrl-0 = <&smb_int_default>;interrupt-parent = <&tlmm>;interrupts = <105 IRQ_TYPE_LEVEL_LOW>;
-       status = "ok";
+       status = "disabled";};&smb1355_charger {
@@ -144,9 +144,9 @@qcom,parallel-mode = <1>;qcom,disable-ctm;qcom,hw-die-temp-mitigation;
-       status = "ok";
+       status = "disabled";};
-
+*/&qupv3_se1_i2c {fsa4480: fsa4480@43 {compatible = "qcom,fsa4480-i2c";
diff --git a/qcom/bengal-qrd.dtsi b/qcom/bengal-qrd.dtsi
index dfa775a..7d4e381 100755
--- a/qcom/bengal-qrd.dtsi
+++ b/qcom/bengal-qrd.dtsi
@@ -5,7 +5,7 @@&qupv3_se1_i2c {status = "ok";
-       #include "smb1355.dtsi"
+       //#include "smb1355.dtsi"tc358767@0f {status = "ok";
@@ -214,7 +214,7 @@cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>;-       status = "ok";
+       status = "disabled";};&tlmm {
@@ -240,7 +240,7 @@vdda-phy-max-microamp = <51400>;vdda-pll-max-microamp = <14200>;-       status = "ok";
+       status = "disabled";};&ufshc_mem {
@@ -259,7 +259,7 @@reset-gpios = <&tlmm 113 GPIO_ACTIVE_LOW>;reset-names = "rst";-       status = "ok";
+       status = "disabled";};&pm6125_pwm {
diff --git a/qcom/bengal.dtsi b/qcom/bengal.dtsi
index 10e2f80..5386deb 100755
--- a/qcom/bengal.dtsi
+++ b/qcom/bengal.dtsi
@@ -595,7 +595,7 @@};chosen {
-               bootargs = "lpm_levels.sleep_disabled=1 console=ttyMSM0,115200n8 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=2048 loop.max_part=7 cpufreq.default_governor=performance rcupdate.rcu_expedited=1 rcu_nocbs=0-7 kpti=off export_pmu_events movable_node ftrace_dump_on_oops ssbd=force-off disable_dma32=on cgroup.memory=nokmem,nosocket panic=5";
+               bootargs = "lpm_levels.sleep_disabled=1 console=ttyMSM0,115200n8 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=2048 loop.max_part=7 cpufreq.default_governor=performance rcupdate.rcu_expedited=1 rcu_nocbs=0-7 kpti=off export_pmu_events movable_node ftrace_dump_on_oops ssbd=force-off disable_dma32=on cgroup.memory=nokmem,nosocket panic=5 slub_debug=- quite kasan=off can.stats_timer=0 loglevel=6 nosoftlockup debug_pagealloc=off ";};soc: soc { };
@@ -1228,6 +1228,7 @@qcom,pet-time = <9360>;qcom,ipi-ping;qcom,wakeup-enable;
+               status = "ok";};rpm_bus: qcom,rpm-smd {
diff --git a/qcom/pm8008.dtsi b/qcom/pm8008.dtsi
index f27a394..1c523c9 100755
--- a/qcom/pm8008.dtsi
+++ b/qcom/pm8008.dtsi
@@ -8,6 +8,7 @@ pm8008_8: qcom,pm8008@8 {interrupt-names = "pm8008";qcom,periph-map = <0x09 0x24 0xc0 0xc1>;
+       status = "disabled";pm8008_chip: qcom,pm8008-chip@900 {compatible = "qcom,pm8008-chip";
@@ -45,6 +46,7 @@ pm8008_9: qcom,pm8008@9 {pinctrl-names = "default";pinctrl-0 = <&pm8008_gpio1_active>;
+       status = "disabled";pm8008_regulators: qcom,pm8008-regulator {compatible = "qcom,pm8008-regulator";

  经此配置项优化,系统启动时长缩减至30+s,后续会详细把各项改动的缘由添加上,本篇只做一个工作Mark。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/84213.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

若依添加添加监听容器配置(删除键,键过期)

1、配置Redis的键触发事件 # 基础配置 bind 0.0.0.0 # 允许所有IP连接 protected-mode no # 关闭保护模式&#xff08;生产环境建议结合密码使用&#xff09; port 6379 # 默认端口 daemonize no …

vb监测Excel两个单元格变化,达到阈值响铃

需求 在Excel中实现监控两个单元格之间的变化范围&#xff0c;当达到某个设定的值的范围内时&#xff0c;实现自动响铃提示。 实现&#xff1a; 首先设置Excel&#xff0c;开启宏、打开开发者工具&#xff0c;点击visual Basic按钮&#xff0c;然后在左侧双击需要监测的shee…

用 Melos 解决 Flutter Monorepo 的依赖冲突:一个真实案例

在 Flutter 项目开发中&#xff0c;尤其是采用 Monorepo 架构管理多个相互关联的包时&#xff0c;依赖冲突是一个常见且令人头疼的问题。不同的包可能依赖同一个库的不同版本&#xff0c;导致项目无法编译或运行时出现难以调试的错误。 本文将基于一个 真实的 Flutter Monorep…

Spring AI 项目实战(五):Spring Boot + AI + DeepSeek + Redis 实现聊天应用上下文记忆功能(附完整源码)

系列文章 序号文章名称1Spring AI 项目实战(一):Spring AI 核心模块入门2Spring AI 项目实战(二):Spring Boot + AI + DeepSeek 深度实战(附完整源码)3Spring AI 项目实战(三):Spring Boot + AI + DeepSeek 打造智能客服系统(附完整源码)4Spring AI 项目实战(四…

Vue 3 Teleport 实战:优雅实现模态框、通知和全局组件

Vue 3 Teleport&#xff1a;突破 DOM 层级限制的组件渲染利器 在 Vue 应用开发中&#xff0c;组件通常与其模板的 DOM 结构紧密耦合。但当处理模态框&#xff08;Modal&#xff09;、通知&#xff08;Toast&#xff09;或全局 Loading 指示器时&#xff0c;这种耦合会成为障碍…

SVM超详细原理总结

哈喽&#xff0c;我是我不是小upper~ 今天想跟大家聊聊支持向量机&#xff08;SVM&#xff09;。很多初学者对这个算法模型特别感兴趣&#xff0c;它也是初学者在学习过程中非常喜爱的一种模型&#xff0c;更是机器学习领域中极为重要的算法之一&#xff01; 今天想跟大家深入…

【Oracle】触发器

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 触发器基础概述1.1 触发器的概念与特点1.2 触发器的分类1.3 触发器的执行顺序 2. DML触发器2.1 基础DML触发器2.1.1 INSERT触发器2.1.2 UPDATE触发器2.1.3 DELETE触发器 2.2 高级DML触发器2.2.1 复合触发器2…

MTK-Android12-13 Camera2 设置默认视频画质功能实现

MTK-Android12-13 Camera2 设置默认视频画质功能实现 场景&#xff1a;部分客户使用自己的mipi相机安装到我们主板上&#xff0c;最大分辨率为1280720&#xff0c;但是视频画质默认的是640480。实际场景中&#xff0c;在默认视频分辨率情况下拍出来的视频比较模糊、预览也不清晰…

QtDBus模块功能及架构解析

Qt 6.0 中的 QtDBus 模块是一个用于进程间通信&#xff08;IPC&#xff09;的核心模块&#xff0c;它基于 D-Bus 协议实现。D-Bus 是一种在 Linux 和其他类 Unix 系统上广泛使用的消息总线系统&#xff0c;允许应用程序和服务相互通信。 一、QtDBus模块主要功能&#xff1a; 1…

Spring AI 项目实战(六):Spring Boot + AI + DeepSeek 打造智能成语接龙游戏(附完整源码)

系列文章 序号文章名称1Spring AI 项目实战(一):Spring AI 核心模块入门2Spring AI 项目实战(二):Spring Boot + AI + DeepSeek 深度实战(附完整源码)3Spring AI 项目实战(三):Spring Boot + AI + DeepSeek 打造智能客服系统(附完整源码)4Spring AI 项目实战(四…

【HarmonyOS 5】教育开发实践详解以及详细代码案例

以下是基于 ‌HarmonyOS 5‌ 的教育应用开发实践详解及核心代码案例&#xff0c;结合分布式能力与教育场景需求设计&#xff1a; 一、教育应用核心开发技术 ‌ArkTS声明式UI‌ 使用 State 管理学习进度状态&#xff0c;LocalStorageProp 实现跨页面数据同步&#xff08;如课程…

【鸿蒙在 ETS (Extendable TypeScript) 中创建多级目录或文件,可以使用鸿蒙的文件系统 API】

鸿蒙在 ETS (Extendable TypeScript) 中创建多级目录或文件&#xff0c;可以使用鸿蒙的文件系统 API。 // 导入需要的模块 import fs from ohos.file.fs;const TAG"Index" Entry Component struct Index {State message: string Hello World;build() {Row() {Colum…

11. vue pinia 和react redux、jotai对比

对比 Vue 的 Pinia&#xff0c;和 React 的 Redux、Jotai&#xff0c;分中英文简要介绍、特性、底层原理、使用场景。 简单介绍 1.1 Pinia&#xff08;Vue&#xff09; • 英文&#xff1a;Pinia is the official state management library for Vue 3, designed to be simple…

OPenCV CUDA模块目标检测----- HOG 特征提取和目标检测类cv::cuda::HOG

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::cuda::HOG 是 OpenCV 的 CUDA 模块中对 HOG 特征提取和目标检测 提供的 GPU 实现。它与 CPU 版本的 cv::HOGDescriptor 类似&#xff0c;但利…

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…

【QT】QT多语言切换

QT多语言切换 1.创建任意一个项目2. 利用lupdate&#xff08;language update&#xff09;工具生成.ts文件2.1 在工程中的.pro文件中指定.ts文件要存放的位置2.2 选择工具--》外部--》Qt语言家--》更新翻译 3. 利用 lrelease&#xff08;Language Release&#xff09;将 .ts 文…

【差分】详解二维前缀和和差分问题

文章目录 1. 二维前缀和2. 公式推导3. LeetCode 304 二维区域和检索 - 矩阵不可变3.1 304 二维区域和检索 - 矩阵不可变3.2 LeetCode 1139 最大的以 1 为边界的正方形 4. 二维差分问题5. 二维差分的原理以及差分数组计算6. 题目6.1 牛客二维差分6.2 LeetCode 2132. 用邮票贴满网…

Unity 大型手游碰撞性能优化指南

Unity 大型手游碰撞性能优化指南 版本: 2.1 作者: Unity性能优化团队 语言: 中文 前言 在Unity大型手游的开发征途中,碰撞检测如同一位隐形的舞者,它在游戏的物理世界中赋予物体交互的灵魂。然而,当这位舞者的舞步变得繁复冗余时,便会悄然消耗宝贵的计算资源,导致帧率下…

【hive】函数集锦:窗口函数、列转行、日期函数

窗口函数 https://www.cnblogs.com/Uni-Hoang/p/17411313.html <窗口函数> OVER ([PARTITION BY <分组列> [, <分组列>...]][ORDER BY <排序列> [ASC | DESC] [, <排序列> [ASC | DESC]]...][<rows or range clause>]) )窗口函数主要是…

DAY 25 异常处理

目录 DAY 25 异常处理1.异常处理机制2.debug过程中的各类报错3.try-except机制4.try-except-else-finally机制作业&#xff1a;理解今日的内容即可&#xff0c;可以检查自己过去借助ai写的代码是否带有try-except机制&#xff0c;以后可以尝试采用这类写法增加代码健壮性。 DAY…