上一页 1 2 3 4 5 6 ··· 66 下一页

2024年7月2日

内存管理-13-CMA内存-1-初探

摘要: 基于msm-5.4 关键词 cma_alloc/cma_release MIGRATE_ISOLATE MIGRATE_CMA 一、概述 1. CMA简介 CMA(Contiguous Memory Alloctor)主要用于分配大块连续的物理内存。伙伴系统能分配的最大连续物理内存块是2^10,即一 阅读全文

posted @ 2024-07-02 21:00 Hello-World3 阅读(8) 评论(0) 推荐(0) 编辑

内存管理-11-buddy伙伴子系统-2-Per-CPU页帧缓存

摘要: 基于msm-5.4 一、概述 1. 实现背景 buddy子系统管理的物理页面,绝大多数都是放在 zone::free_area[] 中的链表中,少部分放在 zone::lowmem_reserve[] 中。还有少量页面放在zone::__percpu pageset 这个每CPU变量中,每种迁移类型 阅读全文

posted @ 2024-07-02 14:43 Hello-World3 阅读(2) 评论(0) 推荐(0) 编辑

内存管理-11-buddy伙伴子系统-1-初探

摘要: 基于msm-5.4 一、伙伴系统概述 1. 简介 伙伴系统是物理内存的三大管理机制之一,另外两个是slab缓存和per-cpu页帧缓存。##### 管理物理内存实际上就是管理 page 结构,将page添加到不同链表上进行管理。当用户申请内存的时候,从链表上拿一个page返还给用户,然后用户根据pa 阅读全文

posted @ 2024-07-02 14:40 Hello-World3 阅读(3) 评论(0) 推荐(0) 编辑

2024年7月1日

内存管理-0-开篇

摘要: 一、什么是内存管理 1. 基础内存管理可以大致分为5块 (1) 物理内存管理 node、zone、page、buddy-system、slab (2) 虚拟内存管理 虚拟内存分用户空间和内核空间,用户空间又分为很多段(代码段、数据段、栈、堆、mmap映射区、动态共享库等等); 内核空间也是分为很多区 阅读全文

posted @ 2024-07-01 16:24 Hello-World3 阅读(2) 评论(0) 推荐(0) 编辑

内存管理-9-内存常用宏函数

摘要: 基于msm-5.4 一、常用宏函数 1. 页与页帧号转换 //include/asm-generic/memory_model.h #define pfn_to_page(pfn) (vmemmap + (pfn)) #define page_to_pfn(page) (unsigned long) 阅读全文

posted @ 2024-07-01 16:08 Hello-World3 阅读(4) 评论(0) 推荐(0) 编辑

2024年6月28日

内存管理-8-内存常用宏和全局变量

摘要: 基于msm-5.4 一、常用宏 1. PAGE_OFFSET 线性映射的起始虚拟地址,TTBR1 地址空间的开始。默认是 0xffffff8000000000 //arch/arm64/include/asm/memory.h#define PAGE_OFFSET (_PAGE_OFFSET(VA_ 阅读全文

posted @ 2024-06-28 00:47 Hello-World3 阅读(9) 评论(0) 推荐(0) 编辑

2024年6月24日

Linux设备树(5)—实现

摘要: 一、DeviceTree简介 1. 将内核当做一个黑盒,那么其输入参数应该包括: (1) 识别platform的信息(2) runtime的配置参数(3) 设备的拓扑结构以及特性 对于嵌入式系统,在系统启动阶段,bootloader会加载内核并将控制权转交给内核,此外,还需要把上述的三个参数信息传递 阅读全文

posted @ 2024-06-24 18:39 Hello-World3 阅读(12) 评论(0) 推荐(0) 编辑

2024年6月19日

内存管理-6-虚拟内存相关结构体

摘要: 基于msm-5.4 一、struct mm_struct 1. 简介 内嵌在 task_struct 结构中,表示一个进程虚拟地址空间。 2. 成员介绍 //include/linux/mm_types.h struct mm_struct { struct { struct vm_area_str 阅读全文

posted @ 2024-06-19 16:15 Hello-World3 阅读(6) 评论(0) 推荐(0) 编辑

2024年6月18日

内存管理-5-物理内存管理-1-相关结构体

摘要: 基于msm-5.4 概述: 物理内存组织关系如下图。非服务器的设备,一般只有一个内存node节点,使用 pglst_data 结构描述;一个内存节点下有较多分区,使用 zone 结构描述;每个分区中有不同大小的空闲内存块,通过 free_area 结构进行描述;物理内存管理的最小单位使用 page 阅读全文

posted @ 2024-06-18 21:41 Hello-World3 阅读(6) 评论(0) 推荐(0) 编辑

调度器68—EEVDF调度器

摘要: 一、EEVDF调度器简介 EEVDF(Earliest Eligible Virtual Deadline First) 最早符合条件的虚拟截止日期优先。由Peter Zijlstra提交,最早合入到Linux6.6,在Linux6.10上完成功能,计划用于改进现有的CFS调度器。 EEVDF是一种 阅读全文

posted @ 2024-06-18 10:41 Hello-World3 阅读(96) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 66 下一页

导航