云栖梦泽
林渡
Blog
  • 首页
  • 我的视界
    • 人世间
      • 世间风声
      • 人间烟火
    • 壹句话
    • 云外光影
      • 动物与植物
      • 美食
      • 生活气息
      • 人物
    • 文章归档
      • 技术分享
      • 视频类型
      • 音频类型
      • 图文类型
      • 图片类型
  • 「内核宇宙」
    • 灵感工坊
      • 灵感风暴
      • 与AI共生
      • 开源项目推荐
    • 底层漫游
      • Android稳定性
      • Linux内存管理
      • Linux进程调度
      • Linux内核
      • ARM体系架构
      • LRDP2
      • 技术分享
  • 璀璨星河
    • 公告
    • 轻言
    • 应用舱
    • 众星
    • 豆瓣
    • 足迹
    • 走心评论
    • 林渡的网盘
  • 留言板
  • 关于
    • 捐赠者名单
    • 关于我
    • 一些声明
      • 站点声明
      • 隐私政策
    • 网站看板
  • 欢迎订阅!

欢迎来到云栖梦泽,为您导读全站动态
  • 路人甲不掉线 7小时前前留言 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
74861° 194 15 275
当您评论及浏览文章且浏览器未禁止COOKIE时,会为您显示最近10条回复及前20篇文章的浏览记录。
在万物之间穿行,也在自我之间渡过。

