云栖梦泽
林渡
Blog
  • 首页
  • 我的视界
    • 人世间
      • 世间风声
      • 人间烟火
    • 壹句话
    • 云外光影
      • 动物与植物
      • 美食
      • 生活气息
      • 人物
    • 文章归档
      • 技术分享
      • 视频类型
      • 音频类型
      • 图文类型
      • 图片类型
  • 「内核宇宙」
    • 灵感工坊
      • 灵感风暴
      • 与AI共生
      • 开源项目推荐
    • 底层漫游
      • Android稳定性
      • Linux内存管理
      • Linux进程调度
      • Linux内核
      • ARM体系架构
      • LRDP2
      • 技术分享
  • 璀璨星河
    • 公告
    • 轻言
    • 应用舱
    • 众星
    • 豆瓣
    • 足迹
    • 走心评论
    • 林渡的网盘
  • 留言板
  • 关于
    • 捐赠者名单
    • 关于我
    • 一些声明
      • 站点声明
      • 隐私政策
    • 网站看板
  • 欢迎订阅!

欢迎来到云栖梦泽,为您导读全站动态
  • 路人甲不掉线 8小时前前留言 bringup 阶段把 SELinux 直接设成 permissive 然后还遇到 kernel panic,这种情况我之前也踩过,不过当时没想到会是 zram 驱动的问题。文中这条时间线很关键:uzram.ko 加载 -> zram0 容量变化 -> mkswap 调用 -> UBSAN 报错,把现场还原得很清楚。感觉以后排查类似问题,先看 UBSAN 日志 + 反汇编,比盲目改代码稳多了。能不能顺便分享下你那个 kernel-panic-killer 工具的大致实现?
  • 林渡 6日前前留言 不好意思哈,公司使用的,不开源
  • jxc 1周前前留言 请问可以开源吗?
  • 林渡 1周前前留言 我用的是chatgpt-image-2制作的封面图
  • 林渡 2周前前留言 哈哈,谢谢你们!
  • TTT 3周前前留言 11111,有人看,每分每刻。
  • TTT 2026-06-10前留言 感谢分享😚
  • 林渡 2026-06-08前留言 Hi,这个涉及到我司客户的设计方案,只对我司内部员工开放
  • 狗黄他满满 2026-06-02前留言 请问这个可以看嘛😁
  • 林渡 2026-06-01前留言 用 gpt image 2绘制的
2026 年 7 月
日一二三四五六
1234
567891011
12131415161718
19202122232425
262728293031
« 6 月  
最近文章
  • 2026-07-15 [linux内存管理] 第 047 篇 Linux 内存回收(Memory Reclaim)总体架构
  • 2026-07-11 [Android稳定性] 第65篇 SELinux 设置为 permissive 模式后出现的 kernel panic
  • 2026-07-03 再看《孩子王》观后感:当AI成为每个人的“字典”之后
  • 2026-06-01 [Android稳定性] 第64篇 blk_mq_tags Use-After-Free 导致系统级 I/O 死锁
  • 2026-06-01 [Android稳定性] 第63篇 EROFS 解压缩页面 Use-After-Free 导致 Kernel Panic
  • 2026-05-06 [开源项目] GitNexus + Claude Code 配置与使用指南
  • 2026-04-10 [linux内存管理] 第046篇 Page Cache脏页回写机制深入分析
  • 2026-04-01 AI时代笔记工作流:构建下一代知识管理引擎
  • 2026-03-24 认知加速度:AI时代最残酷的鸿沟,正在此刻拉开
  • 2026-03-20 Linux 内核崩溃分析报告 - AI
  • 2026-03-11 AI时代的思考:内核稳定性工程师离失业还有多久?
  • 2026-03-06 [linux内存管理] 第045篇 per-CPU变量的静态与动态分配
  • 2026-03-04 [linux内存管理] 第044篇 per-CPU基础知识以及per-CPU分配器的初始化
  • 2026-03-02 [Android稳定性] 第62篇 内核访问与tee共享的内存数据异常造成内存越界
  • 2026-02-28 [LRDP2] 解析插件之logcat
  • 2026-02-26 [linux内存管理] 第043篇 page cache 脏页跟踪机制
  • 2026-02-26 向 Linux 内核社区提交 patch 实操要点
  • 2026-02-06 基于 QEMU 与 VSCode 的 Linux 内核调试环境搭建指南
  • 2026-02-06 「纵朝生暮死,亦当惊鸿」
  • 2026-02-04 [linux内存管理] 第042篇 Linux内核Page Cache机制深入分析
