1 2 3 4 5 ··· 72 下一页

2026年4月2日

内存管理-5-物理内存数据结构-4-struct address_space

摘要: 基于msm-5.4 一、简介 在 Linux 内存管理里,struct address_space 可以理解为“一个可缓存、可映射对象在内核中的内存视图描述符”。 最常见的对象是文件 inode,对应 inode.i_mapping。它把这几个关键维度绑在一起:(1) 页缓存管理(哪些页在 page 阅读全文

posted @ 2026-04-02 17:27 Hello-World3 阅读(3) 评论(0) 推荐(0)

内存管理-5-物理内存数据结构-3-struct page

摘要: 基于msm-5.4 一、struct page简介 物理页帧,系统中的每个物理页面都有一个与之关联的 struct page,用于跟踪我们当前正在使用该页面的用途。请注意,我们无法跟踪哪些任务正在使用页面,但如果它是页面缓存页面,rmap 结构可以告诉我们谁在映射它。 如果您使用 alloc_pag 阅读全文

posted @ 2026-04-02 10:41 Hello-World3 阅读(4) 评论(0) 推荐(0)

内存管理-5-物理内存数据结构-2-struct zone

摘要: 基于msm-5.4 一、struct zone简介 描述一个内存区。内存可以按照不同的用途与类型划分为不同的区域,zone结构表示内存区域,系统存在的zone见 enum zone_type 成员。 ZONE_DMA: 表示这片区域用于DMA,一般是给x86使用的,64位上将其取消掉了,arm系统上 阅读全文

posted @ 2026-04-02 10:34 Hello-World3 阅读(3) 评论(0) 推荐(0)

2026年4月1日

内存管理-61-内存回收-1-理论学习

摘要: 申请分配页的时候,页分配器首先尝试使用低水线分配页。如果使用低线分配失败,说明内存轻微不足,页分配器将会唤醒每内存节点的页回收内核线程(kswapd)异步回收页,然后尝试使用最低水线分配页。如果使用最低水线分配失败,说明内在严重不足,页分配器将会直接回收页。 物理页根据是否有存储设备支持分为两类。 阅读全文

posted @ 2026-04-01 17:35 Hello-World3 阅读(5) 评论(0) 推荐(0)

2026年3月31日

内存管理-43-Swap-1-命令行工具实现

摘要: 一、mkswap 基于 A13 + msm-5.4 1. 简介 源码位置: /android/external/toybox/toys/other/mkswap.c 该命令对要成为swap后端的设备的首页写一些格式化的内容(也就意味着用于swap的少一页),没有调用swap相关系统调用。 使用: / 阅读全文

posted @ 2026-03-31 11:29 Hello-World3 阅读(1) 评论(0) 推荐(0)

2026年3月30日

内存管理-45-zram/swap-3-chatGPT

摘要: 一、Android中内存Swap交换是如何实现的? Android 里的 Swap 本质是 Linux 内核虚拟内存机制,但实现上和桌面 Linux 最大区别是:主力后端通常是 zram(压缩内存),不是磁盘分区。 1. 整体链路 (1) 进程申请匿名页(heap/stack/mmap anon)( 阅读全文

posted @ 2026-03-30 14:13 Hello-World3 阅读(18) 评论(0) 推荐(0)

2026年3月28日

内存管理-61-内存压缩-1-理论

摘要: 一、压缩算法 页面可以被压缩,是因为程序内存中存在大量重复字节、对齐填充、文本规律、结构冗余等,这些冗余被压缩算法(如 lz4/zstd)识别并用短编码替代;不可压缩的页是那些字节分布接近随机的页(加密数据、压缩流等),它们在 zram 中会以原始尺寸存储。 以 zram 常用算法为例(lz4/lz 阅读全文

posted @ 2026-03-28 12:13 Hello-World3 阅读(8) 评论(0) 推荐(0)

内存管理-60-zsmalloc-1-理论

摘要: 一、mm/zsmalloc.c 文件的作用 mm/zsmalloc.c 是 Linux 内核里 zsmalloc 分配器 的实现文件,主要作用是给 zram/zswap 这类“压缩后小对象”场景提供高效内存分配。一句话总结:它不是通用 kmalloc 替代品,而是专门为“可变长度压缩块”设计的内存池 阅读全文

posted @ 2026-03-28 11:46 Hello-World3 阅读(5) 评论(0) 推荐(0)

2026年3月27日

内存管理-59-内存管理相关锁

摘要: 1. p->alloc_lock spinlock_t 类型。 保护 ->fs、->files、->mm、->group_info、->comm 和密钥环订阅,并与 wait4() 同步。也用于 procfs。同时锁定 task.io_context 的最终版本。同时保护 ->cpuset 和 -> 阅读全文

posted @ 2026-03-27 17:08 Hello-World3 阅读(3) 评论(0) 推荐(0)

2026年3月19日

OPP-1-文档翻译-opp.rst

摘要: 一、opp.rst 注: 本文翻译自 msm-5.4/Documentation/power/opp.rst 运行性能点 (OPP) 库 (C) 2009-2010 Nishanth Menon <nm@ti.com>,德州仪器公司 目录1. 引言2. OPP 列表初始注册3. OPP 搜索功能4. 阅读全文

posted @ 2026-03-19 18:28 Hello-World3 阅读(4) 评论(0) 推荐(0)

1 2 3 4 5 ··· 72 下一页

导航