
内存管理
chenpuo
这个作者很懒,什么都没留下…
展开
-
CMA概述
转载自http://www.cnblogs.com/alantu2018/p/8457411.html前言本文是近期学习CMA模块的一个学习笔记,方便日后遗忘的时候,回来查询以便迅速恢复上下文。学习的基本方法是这样的:一开始,我自己先提出了若干的问题,然后带着这些问题查看网上的资料,代码,最后整理形成这样以问题为导向的index,顺便也向笨叔叔致敬。笨叔叔写了一本书叫做《奔跑吧Li...转载 2018-11-16 11:30:39 · 1341 阅读 · 0 评论 -
ARMv8页表
内核页表,即是0号进程(静态宏定义创建init_task, 然后演变成idle进程, comm一直是‘swapper’)。其task_struct->mm 为空,task_struct->active_mm 为init_mm。记住内核页表是0号进程的active_mm->pgd, 不是1号init进程的。struct mm_struct init_mm =...转载 2020-02-18 19:23:47 · 949 阅读 · 0 评论 -
linux的page cache&buffer
转自https://blog.youkuaiyun.com/fall221/article/details/46290563https://blog.youkuaiyun.com/damontive/article/details/805525661.buffer与cached 执行free命令出来的结果,包括buff和cache,实际可用的内存需要看第二行。[root@localhostchenmi...转载 2018-06-12 15:10:44 · 260 阅读 · 0 评论 -
DMA内存相关
A =dma_alloc_coherent(B,C,D,GFP_KERNEL);含义:A: 内存的虚拟起始地址,在内核要用此地址来操作所分配的内存B: struct device指针,可以平台初始化里指定,主要是dma_mask之类,可参考framebufferC: 实际分配大小,传入dma_map_size即可D: 返回的内存物理地址,dma就可以用。所以,A和D是一一对应的,...原创 2020-01-13 22:43:43 · 789 阅读 · 0 评论