热门文章
  • 2024-11-22 高通android启动代码流程分析(SBL->ABL)
  • 2026-01-29 📢 致读者的一封信:关于运营、初心与一份邀请
  • 2026-05-06 [开源项目] GitNexus + Claude Code 配置与使用指南
  • 2024-12-15 [Android稳定性] 第000篇 Android稳定性系列开篇
  • 2025-07-21 高通以及MTK平台内核单独编译ko的原理
  • 2025-08-27 [Android稳定性] 第058篇 [方法篇] 高通平台使用QFIL回读分区
  • 2025-09-04 琴棋书画诗酒花与柴米油盐酱醋茶的人生辩证
  • 2025-07-10 [Linux进程调度] 第001篇 一篇文章全面了解Linux进程调度
  • 2026-01-08 【深入内核】中断真的不能睡眠吗?
  • 2025-06-25 [Android稳定性] 第052篇 [方法篇] HMI项目中如何使用QCAP解析minidump?
  • 2025-06-18 [linux内存管理] 第027篇 Linux ARM64 虚拟地址布局
  • 2024-12-15 [Android稳定性] 第001篇 [方法篇] 高通Android平台稳定性分析介绍
  • 2025-01-14 [Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程
  • 2025-11-03 [linux内存管理] 第000篇 Linux内存管理系列开篇
  • 2025-06-09 【深入内核】linux ftrace详解
  • 2024-11-29 [linux内存管理] 第009篇 reserved-memory详解
  • 2024-12-18 [Android稳定性] 第004篇 [原理篇] minidump的原理介绍
  • 2025-10-23 利用 Claude Code 探索 Linux 内核奥秘
  • 2025-06-16 [Android稳定性] 第049篇 [问题篇] 软中断霸占CPU导致watchdog无法及时喂狗
  • 2025-08-05 [Android稳定性] 第057篇 [方法篇] 高通平台使能ftrace的方法
热门标签
  • 内核线程 1
  • 价值观 1
  • 内核开发 3
  • 生产力工具 1
  • Linux内核 12
  • init进程 1
  • 理想与现实 1
  • 人生态度 1
  • 人生意义 1
  • 精神追求 1
  • 性能优化 1
  • 生活美学 1
  • 内核栈 1
  • 任务优先级 0
  • 反思 1
  • 个人成长 1
  • 时间管理 1
  • 自我认知 1
  • 烟火气 1
  • 任务管理 1
  • Static Keys 1
  • 进程调度 1
  • 动态分支 1
  • 寄存器 1
  • idle进程 1
  • 高效工作 1
  • 页面管理 1
  • minidump 3
  • kmalloc 2
  • 脏页 2
74867° 194 15 275
当您评论及浏览文章且浏览器未禁止COOKIE时,会为您显示最近10条回复及前20篇文章的浏览记录。
在万物之间穿行,也在自我之间渡过。

你好,
我是林渡

    • 4周前

      想通了,工具是我的,能力是我的,公司只是一段时间的甲方。

    • 2026-06-03

      太痛了😭

    • 2026-05-15

      我爱白嫖!

    • 2026-04-20

      这段时间我写博文的速度也慢下来了,因为我在思考,思考在这个AI时代下技术博客还有没有必要存在? 从我个人角度来说,我其实也不愿意看那些长篇大论的技术文章,也是随手丢给 AI 看一眼,让它帮我总结提炼出关键!而我遇到的那些坑,其实 AI 也比我更加的懂,更加的全面,那我还有必要写嘛?

    • 查看更多瞬间动态
  • [Linux Ramdump Parser] 解析的入口ramparse.py 2025-08-07 评论 林渡
      LRDP2
      LRDP2
    [Linux Ramdump Parser] 解析的入口ramparse.py

    深入剖析内存转储分析工具ramparse的参数解析与插件机制,通过OptionParser实现丰富参数管理,并采用插件式架构自动发现和注册解析器,便于功能扩展。解析器继承统一基类,添加新功能无需修改主流程。此外,详述了GNU工具链与本地环境联动配置,提升脚本灵活性与兼容性。

    [Android稳定性] 第057篇 [方法篇] 高通平台使能ftrace的方法 2025-08-05 5 条 林渡
      Android稳定性
      ftraceramdump
    [Android稳定性] 第057篇 [方法篇] 高通平台使能ftrace的方法

    本文介绍了Linux内核中的Ftrace工具,用于跟踪和分析内核行为。文章详细讲解了使能Ftrace的方法,包括设置相关开关和打开内核trace相关的defconfig。文章还介绍了如何确认Ftrace是否被使能以及查看Ftrace日志的方法。最后,文章提供了一些参考资料供读者深入了解Ftrace。

    [Android稳定性] 第055篇 [原理篇] 从dump信息角度学调度schedule 2025-08-01 4 条 林渡
      Android稳定性 / Linux进程调度
      schedule
    [Android稳定性] 第055篇 [原理篇] 从dump信息角度学调度schedule

    本文分析了Linux内核中进程调度的流程和上下文切换的细节。在调度过程中,首先关闭抢占,然后调用核心调度函数__schedule,该函数会关闭抢占,选择下一个任务,切换上下文,并最终切换到下一个任务的执行。上下文切换涉及到保存上一个进程的上下文,加载下一个进程的上下文,并最终切换到下一个任务的执行。

    [Android稳定性] 第054篇 [方法篇] 高通平台如何解析ADSP Crash? 2025-07-30 评论 林渡
      Android稳定性
      onemorecrashmanADSP
    [Android稳定性] 第054篇 [方法篇] 高通平台如何解析ADSP Crash?

    本文主要介绍了使用crashman工具解析adsp的方法。首先,需要准备crashman工具、python环境和perl工具。然后,准备解析所需的三个部分:fulldump中的DDRCS0_0.BIN、bp symbols和adsp源码。接下来,通过执行特定的python命令进行解析,并使用ONEMORE集成工具中的adsp crash解析插件来简化解析过程。安装插件前需安装基础工具包。最后,根据工具选项卡中的选项填写相关信息,点击运行即可进行解析。

    ONEMORE开源软件插件开发指南 2025-07-28 2 条 林渡
      技术分享
      onemore
    ONEMORE开源软件插件开发指南

    OneMore 是一款高度自定义的集成工具,由 PyQt6 和 fluent-widgets 开发,采用侧边导航栏和新建标签页的方式呈现工具功能。OneMore 框架设计包括通用接口、资源文件、主窗口、界面设计界面、账号登录界面、设置界面、通用工具和插件安装目录等。已实现功能包括登录界面、设置界面、导航栏、标签页、插件执行页面、插件市场和软件在线更新插件功能。插件开发指南包括插件组成元素、插件 interface 和插件上传。OneMore 遵循 GPL 协议,允许二次开发,但必须标注原作者。

    高通以及MTK平台内核单独编译ko的原理 2025-07-21 评论 林渡
      技术分享
      bazel
    高通以及MTK平台内核单独编译ko的原理

    这篇文章主要讨论了在Android项目开发中,如何进行内核模块(ko)的编译和打包到image中。文章首先介绍了ko编译原理,包括树外驱动和树内驱动的编译过程,并分别以高通平台和MTK平台为例进行了详细说明。 对于树外驱动,文章提到了高通平台中使用的ko编译模板`Build_external_kernelmodule.mk`,并解释了其核心指令`build_module.sh`的使用方法。同时,文章也提到了MTK平台的ko编译模板`build_ko.mk`,并指出了MTK项目中目前仍然使用make进行编译。 对于树内驱动,文章以高通平台为例,展示了如何使用bazel进行内核编译,并解释了相关指令的含义。同时,文章也提到了向内核编译时传递参数的方法。 接下来,文章讨论了ko如何打包到image中。文章指出,ko会被打包到`vendor_dlkm.img`中,并最终merge到`super.img`中。文章还介绍了如何通过`make vendor_dlkmimage`命令编译`vendor_dlkm.img`,并通过fastboot命令将其刷入设备。 最后,文章提醒读者注意,由于Android版本和kernel版本的变化,编译方式和产物路径可能会有所差异,因此本文仅供参考。

    [Linux进程调度] 第001篇 一篇文章全面了解Linux进程调度 2025-07-10 评论 林渡
      Linux内核 / Linux进程调度
      schedule
    [Linux进程调度] 第001篇 一篇文章全面了解Linux进程调度

    进程调度是操作系统确保进程高效运行的核心机制,决定哪个处于运行状态的进程能够投入运行以及运行时间。Linux 2.6内核引入了内核抢占特性,允许多个执行流交叉执行。进程和线程的生命周期包括创建、就绪、执行、阻塞和终止状态。多任务操作系统分为非抢占式和抢占式,后者如Unix系统允许调度程序强制挂起进程,分配执行机会给其他进程。Linux进程调度围绕`task_struct`数据结构,包含进程状态、优先级、时间片、调度策略等信息。调度器类负责管理不同类型的进程,如完全公平调度(CFS)、实时调度等。CFS使用红黑树组织进程队列,根据虚拟运行时间调度,保证公平性。实时调度类包括循环进程和先进先出进程,分别采用时间片轮转和先进先出机制。内核抢占允许在特定条件下中断当前进程,执行更高优先级的任务。SMP调度支持负载均衡、CPU亲和性设置、进程迁移等功能。

    任务调度器:从入门到放弃(二) 2025-07-10 评论 林渡
      Linux内核
      schedule
    任务调度器:从入门到放弃(二)

    这篇文章主要讨论了Linux内核中的线程调度策略,特别是针对多核异构架构(如Big.Little)的任务分配问题。作者分析了CFS(完全公平调度器)的工作原理,包括如何根据线程的优先级和虚拟运行时来分配CPU资源。文章指出,调度器是基于事件驱动的,而不是实时监控所有线程的状态,这导致了调度策略的实际效果与理论模型之间存在差异。 此外,文章还介绍了两种负载跟踪模型:PELT和WALT。PELT考虑了所有过去运行时间的负载,而WALT则将时间划分为窗口,通过统计线程在每个窗口的运行时间来计算负载。两种模型各有优缺点,PELT可能对非周期性负载不够敏感,而WALT可能会因为窗口划分而低估某些负载。 最后,作者提出了一个关于任务分配的问题:在Big.Little架构下,是否应该严格遵循“大任务跑大核,小任务跑小核”的原则。文章指出,这取决于任务的负载和CPU的能效曲线,并非所有情况下都适用。

    从泡泡马特看“消费” 2025-07-02 1 条 林渡
      世间风声
      消费主义
    从泡泡马特看“消费”

    本文主要探讨了泡泡玛特的成功案例,从创始人王宁的个人特质、泡泡玛特的市场策略、以及结构性机会三个方面进行了深入分析。王宁展现出了“狠、软、灵、巧”的复合特质,泡泡玛特通过“盲盒+IP”的玩法,将潮玩从小众文化变成了大众消费品,并成功抓住了中国市场的实验性和中国制造的丰饶两个结构性机会。文章还分析了情绪消费的心理机制,认为泡泡玛特的成功在于其将“低门槛+高不确定性”的心理机制设计成了一套令人欲罢不能的上瘾模型,并将这个“液态时代”的集体焦虑,升华为一种可供消费和展示的身份符号。

    [Android稳定性] 第052篇 [方法篇] HMI项目中如何使用QCAP解析minidump? 2025-06-25 3 条 林渡
      Android稳定性
      minidumpQCAP
    [Android稳定性] 第052篇 [方法篇] HMI项目中如何使用QCAP解析minidump?

    本文主要介绍在HMI项目中处理minidump.gz文件的方法,包括解压minidump.gz和解密minidump。文中提到两种解压方式:本地解压和在线解压,推荐在线解压。解压后,使用脚本将minidump拆分成各个bin文件。接着,生成ap_minidump.elf文件,这是解析APPS关键步骤。文章还提供了相关的脚本和命令,并展示了预期解析结果。该方法也适用于其他高通平台项目。

    1 … 6 7 8 … 19
  • 简述
    在万物之间穿行,也在自我之间渡过。
    liuqi20328@gmail.com
    生涯
  • 行业嵌入式
  • 职业Linux/Android内核工程师
  • 人生
  • 生活角色浪子、父母的娃、我夫人的老公
  • 社会角色公司职员、中华人民共和国公民
  • 类型
  • 星座 ♊双子座
  • 生肖 🐖猪
  • 血型O
  • 数据
  • 发表文章184篇
  • 发表评论74个
  • 星球加热65009度
  • 最近的心情能量
      愉快 沮丧
    • 😐 不喜不悲 ,当时发表在「[Linux Ramdump Parser] 解析的入口ramparse.py」
    • 😐 不喜不悲 ,当时发表在「[Android稳定性] 第057篇 [方法篇] 高通平台使能ftrace的方法」
    • 😐 不喜不悲 ,当时发表在「[Android稳定性] 第055篇 [原理篇] 从dump信息角度学调度schedule」
    • 😶 没有心情 ,当时发表在「[Android稳定性] 第054篇 [方法篇] 高通平台如何解析ADSP Crash?」
    • 😐 不喜不悲 ,当时发表在「ONEMORE开源软件插件开发指南」
  • 地图数据来源于高德地图
  • intj 建筑师
    intj 建筑师
    • 外向内向
    • 远见现实
    • 理性感受
    • 评判展望
    • 坚决起伏
  • 了解更多信息
今天是云栖梦泽·

2024-11-11

随机阅读「[Android稳定性] 第044篇 [问题篇] Unable to handle kernel write to read-only memory at virtual address」
阅读 在老化测试中,多台机器出现黑屏问题,主要现象为使用9-11版本时,27台机器中有25台因USB问题导致dump,且问题多出现在使用33瓦充电器时。通过LOG分析,问题出现在45次重启测试中。dmesg日志显示,问题源于内存异常踩踏,具体为操作了空指针地址的结构体成员。 根本原因分析表明,在dwc3_msm模块中,存在一个空指针赋值操作,导致数据写入异常地址。解决方案建议对涉及空指针的代码进行兼容性处理,并在gerrit上提交了相关代码修改。
壹行随十人
  • iSeekLife
  • 山海寻川
  • 星风之痕
  • 博客集市
  • 且听书吟
  • 山海云栈
  • 轻雅阁
  • 迷鹿屋
  • 谜叶象限
  • 风记星辰
云栖梦泽版权所有 · 架构于Halo及为您增强体验的THYUU/星度主题
苏ICP备2025185582号-1 苏ICP备2025185582号-1 苏公网安备32060102321049号 苏公网安备32060102321049号 BlogsClub BlogsClub 笔墨迹 笔墨迹