云栖梦泽
林渡
Blog
  • 首页
  • 我的视界
    • 人世间
      • 世间风声
      • 人间烟火
    • 壹句话
    • 云外光影
      • 动物与植物
      • 美食
      • 生活气息
      • 人物
    • 文章归档
      • 技术分享
      • 视频类型
      • 音频类型
      • 图文类型
      • 图片类型
    • 知识库
  • 「知识宇宙」
    • 灵感工坊
      • 灵感风暴
      • 与AI共生
      • 开源项目推荐
    • 底层漫游
      • Android稳定性
      • Linux内存管理
      • Linux内存管理
      • Linux进程调度
      • Linux内核
      • ARM体系架构
      • LRDP2
      • 技术分享
  • 璀璨星河
    • 公告
    • 知识库
    • 轻言
    • 众星
    • 豆瓣
    • 足迹
    • 走心评论
    • 林渡的网盘
  • 留言板
  • 关于
    • 捐赠者名单
    • 关于我
    • 一些声明
      • 站点声明
      • 隐私政策
    • 网站看板
  • 欢迎订阅!

欢迎来到云栖梦泽,为您导读全站动态
  • Jing Cheng 2日前前留言 😀
  • 林渡 4日前前留言 抱歉,隔了这么久才回复,其实从我自己实际的使用体验来看,两者的差别不是特别大。启用向量嵌入反而在索引的时候更耗时间,所以我一般都不启用向量嵌入!
  • 林渡 1周前前留言

    SyzForge 是一个开源系统,旨在将 Linux 内核 Bug 排查从分散的 syzbot 报告转化为结构化、可重复的工程流水线,通过三个 MCP 服务器(SyzLens、KernelLab、KernelMail)分别处理证据采集、内核复现和社区协作,让开发者更高效地完成 Bug 调查与修复。
    --🤖 AI 自动回复

  • 林渡 1周前前留言 @AI助手 一句话总结这个项目
  • 林渡 3周前前留言 随便写写的啊 - 。-
  • 12.. 3周前前留言 文章质量这么好,应该有编辑社找博主出书吧😁
  • 12.. 3周前前留言 我的看法跟博主一致, AI很强大。 在未来我认为AI会作为新一轮科技革命必然给社会带来巨大变革,同时会加大社会分化,砸了很多人的饭碗。
  • 12.. 3周前前留言 强👍
  • llx 3周前前留言 写得很详细,感谢分享
  • junlong 2026-08-20前留言 感谢
2026 年 9 月
日一二三四五六
12345
6789101112
13141516171819
20212223242526
27282930
« 8 月  
最近文章
  • 2026-09-08 [linux内存管理] 第 059 篇 /proc/slabinfo 详解
  • 2026-08-28 [linux内存管理] 第 058 篇 从虚拟内存到 Swap —— 交换子系统整体架构
  • 2026-08-25 SyzForge:把 syzbot 报告锻造成可复现的内核 Bug 调查流水线
  • 2026-08-24 [linux内存管理] 第 057 篇 OOM Kill 与 panic_on_oom —— 杀人的艺术与崩溃的抉择
  • 2026-08-24 [linux内存管理] 第 056 篇 OOM Reaper:异步解除映射的幕后英雄
  • 2026-08-24 [linux内存管理] 第 055 篇 OOM Killer 死亡名单算法
  • 2026-08-19 [linux内存管理] 第 054 篇 OOM触发 + Memory Reserve + out_of_memory 决策
  • 2026-08-14 [linux内存管理] 第 053 篇 OOM 整体流程:从内存耗尽到系统崩溃的完整链路
  • 2026-08-12 LoreMate:给 lore.kernel.org 装上 AI 阅读助手
  • 2026-08-12 AOSP 整机源码 Harness 工程探索
  • 2026-08-06 [linux内存管理] 第 052 篇 shrink_page_list:内存回收的“最后一道关口”
  • 2026-08-04 Monsoon Power Monitor MCP 工具介绍
  • 2026-07-28 [linux内存管理] 第 051 篇 内存回收核心 shrink_node
  • 2026-07-22 [linux内存管理] 第 050 篇 深度分析 direct reclaim 机制
  • 2026-07-20 [linux内存管理] 第 049 篇 深度分析 Linux kswapd 后台回收机制
  • 2026-07-16 [linux内存管理] 第 048 篇 从 alloc_pages() 开始:快慢路径下的内存回收策略
  • 2026-07-15 [linux内存管理] 第 047 篇 Linux 内存回收(Memory Reclaim)总体架构
  • 2026-07-11 [Android稳定性] 第065篇 SELinux 设置为 permissive 模式后出现的 kernel panic
  • 2026-07-03 再看《孩子王》观后感:当AI成为每个人的“字典”之后
  • 2026-06-01 [Android稳定性] 第064篇 blk_mq_tags Use-After-Free 导致系统级 I/O 死锁
