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

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

  • 林渡 6日前前留言 @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
101717° 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款,以后可以下班送外卖了 - 。 -

    • 查看更多瞬间动态
  • 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关键步骤。文章还提供了相关的脚本和命令,并展示了预期解析结果。该方法也适用于其他高通平台项目。

    [Android稳定性] 第051篇 [原理篇] 从timer角度学习高通平台的watchdog 2025-06-25 1 条 林渡
      Android稳定性
      watchdogsoft lockuphrtimertimer_list
    [Android稳定性] 第051篇 [原理篇] 从timer角度学习高通平台的watchdog

    本文主要介绍了Linux内核中的定时器机制,包括低精度定时器timer_list和高精度定时器hrtimer,以及它们在watchdog timer中的应用。文章首先介绍了timer_list的实现机制、核心数据结构和API,并通过一个简单的示例展示了其使用方法。接着,文章深入剖析了hrtimer的实现机制、核心数据结构和API,并给出了一个hrtimer定时器的示例驱动。随后,文章着重介绍了watchdog timer的使用,包括其初始化、喂狗线程函数和suspend/wakeup处理。此外,文章还介绍了基于软件的软看门狗机制,包括其基本原理、核心组件、检测流程和内核中的主要实现。最后,文章总结了watchdog timer的debug方法和技巧,并提供了一些常用的内核参数用于调试。

    [Android稳定性] 第050篇 [问题篇] slab内存泄露造成设备黑屏 2025-06-19 评论 林渡
      Android稳定性
      slabslabtrace
    [Android稳定性] 第050篇 [问题篇] slab内存泄露造成设备黑屏

    本文描述了在测试手机经过长期智能充电后,出现卡顿和黑屏的问题现象。复现步骤包括设置手机时间和电池温度,并使用QC3.0充电器进行充电。预期结果是系统界面流畅,但实际结果是系统界面卡死和黑屏。通过分析内存信息和slab信息,发现内存不足和slab内存泄露问题。通过slabtrace分析,确定问题根源在于charger模块中的一些函数调用导致了内存泄露。解决方案是在申请内存前,先判断是否已经申请过,以避免重复申请。

    [linux内存管理] 第027篇 Linux ARM64 虚拟地址布局 2025-06-18 1 条 林渡
      Linux内存管理
      arm64虚拟地址
    [linux内存管理] 第027篇 Linux ARM64 虚拟地址布局

    本文讨论了ARM64架构下Linux内核的虚拟地址布局。文章指出,尽管ARM64地址宽度为64位,但最大支持的物理地址为48位,即256T。虚拟地址宽度可以选择36位、39位、42位、47位、48位或52位,以39位为例,用户空间和内核空间大小均为512G。文章还详细介绍了内核虚拟地址空间分布,包括线性映射区域、模块区域、内核镜像区域、VMEMMAP区域、PCI I/O区域、固定映射区域等。最后,文章解释了线性空间下移的原因,并展示了虚拟地址空间总体分布图。

    [linux内存管理] 第026篇 从内核源码看 slab 内存池的创建初始化流程 2025-06-18 评论 林渡
      Linux内存管理
      slab
    [linux内存管理] 第026篇 从内核源码看 slab 内存池的创建初始化流程

    本文详细介绍了Linux内核中slab内存池的创建过程,从源码层面解释了slab cache的架构设计和实现。文章首先介绍了slab cache的创建接口函数kmem_cache_create,并解释了其参数与slab cache结构体属性的对应关系。接着,文章深入分析了slab cache创建的详细流程,包括获取锁、参数校验、查找可复用的slab cache、计算slab对象的内存布局、初始化slab cache的重要属性、创建本地cpu缓存和NUMA节点缓存等步骤。此外,文章还介绍了slab allocator体系的初始化过程,解释了如何解决先有鸡还是先有蛋的问题,并详细说明了slab对象的内存布局和计算slab所需物理内存页个数的逻辑。最后,文章总结了slab cache的创建流程和架构,并展望了后续对slab内存池内存分配的深入探讨。

    1 … 8 9 10 … 20
  • 简述
    在万物之间穿行,也在自我之间渡过。
    liuqi20328@gmail.com
    生涯
  • 行业嵌入式
  • 职业Linux/Android内核工程师
  • 人生
  • 生活角色浪子、父母的娃、我夫人的老公
  • 社会角色公司职员、中华人民共和国公民
  • 类型
  • 星座 ♊双子座
  • 生肖 🐖猪
  • 血型O
  • 数据
  • 发表文章200篇
  • 发表评论82个
  • 星球加热89941度
  • 最近的心情能量
      愉快 沮丧
    • 😐 不喜不悲 ,当时发表在「ONEMORE开源软件插件开发指南」
    • 😁 非常愉快 ,当时发表在「高通以及MTK平台内核单独编译ko的原理」
    • 😐 不喜不悲 ,当时发表在「[Linux进程调度] 第001篇 一篇文章全面了解Linux进程调度」
    • 😶 没有心情 ,当时发表在「任务调度器:从入门到放弃(二)」
    • 😶 没有心情 ,当时发表在「从泡泡马特看“消费”」
  • 地图数据来源于高德地图
  • intj 建筑师
    intj 建筑师
    • 外向内向
    • 远见现实
    • 理性感受
    • 评判展望
    • 坚决起伏
  • 了解更多信息
今天是云栖梦泽·

2024-11-11

随机阅读「[linux内存管理] 第032篇 使用trace32分析slab cache」
阅读 以实际dump为例,文章用trace32深入解析了Linux slab cache的内部逻辑,带你逐层解读kmalloc-64实例中的数据结构,从kmalloc_caches和kmem_cache到per-CPU区与节点node的内存组织和管理特性。
壹行随十人
  • 且听书吟 - 诗与梦想的远方
  • 风记星辰
  • 博客集市
  • iSeekLife
  • 迷鹿屋
  • 轻雅阁
  • 谜叶象限 - 每一片叶子,都是未完成的坐标系
  • 山海寻川
  • 山海云栈
  • 星风之痕
云栖梦泽版权所有 · 架构于Halo及为您增强体验的THYUU/星度主题
苏ICP备2025185582号-1 苏ICP备2025185582号-1 苏公网安备32060102321049号 苏公网安备32060102321049号 BlogsClub BlogsClub 笔墨迹 笔墨迹