你好,
我是林渡

    • 4周前

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

    • 2026-06-03

      太痛了😭

    • 2026-05-15

      我爱白嫖!

    • 2026-04-20

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

    • 查看更多瞬间动态
  • [Linux进程调度] 第002篇 Linux下0号进程的前世(init_task进程)今生(idle进程) 2025-09-18 评论 林渡
      Linux进程调度
      Linux内核进程调度init进程idle进程内核线程
    [Linux进程调度] 第002篇 Linux下0号进程的前世(init_task进程)今生(idle进程)

    Linux下有三个特殊进程:idle(PID=0)、init(PID=1)和kthreadd(PID=2)。idle是系统首个进程,由静态定义的init_task演变而来,是唯一未通过fork/kernel_thread产生的进程,运行在内核态,每个处理器单元独立一个,负责系统空闲时执行节能循环。init由idle创建,完成初始化后进入用户空间,成为所有用户进程祖先,最终转为守护进程。kthreadd亦由idle创建,始终运行于内核空间,负责管理和调度所有内核线程,是其父进程。idle通过rest_init函数创建init和kthreadd后演变为idle,不参与调度,仅在运行队列为空时执行cpu_idle_loop。

    【深入内核】理解Linux Static Keys和jump label机制 2025-09-11 5 条 林渡
      Linux内核
      Linux内核性能优化Static Keys动态分支内核开发
    【深入内核】理解Linux Static Keys和jump label机制

    在Linux内核高频路径中,likely/unlikely宏帮助提升分支预测准确率,但随着判断增多,分支预测失败和cache压力导致性能瓶颈。为彻底消除分支带来的损耗,内核引入static keys和jump label机制,通过运行时动态替换代码段,实现零开销切换分支。

    高效工作的秘诀:时间管理 2025-09-05 评论 林渡
      人间烟火
      时间管理高效工作任务管理生产力工具
    高效工作的秘诀:时间管理

    在快节奏生活中,高效时间管理是提升工作效率和生活质量的关键。通过明确目标、合理排序优先级、专注当前任务并灵活应对变化,可显著减少焦虑。结合Google Calendar、Todoist等工具和番茄工作法,制定每日计划、分解任务、设定时间边界,有效避免过度安排与拖延。科学的时间管理不仅助力高效工作,更是一种生活态度!

    琴棋书画诗酒花与柴米油盐酱醋茶的人生辩证 2025-09-04 评论 林渡
      人间烟火
      理想与现实生活美学人生态度烟火气精神追求
    琴棋书画诗酒花与柴米油盐酱醋茶的人生辩证

    “琴棋书画诗酒花”承载了对诗意生活的向往,而“柴米油盐酱醋茶”则是真实生活的基石。文章探讨了理想与现实的平衡,强调在琐碎中发现美好,在平凡中融入浪漫。通过茶的沉静和酒的浓烈跨越生活两端,真正的生活韵味蕴藏于酸甜苦辣交织的日常。以心存情调面对现实,既能享受水墨画般的悠然,也能静观人间烟火的丰盈。

    琴棋书画诗酒花与柴米油盐酱醋茶的人生辩证
    查看完整文章 评论

    人在年轻的时候,
    莫不是希望这一生就是琴棋书画诗酒花。
    可终究,还是逃不过柴米油盐酱醋茶。
    ——网易云音乐热评墙《茶酒伴》

    琴棋书画诗酒花的理想

    年轻的时候,总觉得人生应该是充满诗意的。琴棋书画诗酒花,不仅是一种生活方式,更像是一种精神向往。抚琴可安魂,弈棋能静心,书画寄情怀,诗酒醉流年,花间一壶酒,人生不胜欢。这样的日子,不染半点世俗纷扰,像一幅水墨画般柔和又悠长。

    这种状态之所以迷人,是因为它承载了人对自由和美好的全部幻想。我们渴望拥有创造的闲暇与精神的丰盈,仿佛只要躲进书房,推开窗便能看见人世间最美的风景。

    柴米油盐酱醋茶的现实

    然而,随着年龄的增长,我们慢慢发现,理想固然美好,但现实却总是在不经意间敲醒你。柴米油盐酱醋茶,才是日复一日绕不开的日常。柴火代表生活的温度,米与油是餐桌的基础,盐与酱是味觉的平衡,醋与茶则在酸与苦中调和人生的滋味。

    它们看似普通,却紧紧牵动着一家人的生活节奏。在柴米油盐的烟火气中,我们学会了为家人早起熬粥,也练就了在市场里精打细算的本事。那些曾经觉得索然无味的小事,最终成为支撑生活的支柱。

    理想与现实的平衡

    有趣的是,“琴棋书画诗酒花”与“柴米油盐酱醋茶”并不是对立的两极,而更像是人生的两个维度。理想提供方向,现实给予力量。缺一不可。

    • 在琐碎中寻找诗意:下班后泡一壶好茶,也许就是柴米油盐里的琴棋书画。

    • 在美好中接纳平凡:旅行归来,依旧能从温热的家常菜中感到幸福。

    • 让精神与胃口都得到满足:一首诗配一杯咖啡,一顿饭后读几页书。

    学会让理想与现实交织,才能既不失生活的质感,也不失心灵的宽度。

    茶酒伴:在酸甜苦辣间对话

    网易云音乐热评墙上的那句——“人在年轻的时候,莫不是希望这一生就是琴棋书画诗酒花,可终究,还是逃不过柴米油盐酱醋茶”,恰如其分地描绘出成长的本质。茶酒伴,一字茶平和沉静,一字酒热烈奔放,像极了人生两端的呼应。

    茶,提醒我们在忙碌中保持清醒;酒,则教会我们在疲惫时拥抱欢愉。人生的味道,正是在这冷暖之间变得厚重且绵长。

    如何活成自己的模样

    真正的生活高手,不是拒绝现实,而是能在柴米油盐中弹起琴,在酱醋茶香里写下诗。可以忙完工作,转身去画廊看看油画;也可以在节日的厨房里和家人齐心协力做一桌饭。

    想要兼得琴棋书画诗酒花与柴米油盐酱醋茶,不妨试试以下方法:

    • 在日程中为自己保留半小时的精神时光,无论是读书、写字还是发呆。

    • 将家务当作艺术来完成,摆盘、调味也能像作画一样精致。

    • 用节日或仪式感,为平凡的生活加点浪漫佐料。

    结语

    有人说,年轻是诗,年长是散文。但当琴棋书画诗酒花遇上柴米油盐酱醋茶,人生便能写成一部长篇——既有高潮的诗句,也有平淡的叙事段落。理想与现实彼此依托,我们终会发现,柴米油盐里也暗藏着琴棋书画的风雅。

    茶与酒作伴,花与柴同放,这才是最真实、最丰盈的人间烟火。

    透视人生的意义:活出属于自己的答案 2025-09-04 1 条 林渡
      人间烟火
      人生意义自我认知个人成长价值观反思
    透视人生的意义:活出属于自己的答案

    每个人的人生意义源自独特的生命体验,无法以单一答案概括。从自我认知入手,明确内心需求,再通过行动和创造赋予生命价值。在接受无常中成长,于人际关系中找到归属感,并通过持续反思调整方向。人生的意义并非固定,而是在探索与实践中逐渐沉淀,关键是倾听内心、珍视当下,让生命绽放独特光芒。

    [Android稳定性] 第058篇 [方法篇] 高通平台使用QFIL回读分区 2025-08-27 8 条 林渡
      Android稳定性
      readbackQFIL
    [Android稳定性] 第058篇 [方法篇] 高通平台使用QFIL回读分区

    本文介绍了如何将机器进入9008模式以及通过configuration选择对应的Device type类型。在edl模式下刷机,需要选择机器对应版本并拆包镜像文件。同时,文章强调了回读分区时,如果机器已熔丝签名,必须使用未签名的版本中的prog_firehose_ddr.elf文件。最后,详细展示了如何使用tools进行分区回读操作。

    [Android稳定性] 第058篇 [方法篇] 高通平台使用QFIL回读分区
    查看完整文章 评论

    机器进入9008模式

    1. 工厂版本使用adb reboot edl命令

    2. 开发版本、稳定版本进入fastboot模式,使用fastboot oem edl命令

    通过configuration选择对应的Device type类型

    2025/08/halo_7fm4lbh.png

    选择下载模式

    按照edl模式刷机选择机器对应版本,工厂版本需要将对应GN、GL、IN对应镜像拷贝到版本里面,使用命令进行拆包:python checksparse.py -i rawprogram0.xml

    2025/08/halo_m49fwv3.png

    注意:如果需要回读分区的机器已经熔丝签名了,则必须使用一个没有熔丝签名的版本中的 prog_firehose_ddr.elf

    选择tools进行回读

    1. 选择Partition Manager

    1. 选择OK

    回读分区

    1. 选择对应的分区,右键选择Manage Partiotion Data

    1. 选择Read Data

    1. 分区对应回读保存目录

    【深入内核】ARM64下的内核栈 2025-08-19 评论 林渡
      Linux内核
      arm64内核栈寄存器
    【深入内核】ARM64下的内核栈

    本文深入探讨了Linux内核栈的运作机制。内核栈是进程生命周期中不可或缺的部分,用于保存用户态和内核态之间的上下文信息。文章解释了内核栈如何通过`task_struct`结构体与进程关联,以及`pt_regs`和`cpu_context`在任务切换和异常处理中的关键作用。此外,文章还详细说明了ARM64架构中`sp_el0`寄存器如何直接存储当前任务的`task_struct`指针,从而优化了栈指针的使用。文章最后讨论了内核栈的配置和栈回溯技术,为内核稳定性问题的分析提供了宝贵的见解。

    【深入内核】内核printk原理介绍 2025-08-11 评论 林渡
      Linux内核 / 技术分享
      dmesgprintk_ringbuffer
    【深入内核】内核printk原理介绍

    printk 是 Linux 内核用于输出调试信息的接口,通过 log buffer 存储日志信息,并在系统出现问题后记录错误信息。文章详细介绍了 printk 内核框架,包括 printk 接口的作用、log buffer 的设计和初始化、log buffer 的数据结构,以及 printk 函数的流程。文章还分析了 printk ring buffer 的写入过程,包括 prb_reserve、printk_sprint 和 prb_commit 等函数的核心作用。最后,文章通过 trace32 读取 printk_ringbuffer 在内存中的数据,并解释了 printk_ringbuffer 在内存中的增长方向,使读者对环形缓冲区的整体印象更加清晰。

    [LRDP2] 解析插件之dmesg 2025-08-08 评论 林渡
      LRDP2
      LRDP2dmesgprintk_ringbuffer
    [LRDP2] 解析插件之dmesg

    Linux ramdump parser工具通过解析离线ramdump文件中的内核日志来诊断系统问题。该工具的核心功能是通过DmesgLib类实现的,该类负责读取和分析内核日志。DmesgLib类首先通过读取内核内存中的printk_ringbuffer结构来定位日志数据,然后初始化环形缓冲区参数,包括描述符数量、数据区大小等。接下来,DmesgLib类遍历描述符,提取日志文本,并解析元数据,如时间戳和调用者ID。最后,DmesgLib类将提取到的日志数据格式化输出,可以是写入文件或返回结构化数据。解析dmesg的核心在于理解printk_ringbuffer结构,该结构是内核日志的存储和管理机制。

    [Linux Ramdump Parser] 解析的核心Ramdump实例类的初始化 2025-08-07 评论 林渡
      LRDP2
      LRDP2
    [Linux Ramdump Parser] 解析的核心Ramdump实例类的初始化

    这篇文章主要介绍了Linux ramdump parser工具中的核心数据结构Ramdump类,以及其常用接口和初始化流程。Ramdump类负责解析和分析Linux内核的崩溃转储文件,并提供了一系列函数接口,以便开发人员可以基于它开发自己的插件。文章详细讲解了以下几个方面的内容: 1. **常用接口**:介绍了Ramdump类中一些常用的接口函数,例如`get_kernel_version`、`address_of`、`field_offset`、`container_of`、`read_cstring`、`read_structure_field`、`read_structure_cstring`和`read_elf_memory`等。这些接口函数分别用于获取内核版本号、获取符号地址、获取结构体成员的偏移量、根据指针获取结构体实例、从指定地址读取字符串、从结构体中读取成员变量和从ELF文件中提取字符串信息等。 2. **Ramdump类的初始化**:详细描述了Ramdump类在初始化过程中进行的操作,包括解析Kconfig配置文件、解析内核符号表、检测vmlinux和dump是否匹配以及加载模块符号表等。这些操作为后续的插件开发提供了必要的信息和基础。 3. **模块符号表加载**:介绍了如何加载模块符号表,包括获取模块符号路径、设置模块符号、解析模块符号和输出模块符号表等。这些操作使得开发人员可以方便地访问和分析模块中的函数和变量。 4. **插件开发**:最后,文章提到了如何使用Ramdump类开发插件,并分析了插件解析dump的逻辑。开发人员可以根据自己的需求,利用Ramdump类提供的接口函数,开发出各种功能强大的插件,以深入分析和调试Linux内核。 总而言之,这篇文章为开发Linux ramdump parser插件提供了详细的指导和参考,对于想要深入了解Linux内核和开发相关工具的开发人员来说,具有重要的参考价值。

    1 … 5 6 7 … 19
  • 简述
    在万物之间穿行,也在自我之间渡过。
    liuqi20328@gmail.com
    生涯
  • 行业嵌入式
  • 职业Linux/Android内核工程师
  • 人生
  • 生活角色浪子、父母的娃、我夫人的老公
  • 社会角色公司职员、中华人民共和国公民
  • 类型
  • 星座 ♊双子座
  • 生肖 🐖猪
  • 血型O
  • 数据
  • 发表文章184篇
  • 发表评论74个
  • 星球加热65003度
  • 最近的心情能量
      愉快 沮丧
    • 😐 不喜不悲 ,当时发表在「[Linux进程调度] 第002篇 Linux下0号进程的前世(init_task进程)今生(idle进程)」
    • 😐 不喜不悲 ,当时发表在「【深入内核】理解Linux Static Keys和jump label机制」
    • 😐 不喜不悲 ,当时发表在「高效工作的秘诀:时间管理」
    • 😐 不喜不悲 ,当时发表在「琴棋书画诗酒花与柴米油盐酱醋茶的人生辩证」
    • 😐 不喜不悲 ,当时发表在「透视人生的意义:活出属于自己的答案」
  • 地图数据来源于高德地图
  • intj 建筑师
    intj 建筑师
    • 外向内向
    • 远见现实
    • 理性感受
    • 评判展望
    • 坚决起伏
  • 了解更多信息
今天是云栖梦泽·

2024-11-11

随机阅读「[Android稳定性] 第024篇 [方法篇] RCU Stall问题如何进行分析?」
阅读 RCU(读-复制-更新)是一种针对多核、多线程环境的内存同步机制,旨在解决读写并发问题,特别适用于读多写少的场景。RCU Stall是指RCU子系统检测到的问题,如宽限期未结束、回调堆积或调度延迟等,可能导致系统性能下降。分析RCU Stall的方法包括检查内核日志、任务栈回溯、长时间运行的任务、锁和资源争用等。实例中,通过dmesg日志分析和打开panic_on_rcu_stall来复现问题,并通过串口输出进程信息进行深入诊断。
壹行随十人
  • iSeekLife
  • 山海寻川
  • 谜叶象限
  • 世上云川
  • 菲兹克斯喵
  • 博客集市
  • 秘柯絮语
  • 南方嘉木
  • 且听书吟
  • 问心斋
云栖梦泽版权所有 · 架构于Halo及为您增强体验的THYUU/星度主题
苏ICP备2025185582号-1 苏ICP备2025185582号-1 苏公网安备32060102321049号 苏公网安备32060102321049号 BlogsClub BlogsClub 笔墨迹 笔墨迹