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

你好,
我是林渡

    • 4周前

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

    • 2026-06-03

      太痛了😭

    • 2026-05-15

      我爱白嫖!

    • 2026-04-20

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

    • 查看更多瞬间动态
  • [linux内存管理] 第009篇 reserved-memory详解 2024-11-29 评论 林渡
      Linux内存管理
      reserved-memorycma
    [linux内存管理] 第009篇 reserved-memory详解

    随着内核运行,物理内存碎片化问题会影响设备使用。为此,内核提供 reserved memory 机制,为特定设备预留内存,提高内存利用率。本文分析了 reserved memory 的配置和解析过程,包括 DTS 中的属性、静态/动态预留、no-map 和 reusable 等概念。内核解析 reserved memory 节点时,会根据属性值确定内存的 base 和 size,并进行相应的初始化操作。

    [linux内存管理] 第008篇 memblock子系统详解 2024-11-28 1 条 林渡
      Linux内存管理
      memblock
    [linux内存管理] 第008篇 memblock子系统详解

    深入解析Linux内核启动阶段memblock内存管理机制,详解其关键数据结构与内存划分逻辑,揭示memblock在初始化期如何精细管理物理内存、预留与动态区域的分配回收,并对内存添加、移除操作流程进行清晰梳理,为理解内核内存生命周期和后续内存子系统的无缝衔接打下坚实基础。

    [linux内存管理] 第007篇 fixmap映射详解 2024-11-27 评论 林渡
      Linux内存管理
      fixmapioremap
    [linux内存管理] 第007篇 fixmap映射详解

    文章主要介绍了Linux内核中fixmap的概念、作用和实现。fixmap是内核预留的一段虚拟内存空间,用于早期固定映射,包括fdt、console、外设动态映射和paging_init()等。文章详细分析了fixmap的分布、初始化过程以及与设备树(dtb)的关系。fixmap的初始化涉及pgd、pud、pte等页表的创建和映射,而设备树dtb的映射则通过fixmap_remap_fdt()函数实现。此外,文章还介绍了early_ioremap_init()和setup_machine_fdt()等函数的作用,以及FDT调试方法。

    linux内存管理] 第006篇 start_kernel全局简述 2024-11-27 评论 林渡
      Linux内存管理
      memblocksetup_archstart_kernel
    linux内存管理] 第006篇 start_kernel全局简述

    本文简要介绍了Linux内核启动过程中`start_kernel`函数的内存管理代码流程。文章首先概述了`start_kernel`的功能,然后详细解析了其中的`setup_arch`函数及其关键步骤,包括内存映射、设备树解析、页表建立等。接着,文章总结了`bootmem_init`函数的初始化流程,涉及物理内存的页帧号确定、sparse内存模型的初始化以及内存区域的标记等。整体而言,文章提供了Linux内存管理初始化过程的清晰概述。

    [linux内存管理] 第004章 内存架构和内存模型 2024-11-26 评论 林渡
      Linux内存管理
      UMANUMAFLATMEMSPARSEMEMDISCONTIGMEM
    [linux内存管理] 第004章 内存架构和内存模型

    文档详细介绍了计算机系统中以内存为研究对象的两种架构:NUMA和UMA,以及对应的内存模型:FLATMEM、DISCONTIGMEM、SPARSEMEM。并对内存管理发展过程中,与UMA和NUMA对应的三种内存模型进行了简述。

    [linux内存管理] 第003篇 内存分布 2024-11-26 评论 林渡
      Linux内存管理
      虚拟地址内存分布ELF
    [linux内存管理] 第003篇 内存分布

    本文详细阐述了进程在编译时和运行时,其内存的分布情况,并简单介绍了在arm64 系统中虚拟地址的分布情况。文章首先介绍了内存的概念和存储方式,随后解释了虚拟内存的由来和作用,最后从进程和Linux内核的角度分别探讨了内存的管理机制。

    [linux内存管理] 第005篇 启动代码分析之汇编部分 2024-11-26 评论 林渡
      Linux内存管理
      vmlinux内存映射
    [linux内存管理] 第005篇 启动代码分析之汇编部分

    本文详细分析了Linux内核启动阶段的引导程序、内核起始地址、head.S、内存映射和__cpu_setup函数。引导程序负责初始化物理内存、设置设备树、解压缩内核映像并将其加载到内核运行地址,然后跳转到内核入口地址。内核起始地址在arch/arm64/kernel/vmlinux.lds.S文件中定义,并使用readelf工具读取vmlinux文件进行验证。head.S文件包含内核启动汇编代码,主要完成切换到EL1模式、创建恒等映射页表、为打开MMU做处理器相关初始化、启动MMU并跳转到start_kernel()函数等任务。内存映射部分分析了恒等映射和粗粒度内核镜像映射的原理和实现,以及map_memory宏、compute_indices宏和populate_entries宏的作用。__cpu_setup函数负责为打开MMU做一些处理器相关初始化,包括清除本地TLB、启用FP/ASIMD、设置TCR寄存器、设置SCTLR_EL1寄存器等。__primary_switch函数启动MMU,并跳转到start_kernel()函数进入内核的C语言部分。

    如何下载以及编译ACK? 2024-11-25 1 条 林渡
      Linux内核 / 技术分享
      ACKGKI
    如何下载以及编译ACK?

    本文介绍了如何下载Android通用内核代码(ACK),并对其进行编译,包括使用Bazel和旧版build.sh脚本的方法。文章还详细说明了如何修改KMI接口,包括修改特定文件、更新ABI以及向Google提交代码更改的步骤。整个流程涉及命令行操作、文件编辑和版本控制,旨在帮助开发者定制和更新Android内核。

    [linux内存管理] 第001篇 内存与内存管理机制 2024-11-25 评论 林渡
      Linux内存管理
      内存管理
    [linux内存管理] 第001篇 内存与内存管理机制

    内存管理是操作系统核心功能之一,经历了从纸带存储到现代内存管理机制的演变。内存,作为数据货架,以字节为单位存储数据,并通过内存地址进行编号。内存类型包括RAM、ROM、闪存和虚拟内存等。RAM分为SRAM和DRAM,SRAM速度快但成本高,DRAM容量大且成本低。内存分段机制将程序内存空间划分为多个逻辑分段,解决了地址空间保护问题,但内存使用效率低。内存分页机制将内存划分为固定大小的页面,提高了内存使用效率。MMU负责将虚拟页面映射到物理页面,实现内存管理机制。

    [linux内存管理] 第002篇 页表查询过程简述 2024-11-25 评论 林渡
      Linux内存管理
      内存管理
    [linux内存管理] 第002篇 页表查询过程简述

    对内存管理单元(MMU)、页表(PT)、页表项(PTE)、转换后备缓冲器(TLB)等概念的总结,并对ARMv8处理器中的分页管理原理进行了阐述。同时,我还对Linux内核中关于页表操作的API进行了简要分析,包括PGD、PUD、PMD的划分,以及页表设置相关的宏定义。

    1 … 15 16 17 … 19
  • 简述
    在万物之间穿行,也在自我之间渡过。
    liuqi20328@gmail.com
    生涯
  • 行业嵌入式
  • 职业Linux/Android内核工程师
  • 人生
  • 生活角色浪子、父母的娃、我夫人的老公
  • 社会角色公司职员、中华人民共和国公民
  • 类型
  • 星座 ♊双子座
  • 生肖 🐖猪
  • 血型O
  • 数据
  • 发表文章184篇
  • 发表评论74个
  • 星球加热64986度
  • 最近的心情能量
      愉快 沮丧
    • 😐 不喜不悲 ,当时发表在「[linux内存管理] 第009篇 reserved-memory详解」
    • 😐 不喜不悲 ,当时发表在「[linux内存管理] 第008篇 memblock子系统详解」
    • 😐 不喜不悲 ,当时发表在「[linux内存管理] 第007篇 fixmap映射详解」
    • 🙂 有点愉快 ,当时发表在「linux内存管理] 第006篇 start_kernel全局简述」
    • 😐 不喜不悲 ,当时发表在「[linux内存管理] 第004章 内存架构和内存模型」
  • 地图数据来源于高德地图
  • intj 建筑师
    intj 建筑师
    • 外向内向
    • 远见现实
    • 理性感受
    • 评判展望
    • 坚决起伏
  • 了解更多信息