热门文章
  • 2024-11-22 高通android启动代码流程分析(SBL->ABL)
  • 2026-01-29 📢 致读者的一封信:关于运营、初心与一份邀请
  • 2026-05-06 [开源项目] GitNexus + Claude Code 配置与使用指南
  • 2024-12-15 [Android稳定性] 第000篇 Android稳定性系列开篇
  • 2025-08-27 [Android稳定性] 第058篇 [方法篇] 高通平台使用QFIL回读分区
  • 2025-07-21 高通以及MTK平台内核单独编译ko的原理
  • 2026-04-01 AI时代笔记工作流:构建下一代知识管理引擎
  • 2025-09-04 琴棋书画诗酒花与柴米油盐酱醋茶的人生辩证
  • 2025-07-10 [Linux进程调度] 第001篇 一篇文章全面了解Linux进程调度
  • 2025-06-16 [Android稳定性] 第049篇 [问题篇] 软中断霸占CPU导致watchdog无法及时喂狗
  • 2026-01-08 【深入内核】中断真的不能睡眠吗?
  • 2024-12-18 [Android稳定性] 第004篇 [原理篇] minidump的原理介绍
  • 2025-06-25 [Android稳定性] 第052篇 [方法篇] HMI项目中如何使用QCAP解析minidump?
  • 2025-11-03 [linux内存管理] 第000篇 Linux内存管理系列开篇
  • 2025-01-14 [Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程
  • 2025-06-18 [linux内存管理] 第027篇 Linux ARM64 虚拟地址布局
  • 2024-12-15 [Android稳定性] 第001篇 [方法篇] 高通Android平台稳定性分析介绍
  • 2025-06-09 【深入内核】linux ftrace详解
  • 2026-03-24 认知加速度:AI时代最残酷的鸿沟,正在此刻拉开
  • 2024-11-29 [linux内存管理] 第009篇 reserved-memory详解
热门标签
  • 内核线程 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
101748° 210 15 298
当您评论及浏览文章且浏览器未禁止COOKIE时,会为您显示最近10条回复及前20篇文章的浏览记录。
在万物之间穿行,也在自我之间渡过。

你好,
我是林渡

    • 1周前

      之前公司组建了SSE的一个小team,主要就是各个模块的SE,专注于模块技术问题攻关,风险问题识别,需求下发等,我觉得还是蛮好的,最起码每个模块需要这样的专业人员来保证软件方案的准确性! 结果呢,一个模块来需求需要适配了(提供了参考change),leader呢不内部协调同模块的工程师去加急适配,现

    • 1周前

      模型能力越来越强,以前想做却没能力做的一些想法也慢慢自己实现了。但是我现在却发现这个时代最难的却是idea!我已经好久没有好的idea了,现在面对着codex的剩余额度,却不知道该干什么!

    • 2026-08-07

      蟹黄汤包和河豚还得是靖江的好吃! 南通的海鲜也是鲜到眉毛了!

    • 2026-07-20

      看了好久,还是狠心下手了小牛mt sport 2026款,以后可以下班送外卖了 - 。 -

    • 查看更多瞬间动态
  • [Android稳定性] 第023篇 [问题篇] printk非空的非法指针参数导致的spinlock死锁引起Non Secure WDT 2025-02-11 评论 林渡
      Android稳定性
      crashspinlockwatchdogslab
    [Android稳定性] 第023篇 [问题篇] printk非空的非法指针参数导致的spinlock死锁引起Non Secure WDT

    本文分析了Linux内核中因`Non secure wdt`导致的死机问题。通过分析ramdump,发现所有CPU都在等待一个spin lock,且锁的持有者是`kworker/u17:12`。进一步分析发现,该进程在获取锁后出现了data abort,并在异常处理流程中再次尝试获取锁,导致死锁。根本原因是`nvt_update_firmware`函数中使用了未初始化的指针作为`printk`的参数,导致打印异常。解决方案是将`kmalloc`改为`kzalloc`,以确保内存被清零。实验验证了当`printk`的参数为非法指针时,会导致死锁。

    [Android稳定性] 第022篇 [原理篇] kernel panic的死亡信息的由来 2025-01-20 评论 林渡
      Android稳定性
      panic
    [Android稳定性] 第022篇 [原理篇] kernel panic的死亡信息的由来

    本文主要介绍了 Linux 内核稳定性问题中的“kernel panic”现象,并深入分析了其产生的原因、异常处理流程以及如何处理。文章以一个具体的异常案例为切入点,详细解释了异常信息的解读、异常向量表的查找、异常处理函数的执行过程,并最终揭示了 panic 报错信息的来源。文章还介绍了 oops_enter、console_verbose、__die、dump_backtrace 等关键函数的功能,以及 panic_on_oops 内核参数对 panic 流程的影响。通过本文的学习,读者可以更好地理解内核 panic 的产生机制,并掌握相应的调试方法。

    [Android稳定性] 第021篇 [问题篇] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted 2025-01-18 评论 林渡
      Android稳定性
      进程栈bitflip
    [Android稳定性] 第021篇 [问题篇] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted

    深入剖析了一起由内核函数mi_binder_wait4_hook触发的“Kernel stack is corrupted”内核崩溃问题。文章通过详细的dmesg日志分析、ARM汇编栈帧解析和Trace32进程栈回溯,复现了故障发生的关键环节,定位到x29栈帧指针因bitflip问题发生异常,导致栈保护机制触发__stack_chk_fail并panic。内容不仅梳理了栈帧的典型入栈流程及关键寄存器的存储关系,还精确描述了如何通过异常PC偏移与寄存器快照还原出崩溃前后的调用链路,展示了问题定位的扎实技术细节。最后,通过二进制对比,明确指出bitflip对函数栈帧完整性的破坏方式,为类似内核异常

    [Android稳定性] 第020篇 [方法篇]  crash实战:手把手教你使用crash分析内核dump 2025-01-18 评论 林渡
      Android稳定性
      crashtrace32栈帧
    [Android稳定性] 第020篇 [方法篇] crash实战:手把手教你使用crash分析内核dump

    本文介绍了使用crash工具分析Linux内核崩溃(Kdump)的方法,重点针对手机领域。crash工具在处理大型dump文件时比trace32更加高效,因为它不会占用大量内存资源。文章还探讨了crash工具在恢复任务调用栈、查看局部变量值等方面的实用技巧,以及如何查找访问特定变量的线程。通过crash工具,开发者可以更有效地定位和解决内核崩溃问题,提高问题定位的效率。

    [Android稳定性] 第018篇 [问题篇] 串口日志未关闭导致的watchdog 2025-01-14 评论 林渡
      Android稳定性
      watchdog
    [Android稳定性] 第018篇 [问题篇] 串口日志未关闭导致的watchdog

    系统出现死机,日志显示QCOM Apps Watchdog超时触发。分析发现,所有CPU核心均暂停等待`rcu_momentary_dyntick_idle`,CPU0正在执行打印操作,导致无法及时pet watchdog,引发异常。解决方案建议关闭kernel的串口日志以避免类似问题。

    [Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程 2025-01-14 评论 林渡
      Android稳定性
      watchdog
    [Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程

    高通watchdog分析七步法:首先检查执行状态,确认进程位置和状态;若未就绪,探究timer问题;若就绪未调度,分析中断及调度状况;最后检查进程是否禁止抢占,确保系统稳定运行。

    [Android稳定性] 第016篇 [原理篇] 高通平台watchdog机制原理解析 2025-01-14 评论 林渡
      Android稳定性
      watchdog
    [Android稳定性] 第016篇 [原理篇] 高通平台watchdog机制原理解析

    Watchdog是一种用于嵌入式系统的机制,当系统出现严重故障时,可以在无人为介入的情况下自动重新启动系统。它分为硬件和软件两种类型,硬件watchdog比软件watchdog有更好的可靠性。在高通平台Android系统中,watchdog的实现有所不同,本文主要介绍了高通平台Android系统中watchdog的种类、实现、初始化入口、通知链和主线程。

    [linux内存管理] 第019篇 buddy分配器基础知识以及分配器api接口 2025-01-07 评论 林渡
      Linux内存管理
      buddy
    [linux内存管理] 第019篇 buddy分配器基础知识以及分配器api接口

    本文主要介绍了Linux内存管理中的伙伴系统,它是Linux内核中基本的内存分配系统,涉及页面分配、页面回收、页面规整等机制。文章详细剖析了快速分配之前的一些基础知识,包括分配掩码、分配标志、分配的API接口以及Linux对于伙伴系统的设计思路。伙伴系统将空闲页面分成11个块链表,每个块链表管理着2的幂次方个连续页面,内存管理框图展示了其组织结构。同时,文章还解释了内存块是如何连接的,以及伙伴系统的合并机制。

    [linux内存管理] 第018篇 buddy系统的简介以及初始化 2025-01-06 评论 林渡
      Linux内存管理
      buddy
    [linux内存管理] 第018篇 buddy系统的简介以及初始化

    本文深入剖析了Linux内存管理中伙伴系统的初始化流程。伙伴系统是Linux内核用于管理和分配物理内存页面的核心算法,它将内存分成大小为2的幂次方的内存块,并通过“伙伴”机制进行分配和回收。文章详细介绍了伙伴系统的数据结构,包括`struct free_area`和`struct zone`,以及迁移类型`migratetype`和区域请求标志`__GFP区域请求标志`。此外,文章还分析了fallbacks机制和`pageblock_order`的定义。最后,文章通过分析`mm_init`函数和`memblock_free_all`函数,揭示了伙伴系统初始化的详细过程,包括释放未使用的内存、重置zone的`managed_pages`、将内存块添加到伙伴系统等操作。

    [linux内存管理] 第017篇 zonelist的初始化 2025-01-06 评论 林渡
      Linux内存管理
      zonelist
    [linux内存管理] 第017篇 zonelist的初始化

    本文主要分析了Linux内核中zonelist的初始化过程。首先介绍了两个关键数据结构:`pglist_data`和`zonelist`,其中`pglist_data`包含了一个`node_zonelists`数组,用于管理内存节点的zone信息;`zonelist`结构体则包含了一个`zoneref`数组,用于描述一个node的各个zone的信息。接着详细阐述了zonelist的初始化过程,包括`build_all_zonelists`、`build_zonelists`和`build_zonerefs_node`三个关键函数。最后,总结了zonelist的初始化过程,并附上了初始化过程的示意图。

    1 … 13 14 15 … 20
  • 简述
    在万物之间穿行,也在自我之间渡过。
    liuqi20328@gmail.com
    生涯
  • 行业嵌入式
  • 职业Linux/Android内核工程师
  • 人生
  • 生活角色浪子、父母的娃、我夫人的老公
  • 社会角色公司职员、中华人民共和国公民
  • 类型
  • 星座 ♊双子座
  • 生肖 🐖猪
  • 血型O
  • 数据
  • 发表文章200篇
  • 发表评论82个
  • 星球加热89970度
  • 最近的心情能量
      愉快 沮丧
    • 😐 不喜不悲 ,当时发表在「[Android稳定性] 第023篇 [问题篇] printk非空的非法指针参数导致的spinlock死锁引起Non Secure WDT」
    • 😐 不喜不悲 ,当时发表在「[Android稳定性] 第022篇 [原理篇] kernel panic的死亡信息的由来」
    • 😶 没有心情 ,当时发表在「[Android稳定性] 第021篇 [问题篇] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted」
    • 😐 不喜不悲 ,当时发表在「[Android稳定性] 第020篇 [方法篇] crash实战:手把手教你使用crash分析内核dump」
    • 😐 不喜不悲 ,当时发表在「[Android稳定性] 第018篇 [问题篇] 串口日志未关闭导致的watchdog」
  • 地图数据来源于高德地图
  • intj 建筑师
    intj 建筑师
    • 外向内向
    • 远见现实
    • 理性感受
    • 评判展望
    • 坚决起伏
  • 了解更多信息
今天是云栖梦泽·

2024-11-11

随机阅读「[Android稳定性] 第036篇 [原理篇] 理解中断上下文、进程上下文以及进程调度之间的关系」
阅读 本文深入探讨了进程上下文、中断上下文以及 Linux 进程调度器(如 CFS)的概念和关联性。进程上下文是内核代码为特定进程执行任务的环境,能被调度、休眠和参与 CFS 调度。中断上下文是内核响应中断时运行的代码环境,不能睡眠,且不直接参与调度。SoftIRQ 和 Tasklet 作为中间层,处理中断后的任务。三者之间的关联性体现在中断上下文可以触发调度事件,而进程上下文可以主动调用调度器。文中还列举了在中断上下文中不能调用的函数或行为,并强调了中断上下文中禁止使用可能引起睡眠或阻塞的函数,以避免系统问题。
壹行随十人
  • 秘柯絮语
  • iSeekLife
  • 世上云川 - 若有韶月熹微·愿作流萤徂岁
  • 且听书吟 - 诗与梦想的远方
  • 菲兹克斯喵
  • 博客集市
  • 南方嘉木
  • 谜叶象限 - 每一片叶子,都是未完成的坐标系
  • 问心斋
  • 山海寻川
云栖梦泽版权所有 · 架构于Halo及为您增强体验的THYUU/星度主题
苏ICP备2025185582号-1 苏ICP备2025185582号-1 苏公网安备32060102321049号 苏公网安备32060102321049号 BlogsClub BlogsClub 笔墨迹 笔墨迹