今天是云栖梦泽·

2024-11-11

随机阅读「向 Linux 内核社区提交 patch 实操要点」
阅读 详尽介绍了通过git send-email方式向Linux内核社区提交补丁的完整流程。内容涵盖git和git send-email的安装配置,SMTP邮件发送环境的设置,如何规范填写commit信息、生成和检查patch格式,以及标准化邮件回复方法。文章指出:基于next分支开发、严格遵循社区指南、养成bottom-posting习惯、合理使用收件人和抄送自动化配置,都是与上游高效沟通的关键。新手可从修复warning类小问题入手,逐步熟悉内核社区流程与规范。文末列举了寻找补丁切入点和提升英文交流技能的建议,强调实践积累对个人成长与社区认可的重要性。
壹行随十人
  • 星风之痕
  • 山海云栈
  • 轻雅阁
  • 迷鹿屋
  • 博客集市
  • 山海寻川
  • 风记星辰
  • 且听书吟
  • iSeekLife
  • 谜叶象限
云栖梦泽版权所有 · 架构于Halo及为您增强体验的THYUU/星度主题
苏ICP备2025185582号-1 苏ICP备2025185582号-1 苏公网安备32060102321049号 苏公网安备32060102321049号 BlogsClub BlogsClub 笔墨迹 笔墨迹